ecosys epc system admin topics release 7.6.04 topics for ... · ecosys epc system admin topics,...

45
EcoSys EPC System Admin Topics, Release 7.6.04 Page 1 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights Reserved. Confidential and Proprietary Information. EcoSys EPC System Admin Topics Release 7.6.04 Topics for EPC Software configuration on Supported Platforms Document Purpose This document describes steps for performing various configuration tasks for the EcoSys EPC software. The intended audience for this guide is: systems administrators, database administrators, application administrators, and advanced application users responsible for functional configuration. Table of Contents Using LDAP Authentication .......................................................................................................................................... 2 Using SAML Authentication ......................................................................................................................................... 4 Command Line Batch Jobs ......................................................................................................................................... 20 System Maintenance, Backups, and Migration .......................................................................................................... 25 Troubleshooting and Technical Support .................................................................................................................... 26 Performance considerations ...................................................................................................................................... 27 Updating EPC Database Statistics .............................................................................................................................. 29 Anti-Virus Exclusions ................................................................................................................................................. 31 Configuring Portlets for Primavera Web .................................................................................................................... 31 Oracle 11.2.0.1 Compatibility .................................................................................................................................... 33 Encrypting Integration and database credentials....................................................................................................... 34 Configuring Email Notifications ................................................................................................................................. 35 Direct Category.......................................................................................................................................................... 36 Custom Time Period .................................................................................................................................................. 36

Upload: others

Post on 16-Jul-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 1 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604

Topics for EPC Software configuration on Supported Platforms Document Purpose This document describes steps for performing various configuration tasks for the EcoSys EPC software The intended audience for this guide is systems administrators database administrators application administrators and advanced application users responsible for functional configuration

Table of Contents

Using LDAP Authentication 2

Using SAML Authentication 4

Command Line Batch Jobs 20

System Maintenance Backups and Migration 25

Troubleshooting and Technical Support 26

Performance considerations 27

Updating EPC Database Statistics 29

Anti-Virus Exclusions 31

Configuring Portlets for Primavera Web 31

Oracle 11201 Compatibility 33

Encrypting Integration and database credentials 34

Configuring Email Notifications 35

Direct Category 36

Custom Time Period 36

EcoSys EPC System Admin Topics Release 7604 Page 2 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Application Server Clustering 37

EPC Log Analysis from Command Line 41

Configuring Email Interfaces for EcoSys EPC 42 Summary 42 Workflow Messaging 43 Outbound (SMTP) Email Settings and Troubleshooting 43 Inbound (POP3) Email Settings and Troubleshooting 44 Email Workflow Functionality and Components 45

Using LDAP Authentication Overview EcoSys EPC supports three methods for authenticating application users ndash

1 native where passwords are stored in the EcoSys EPC ldquoESFMrdquo database

2 LDAP where passwords are validated via an external LDAP server

3 custom where users are authenticated by an external authentication system

The authentication mode for users in EcoSys EPC is configured on a per-user basis so some users may use the native mode another subset may use LDAP and yet others might use custom Only authentication is supported currently not any authorization (security groups) or user data synchronization Currently only Microsoftrsquos Active Directory LDAP server is supported Follow these steps to configure EcoSys EPC to authenticate via LDAP 1 Configuring LDAP Settings

1 Log on to EcoSys EPC as an admin super user and navigate to System Administration gt

Application Settings gt LDAP Settings 2 Enter the values in the top part of the screen to match your local LDAP serverrsquos settings

You can follow the examples on the screen Typical settings look like this

providerurl = ldapservermydomaincom389

servertype = ActiveDirectory

domain = mydomaincom

context = dc=mydomaindc=com

search = dc=mydomaindc=com

pattern = (amp(objectClass=user)(sAMAccountName=s))

usessl = N

3 Click ldquoSaverdquo to save the settings 4 Test the settings by entering a valid username and password in the lower section of the

screen and click ldquoTest Authenticationrdquo If the settings and credentials are correct you should see a success message If not note the error message and troubleshoot the connection accordingly

2 Configuring LDAP to Use SSL (Optional)

EcoSys EPC System Admin Topics Release 7604 Page 3 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

If you prefer that the EcoSys EPC server communicate with your LDAP server via SSL follow the steps below to configure SSL communication Note that without SSL the userrsquos credentials pass over the network between the servers in cleartext and could be captured by anyone with access to that network In order to use SSL you must first configure your LDAP server to support SSL For Microsoftrsquos Active Directory server please contact your Windows server administrator You may refer to the following links for reference EcoSys does not support these steps directly as they fall in the domain of the Active Directory administrator

httptechnet2microsoftcomwindowsserver2008enlibrary2f5d0612-75f9-4883-bf52-d11c7cda907f1033mspxmfr=true httpwwwitnorthwesternedubindocsenablingldapsondomaincontrollerpdf

Once the certificates have been configured on the LDAP server you need to import them into the Java keystore on your Java application server where EcoSys EPC is installed Follow the steps below to import the keys

1 On your LDAP server locate the SSL certificate and copy it to the Java application server Typically this resides in C and is called something like myserver-domaincer

2 On your Java application server locate the Java keystore Typically this resides under the directory where your JDK is installed and resides in a subfolderfile called libsecuritycacerts

3 On your Java application server using a command prompt import the SSL certificate into the Java keystore (as all one line) If you are using a Unix or Linux server adjust the command accordingly

keytoolbat -import -alias MyServer -keystore cacerts -storepass changeit -file

myserver-domaincer

The default keystore password for Java is ldquochangeitrdquo If you wish to use an alternate keystore location or password yoursquoll need to add the following options to the command -DjavaxnetssltrustStore=JRE Locationlibsecuritycacerts

-DjavaxnetsslkeyStore=JRE Locationlibsecuritykeystore

-DjavaxnetsslkeyStorePassword=your_new_password

4 If you have used a non-default keystore location or password you will need to add those

parameters above to your Java application serverrsquos startup command as well Refer to the documentation on configuring your specific Java application server for how to configure these runtime parameters If instead you use the default values Java should find the keystore automatically

5 Next you should adjust the settings in EcoSys EPC System Administration gt Application Settings gt LDAP Settings Change the ldquoProvider URLrdquo to use port 636 instead of 389 and protocol ldquoldapsrdquo instead of ldquoldaprdquo Also change the ldquoUse SSLrdquo value to be ldquoYrdquo Save the settings and test authentication with a sample user

3 Configuring Users to Authenticate Via LDAP

1 In EcoSys EPC navigate to System Administration gt Users and Security 2 Create a user that you wish to use LDAP authentication Note that the ldquoUser Namerdquo field

must match exactly the account name in your LDAP server

EcoSys EPC System Admin Topics Release 7604 Page 4 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

3 Set the userrsquos Authentication Mode to be ldquoLDAPrdquo instead of ldquoNativerdquo This means the native password field is not used for this user

4 Subsequent logons for this user will use the LDAP server settings to authenticate this userrsquos password against your LDAP server If the LDAP user is expired disabled or if the LDAP server is not available the userrsquos logon will be rejected

4 Troubleshooting LDAP

When a user configured for LDAP attempts to log on to EcoSys EPC their logon will be rejected if they are not able to authenticate to LDAP for any reason including LDAP account expired LDAP password expired or invalid LDAP password

If the LDAP server is not available when an LDAP user attempts to log on the user will see a special error message indicating that there may be a problem with communication to the LDAP server

To troubleshoot LDAP connections and settings use the System Administration gt Application Settings gt LDAP Settings page and the test section and the bottom of the screen Detailed error messages are displayed on that screen as well as in the application log file

Using SAML Authentication Overview EcoSys EPC supports three methods for authenticating application users ndash

1 native where passwords are stored in the EcoSys EPC ldquoESFMrdquo database

2 LDAP where passwords are validated via an external LDAP server

3 custom where users are authenticated by an external authentication system

The authentication mode for users in EcoSys EPC is configured on a per-user basis so some users may use the native mode others might use LDAP and yet others might use custom Only authentication is supported currently not any authorization (security groups) or user data synchronization Security Assertion Markup Language (SAML) is a protocol that facilitates the authentication of custom users In SAML terminology EcoSys EPC fulfills the role of a Service Provider (SP - the specific use case it intends to fulfill is that of the Service Provider initiated Single Sign On (SP initiated SSO) [httpdocsoasis-openorgsecuritysamlPost20sstc-saml-tech-overview-20-cd-02html512SP-Initiated SSO RedirectPOST Bindings|outline] EcoSys EPC supports the following two SAML profiles ndash

1 Web Browser SSO Profile [httpdocsoasis-openorgsecuritysamlPost20sstc-saml-tech-overview-20-cd-02html51Web Browser SSO

Profile|outline]

2 Single Logout Profile [httpdocsoasis-openorgsecuritysamlPost20sstc-saml-tech-overview-20-cd-02html53Single Logout Profile|outline]

Both these profiles are supported only via HTTP redirectPOST bindings SOAP bindings are currently not supported Follow these steps to configure EcoSys EPC to authenticate via SAML

EcoSys EPC System Admin Topics Release 7604 Page 5 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

1 Enable SSLHTTPS on the application server Although SAML does not stipulate SSL as a mandatory requirement most Identity Providers will not trust a Service Provider that uses insecure (http) endpoints Enable SSLHTTPS on your application server so that EcoSys EPC can be accessed securely at httpsmyserverportecosys Please refer to your application serverrsquos documentation for more information on how to do this If SSLHTTPS is being enabled through a reverse proxy arrangement ensure that the web server is aware of the proxy so that URLs can be constructed correctly Again please refer to your application serverrsquos documentation for more information on how to do this 2 Enable SAML Authentication Add the following entry to ESFM_HOMEFMServerSettingsproperties ndash

serverauthenticationsamlenabled=true

3 Configure EPC as a SAML Service Provider If you were to restart the application (on the server) at this point and visit httpsmyserverportecosys you would see the following message ndash

This is because EcoSys EPC still needs to be configured as a Service Provider Since this configuration is performed through the web app (httpsmyserverportecosys) an additional server setting needs to be enabled so that an accidental enabling of SAML does not permit end users to configure SAML related settings

1 Add the following entry to ESFM_HOMEFMServerSettingsproperties ndash

serverauthenticationsamlconfigurationallowed=true

2 Restart the application on the server

3 Go to httpsmyserverportecosys You should see the following page Before continuing ensure that you have the following ndash

i the Identity Providerrsquos (IdP) metadata file (XML file) If using Microsoft ADFS as the IdP you may have to make a minor correction to the metadata file See 104 (Known issuesCommon pitfalls)

ii the private key that EcoSys EPC will use to sign SAML requests and responses (PKCS12 file or a Java keystore)

iii the PKCS12 fileJava keystore password

EcoSys EPC System Admin Topics Release 7604 Page 6 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Ensure that the URLs you see on this page all begin with https ndash if that is not the case go back to step 1

4 Under the lsquoIdentity Provider (IdP) metadatarsquo section use the lsquoChoose Filersquo button to upload the IdPrsquos metadata file Ecosys EPC will use this file to automatically configure the external authentication systemidentity provider

5 Under the lsquoConfiguration and metadata for this Service Providerrsquo section ndash i Use the lsquoChoose Filersquo button to upload a private key SAML participants must digitally

sign both their requests and responses since the trust relationship between the IdP and the SP relies upon each party being able to verify the otherrsquos identity ndash Ecosys EPC will use this file to sign requests and responses

ii Enter the private keyrsquos password iii Enter details for the organization name URL and the contact address

6 Click lsquoConfigure SAML SPrsquo You should see the following page if everything was configured

without error -

EcoSys EPC System Admin Topics Release 7604 Page 7 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

The configuration is written to ESFM_HOMESAML on the server

Note that if EcoSys EPC has been configured to run in clustered mode the above

configuration must be performed on each servermember of the cluster For example if you

were running a two node cluster in step 3 above ndash

First go to httpsclusterserverAportecosys to configure serverA of the cluster

Then repeat the process for server by going to httpsclusterserverBportecosys

4 Configure the application serverrsquos Java VM to use unlimited strength cryptography Ensure that the application serverrsquos Java VM is configured to use unlimited encryption strength algorithms Please use the following links to download and install the required policy files for your Java VM

Java 8 [httpwwworaclecomtechnetworkjavajavasedownloadsjce8-download-2133166html]

Java 7 [httpwwworaclecomtechnetworkjavajavasedownloadsjce-7-download-432124html]

Policy files are usually delivered as a zip file and contain the following two files ndash

1 local_policyjar 2 US_export_policyjar

Use these two files to replace the ones with the same names in the lsquojrelibsecurityrsquo folder of your Java installation 5 Restart the application server Restart the application server ndash note that simply restarting the web app is not sufficient 6 Configure the Identity Provider (Microsoft ADFS) The ESFM_HOMESAML folder on the server has the following structure ndash

EcoSys EPC System Admin Topics Release 7604 Page 8 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

The lsquometadataSPrsquo sub-folder contains a file called lsquoSPMetadataxmlrsquo - this is the SAML Service Providerrsquos (EPCrsquos) metadata file and should be used to configure the necessary lsquotrust relationshiprsquo on the IdP Please consult your IdPrsquos documentation for information on how to do this Note that the EcoSys EPC SP only supports the SHA-1 signature hash algorithm If your IdP is Microsoft ADFS use the following steps to configure the trust relationship ndash

1 Launch the lsquoADFS Managementrsquo application on your IdP

2 In the left-most panel Expand lsquoTrust Relationshipsrsquo and click on lsquoRelying Party Trustsrsquo

3 In the right-most panel under lsquoActionsrsquo click lsquoAdd Relying Party Trustrsquo

EcoSys EPC System Admin Topics Release 7604 Page 9 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

4 Click Start to begin the process

5 Choose the option to import data from file and select the lsquoSPMetadataxmlrsquo from the

ESFM_HOMESAMLmetadataSP folder on the application server You may have to map this

location to the ADFS server or copy the file to a network share or to the IdP

EcoSys EPC System Admin Topics Release 7604 Page 10 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Continue through the screens making sure that you see four endpoints on the lsquoReady to

Add Trustrsquo screen On the last screen (lsquoFinishrsquo) uncheck the option to

EcoSys EPC System Admin Topics Release 7604 Page 11 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 12 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

7 Once the relying party has been created right click on its entry and choose lsquoEdit Propertiesrsquo

EcoSys EPC System Admin Topics Release 7604 Page 13 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

8 On the lsquoAdvancedrsquo tab select SHA-1 as the hash algorithm and click OK Note that SHA-

256 is not supported

9 Right click on the relying party entry again but this time choose lsquoEdit Claim Rulesrsquo

10 The following steps may not necessarily be the way you want to set up your claim rules

This example shows a two rule scenario where the first rule extracts the UPN from the

EcoSys EPC System Admin Topics Release 7604 Page 14 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Active Directory and the second transforms that UPN into the X509 Subject Name (of the

form usernamedomainsuffix)

EcoSys EPC System Admin Topics Release 7604 Page 15 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 16 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 17 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

This completes configuration on the ADFS server It has been set up in such a manner that when someone tries to access EcoSys EPC ndash

i she will be redirected to the ADFS server for authentication

ii if authentication is successful ADFS will send the user details in the form

usernamedomainsuffix back to EcoSys EPC

7 Configuring Users to Authenticate Via SAML Users authenticated by the IdP need to be further authorized in EcoSys EPC This means that in the scenario described above in step 6 where the IdP sends the user details in the form usernamedomainsuffix ndash

a user with the same login ID must exist within EcoSys EPC

the userrsquos authentication mode must be configured as custom

Follow these steps to import user details from your IdP to EcoSys EPC ndash

1 Create a new spreadsheet by selecting lsquoUserrsquo as the subject area

2 Add the following columns to it ndash

i Authentication Mode (use default value lsquoCustomrsquo)

ii First Name

iii Last Name

iv Login Name

v Main Menu (Name) (either use a default value or specify one)

vi License (use an appropriate default value)

EcoSys EPC System Admin Topics Release 7604 Page 18 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

3 Export user details from the IdP preferably in Excel format containing at least the First

Name Last Name and the Login Name (usernamesuffixcom in this example)

4 Import the Excel file into the spreadsheet created in step 1

You may need to configure security groups for these newly imported users 8 Troubleshooting SAML If the SAML exchange between EcoSys EPC and the IdP were to fail for any reason you will see an error page that looks like the following ndash

The EcoSys EPC SP produces two log files in the ESFM_HOMESAMLlogs folder on the server ndash

oiosaml-splog ndash this logs requests handled by the SP

oiosaml-sp-auditlog ndash this logs exchanges between the SP and the IdP

To configure the SPrsquos logging level edit the file ESFM_HOMESAMLoiosaml-splog4jxml The default log level for both these log files is set to ERROR which means that only error events are logged to them To see more detail in these log files set the log level to DEBUG as suggested in the lsquooiosaml-splog4jxmlrsquo file ndash ltparam name=Threshold value=ERROR gt lt-- change this to DEBUG when you want to debug

authentication issues --gt

The application will need to be restarted for the new logging level to take effect If you need to verify how SAML has been configured use the System Configuration utility and search for the term lsquosamlrsquo You should see the following ndash

EcoSys EPC System Admin Topics Release 7604 Page 19 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

9 Native user support (in SAML mode) When SAML has been enabled accessing EcoSys EPC via httpsmyservernameportecosys will always redirect you to the IdP authentication portal If you wish to login as a native user access EcoSys EPC using the URL httpsmyservernameportecosyslogin_native 10 Known issuesCommon pitfalls

1 If SSLHTTPS is being enabled through a reverse proxy arrangement ensure that the web

server is aware of the proxy so that URLs can be constructed correctly (see step 1)

2 Ensure that the application serverrsquos Java VM is configured to use unlimited encryption

strength algorithms (see step 4)

3 Ensure that the EcoSys EPC is set up to use SHA-1 hashing on your IdP (see step 6)

4 If your IdP both signs and encrypts assertions ensure that the lsquosigning signaturersquo comes

before the lsquoencryption signaturersquo in the metadata file

ESFM_HOMESAMLmetadataIdPIdPMetadataxml Restart the application if you have to make

this change The XML should be as follows in this case ndash

ltEntityDescriptorgt

hellip

ltIDPSSODescriptorgt

ltKeyDescriptor use=signinggt hellip ltKeyDescriptorgt

ltKeyDescriptor use=encryptiongt hellip ltKeyDescriptorgt

hellip

ltIDPSSODescriptorgt

hellip

ltEntityDescriptorgt

5 If your IdP uses self-signed certificates enable(uncomment) the following property in the file

ESFM_HOMESAMLoiosaml-spproperties and restart the application -

EcoSys EPC System Admin Topics Release 7604 Page 20 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

oiosaml-spcrlperiod=0

6 When you logout of EcoSys EPC (as a SAML user) you are typically taken to the IdPrsquos

authentication page If yoursquod like to be redirected to a different site instead

enable(uncomment) the following property in the file ESFM_HOMESAMLoiosaml-

spproperties and restart the application -

oiosaml-splogoutredirecturl=httpredirecturl

Command Line Batch Jobs Overview Some data import and processing jobs can be scheduled to run outside of the Java application server This is useful for long-running jobs that need to recur on a regular schedule for example importing forecasts from Primavera each week You should work with your implementation team to determine whether batch jobs need to be configured and if so what their parameters and schedules should be Note Details on the import file format for XML-based external system imports can be found in the EcoSys EPC Integration Guide Follow these steps to configure a command line batch script and job The batch job script can be scheduled to run using the scheduling tools native to your serverrsquos operating system For Windows you can use Control Panel gt Scheduled Tasks For Unix you can configure a cron job 1 Configuring the Files and Settings

1 Create folder for the batch job files Typically this is under your existing ESFM_HOME

folder perhaps called lsquobatchrsquo We will refer to this folder as BATCH_HOME in this section

2 Copy following the following files from ESFM_HOME to BATCH_HOME FMServerSettingsproperties log4jproperties FMLicenseproperties

3 Edit or add these entries to BATCH_HOMEFMServerSettingsproperties

fmdatasourcefactory=comecosysmgmtframeworkcontextFMPooledDataSourceFactory

connectionPoolminSize=2

connectionPoolmaxSize=20

datasourceJDBCUser=fmuser

datasourceJDBCPass=fmuser

datasourceJDBCDriver=oraclejdbcOracleDriver

datasourceJDBCConnectString=jdbcoraclethinMYSERVERHOSTNAME1521ESFM

4 Edit log4jproperties and change value of ldquolog4jappenderFILEFilerdquo to point to a location under your BATCH_HOME folder For example ldquoBatchImportlogrdquo

5 Begin with the template batch script located under batchecosys_batch_templatebat You may copy and modify this file to perform the specific batch commands you desire using the steps below

6 Build the CLASSPATH list for the job The following jar files are required for the import process Most of the files are already available in current ldquoecosysrdquo installation

EcoSys EPC System Admin Topics Release 7604 Page 21 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Location Library Files

CP6IntegrationAPIlib

All Oracle Primavera API jar (jar) files (excluding sqljdbcjar and ojdbcjar)

BATCH_HOMElib

ojdbcjar log4j-129jar commons-dbcpjar xworkjar ognljar commons-loggingjar commons-pool-13jar ecosysjar ppmapiabstractorjar FMXMLGeneratorjar

2 Exporting System Settings to XML For maximum flexibility batch jobs run with their own system settings file that is independent of the settings in the EcoSys EPC (ldquoESFMrdquo) database The settings are stored in an XML file which you need to export from the EcoSys EPC application To do this

1 Log on to EcoSys EPC as an administrative user 2 Configure the import settings as desired You do this by navigating to the ldquoIntegrationrdquo

menu then selecting each of the ldquoImporthelliprdquo menu items For each one configure the import settings as desired and click ldquoSaverdquo This saves the system settings to the database

3 Once you have configured all the import settings as desired use the ldquoSystem Administrationrdquo gt ldquo Export Application Settingsrdquo When prompted save the systemsettingsxml file locally

4 Copy the resulting systemsettingsxml file to the ldquoBATCH_HOMErdquo folder where your batch job will be run This file will be used when running batch jobs and the settings in that file will apply only to that batch job

5 When changes to the batch jobrsquos import settings are required you can either edit the systemsettingsxml file directly or follow the steps above to export a new file

3 Configuring Batch Job Logging

The settings for logging in batch jobs invoked from the command line (outside of the application GUI) can be controlled through the systemsettingsxml file specified for each batch command This gives full control over the details logged to the batch job log (visible in the application GUI) as well as the log file written when a batch job runs (These settings take the place of any properties specified in FMServerSettingsproperties)

Settings that begin with ldquoLOGGING_rdquo control the level of detail written to the log file These are primarily intended for system administrators

EcoSys EPC System Admin Topics Release 7604 Page 22 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Settings that begin with ldquoBATCH_JOB_LOGGING_rdquo control the level of detail written to the batch job log visible in the Reports gt Batch Job Log screen within the application These are intended for end users and application administrators

For each command line batch job you are using you may adjust the logging settings individually by editing the corresponding systemsettingsxml file The settings in question and their recommended default values are ltLOGGING_DEBUG_ENABLEDgtNltLOGGING_DEBUG_ENABLEDgt

ltLOGGING_XML_ENABLEDgtYltLOGGING_XML_ENABLEDgt

ltLOGGING_ERROR_ENABLEDgtYltLOGGING_ERROR_ENABLEDgt

ltLOGGING_INFO_ENABLEDgtYltLOGGING_INFO_ENABLEDgt

ltLOGGING_WARN_ENABLEDgtYltLOGGING_WARN_ENABLEDgt

ltLOGGING_USER_ACTION_ENABLEDgtYltLOGGING_USER_ACTION_ENABLEDgt

ltLOGGING_USER_ACTION_PARAMS_ENABLEDgtYltLOGGING_USER_ACTION_PARAMS_ENABLEDgt

ltLOGGING_METHOD_TRACE_ENABLEDgtNltLOGGING_METHOD_TRACE_ENABLEDgt

ltLOGGING_METHOD_PARAMS_ENABLEDgtNltLOGGING_METHOD_PARAMS_ENABLEDgt

ltLOGGING_DATABASE_QUERY_ENABLEDgtNltLOGGING_DATABASE_QUERY_ENABLEDgt

ltLOGGING_DB_QUERY_PARAMS_ENABLEDgtNltLOGGING_DB_QUERY_PARAMS_ENABLEDgt

ltLOGGING_INCLUDE_DATE_FLAGgtYltLOGGING_INCLUDE_DATE_FLAGgt

ltLOGGING_INCLUDE_TIMESTAMPgtYltLOGGING_INCLUDE_TIMESTAMPgt

ltLOGGING_INCLUDE_LOG_TYPEgtYltLOGGING_INCLUDE_LOG_TYPEgt

ltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgtYltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgt

ltLOGGING_INCLUDE_USER_IDENTIFIERgtYltLOGGING_INCLUDE_USER_IDENTIFIERgt

ltLOGGING_INCLUDE_CLASS_NAMEgtYltLOGGING_INCLUDE_CLASS_NAMEgt

ltBATCH_JOB_LOGGING_ACTION_ENABLEDgtYltBATCH_JOB_LOGGING_ACTION_ENABLEDgt

ltBATCH_JOB_LOGGING_DEBUG_ENABLEDgtNltBATCH_JOB_LOGGING_DEBUG_ENABLEDgt

ltBATCH_JOB_LOGGING_ERROR_ENABLEDgtYltBATCH_JOB_LOGGING_ERROR_ENABLEDgt

ltBATCH_JOB_LOGGING_INFO_ENABLEDgtYltBATCH_JOB_LOGGING_INFO_ENABLEDgt

ltBATCH_JOB_LOGGING_WARN_ENABLEDgtYltBATCH_JOB_LOGGING_WARN_ENABLEDgt

ltLOGGING_PROGRESS_ENABLEDgtYltLOGGING_PROGRESS_ENABLEDgt

ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt120ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt60ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltLOGGING_SERVER_METRICS_ENABLEDgtYltLOGGING_SERVER_METRICS_ENABLEDgt

ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt120ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt

4 Creating and Scheduling a Batch Script Scheduling of batch import process basically involves creating a batch file (or shell script under Unix) which will set up appropriate CLASSPATH then invoke the java command and using a platform dependent scheduler to execute the batch file on a predefined schedule A sample batch file for windows platform is provided ndash copy and modify batchecosys_batch_templatebat as a starting point To run several import process simultaneously you will need to duplicate the above mentioned folder and script for each import job Since there will be a separate batch file for each process they can be scheduled to run separately or independent of each other 5 Generating XML for Import An XML generating utility is provided that can convert tabular text-based files into XML suitable for import into EcoSys EPC This step would be performed prior to invoking the import jobs described below To generate XML see the batchecosys_batch_templatebat file in the section called GenerateXML Refer to the EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for details on generating and importing XML

EcoSys EPC System Admin Topics Release 7604 Page 23 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Command Line Parameter Reference The following parameters need to be provided for the batch process

-a action -u user name -p password -f systemsettingsxml file

Action User Name Password Settings XML Additional Parameters

GenXML NA NA NA (refer to EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for parameters)

-a ImportActual -u username -p password -f settingsxml NA

-a ImportProject -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportReportDef -u username -p password -f settingsxml -importDir to specify the input definitions (required)

See Notes 4

-a ImportResource -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportXML -u username -p password -f settingsxml -xml path of xml file to import (required)

-a ImportDates -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportForecast -u username -p password -f settingsxml -cv cost object category_value_id (optional)

-a CloseoutMinorPeriod -u username -p password -f settingsxml

NA Note - when a close out is performed via the command line the application will not reflect the new minor period until both the Enterprise Data Cache (Global Type) has been refreshed and browsers for currently logged in userrsquos have refreshed An Enterprise Data Cache refresh can be forced by an administrator performing the following steps 1 Log into the EPC application 2 Go to System Information 3 Click the Cache Tab 4 Select Global Type in the Specify a

Data Cache to Refresh pick list 5 Click the Refresh Enterprise Data

Cache button 6 Each user in the application must

refresh their browser or log out and back in to see the new minor period

-a BulkCopy -u username -p password -f settingsxml NA

-a BulkPublish -u username -p password -f settingsxml NA

-a BulkRollup -u username -p password -f settingsxml NA

-a RunReportBatch -u username -p password NA -rb report batch short name (required)

-a RunAction -u username -p password -f settingsxml -action [action id or internal id] (required)

See Notes 3

-a RunActionBatch -u username -p password -f settingsxml -actionbatch [action id or internal id] (required)

See Notes 3

-a ImportCompletePercent -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportSpreadsheet -u username -p password NA See Notes 2

-a ExternalOperation -u username -p password -f settingsxml -o operation -xml param XML file See Notes 5

EcoSys EPC System Admin Topics Release 7604 Page 24 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

-a ImportCostAccount -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportRole -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportActivityCode -u username -p password -f settingsxml -ds datastore_id (required)

Note 1 The ndashDESFM_HOME= should refer to the new BATCH_HOME folder where the copy

of FMServerSettings and other files are being stored not the same ESFM_HOME folder where your application was originally installed since they may require different settings and options Note 2 For spreadsheet imports the following options apply -spreadsheet name or internal id of EPC spreadsheet (required) -file file path to excel spreadsheet you want to import (required) -format excelrdquo or ldquodelimited (default is ldquoexcelrdquo) -importLogic update or ldquoinsertrdquo or ldquoignorerdquo (default is ldquoinsertrdquo)

ldquoupdaterdquo means update existing rows

ldquoinsertrdquo means always insert as new

ldquoignorerdquo means ignore existing rows -runtimeparam ltparam namegt=ltparam valuegt (this parameter can appear multiple times on the command line as in bdquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc)

ltparam namegt must match the ID of a runtime parameter defined on the EPC spreadsheet

ltparam valuegt can either be the internal id or the short name of an EPC object Note 3 To use runtime parameters when running an action action batch or report batch from the command line simply add the params parameter to the command line arguments as inhelliprsquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc) Notes 4 set ACTION=ImportReportDef set ADDITIONAL_PARAMS=-importDir BATCH_HOMEimportreports For ACTION use ImportReportDefImportSpreadsheetDefImportFormulaDefImportActionDef depending upon SCARF element you want to import Notes 5 For external operations use ndasho to specify the name of the operation To pass in the parameters XML (overriding the defined parameters for that operation) use ndashxml followed by the name of the file containing the parameters XML 7 System Settings Input Value Reference The following list enumerates the input parameters used by batch processes These values will appear in the systemsettingsxml file automatically when exported from the GUI If you add or

edit them manually they need to be in XML tag format lttagnamegtvaluelttagnamegt

BULK COPY BULK_COPY_ROOT_SPREADSHEET_TYPE

BULK_COPY_SPREADSHEET_TYPE

BULK_COPY_TGT_SPREADSHEET_TYPE

BULK_COPY_SOURCE_VERSION

BULK_COPY_TARGET_VERSION

BULK_COPY_SOURCE_MAJORPERIOD

BULK_COPY_TARGET_MAJORPERIOD

BULK_COPY_SOURCE_VERSION_SHORT_NAME

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 2: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 2 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Application Server Clustering 37

EPC Log Analysis from Command Line 41

Configuring Email Interfaces for EcoSys EPC 42 Summary 42 Workflow Messaging 43 Outbound (SMTP) Email Settings and Troubleshooting 43 Inbound (POP3) Email Settings and Troubleshooting 44 Email Workflow Functionality and Components 45

Using LDAP Authentication Overview EcoSys EPC supports three methods for authenticating application users ndash

1 native where passwords are stored in the EcoSys EPC ldquoESFMrdquo database

2 LDAP where passwords are validated via an external LDAP server

3 custom where users are authenticated by an external authentication system

The authentication mode for users in EcoSys EPC is configured on a per-user basis so some users may use the native mode another subset may use LDAP and yet others might use custom Only authentication is supported currently not any authorization (security groups) or user data synchronization Currently only Microsoftrsquos Active Directory LDAP server is supported Follow these steps to configure EcoSys EPC to authenticate via LDAP 1 Configuring LDAP Settings

1 Log on to EcoSys EPC as an admin super user and navigate to System Administration gt

Application Settings gt LDAP Settings 2 Enter the values in the top part of the screen to match your local LDAP serverrsquos settings

You can follow the examples on the screen Typical settings look like this

providerurl = ldapservermydomaincom389

servertype = ActiveDirectory

domain = mydomaincom

context = dc=mydomaindc=com

search = dc=mydomaindc=com

pattern = (amp(objectClass=user)(sAMAccountName=s))

usessl = N

3 Click ldquoSaverdquo to save the settings 4 Test the settings by entering a valid username and password in the lower section of the

screen and click ldquoTest Authenticationrdquo If the settings and credentials are correct you should see a success message If not note the error message and troubleshoot the connection accordingly

2 Configuring LDAP to Use SSL (Optional)

EcoSys EPC System Admin Topics Release 7604 Page 3 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

If you prefer that the EcoSys EPC server communicate with your LDAP server via SSL follow the steps below to configure SSL communication Note that without SSL the userrsquos credentials pass over the network between the servers in cleartext and could be captured by anyone with access to that network In order to use SSL you must first configure your LDAP server to support SSL For Microsoftrsquos Active Directory server please contact your Windows server administrator You may refer to the following links for reference EcoSys does not support these steps directly as they fall in the domain of the Active Directory administrator

httptechnet2microsoftcomwindowsserver2008enlibrary2f5d0612-75f9-4883-bf52-d11c7cda907f1033mspxmfr=true httpwwwitnorthwesternedubindocsenablingldapsondomaincontrollerpdf

Once the certificates have been configured on the LDAP server you need to import them into the Java keystore on your Java application server where EcoSys EPC is installed Follow the steps below to import the keys

1 On your LDAP server locate the SSL certificate and copy it to the Java application server Typically this resides in C and is called something like myserver-domaincer

2 On your Java application server locate the Java keystore Typically this resides under the directory where your JDK is installed and resides in a subfolderfile called libsecuritycacerts

3 On your Java application server using a command prompt import the SSL certificate into the Java keystore (as all one line) If you are using a Unix or Linux server adjust the command accordingly

keytoolbat -import -alias MyServer -keystore cacerts -storepass changeit -file

myserver-domaincer

The default keystore password for Java is ldquochangeitrdquo If you wish to use an alternate keystore location or password yoursquoll need to add the following options to the command -DjavaxnetssltrustStore=JRE Locationlibsecuritycacerts

-DjavaxnetsslkeyStore=JRE Locationlibsecuritykeystore

-DjavaxnetsslkeyStorePassword=your_new_password

4 If you have used a non-default keystore location or password you will need to add those

parameters above to your Java application serverrsquos startup command as well Refer to the documentation on configuring your specific Java application server for how to configure these runtime parameters If instead you use the default values Java should find the keystore automatically

5 Next you should adjust the settings in EcoSys EPC System Administration gt Application Settings gt LDAP Settings Change the ldquoProvider URLrdquo to use port 636 instead of 389 and protocol ldquoldapsrdquo instead of ldquoldaprdquo Also change the ldquoUse SSLrdquo value to be ldquoYrdquo Save the settings and test authentication with a sample user

3 Configuring Users to Authenticate Via LDAP

1 In EcoSys EPC navigate to System Administration gt Users and Security 2 Create a user that you wish to use LDAP authentication Note that the ldquoUser Namerdquo field

must match exactly the account name in your LDAP server

EcoSys EPC System Admin Topics Release 7604 Page 4 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

3 Set the userrsquos Authentication Mode to be ldquoLDAPrdquo instead of ldquoNativerdquo This means the native password field is not used for this user

4 Subsequent logons for this user will use the LDAP server settings to authenticate this userrsquos password against your LDAP server If the LDAP user is expired disabled or if the LDAP server is not available the userrsquos logon will be rejected

4 Troubleshooting LDAP

When a user configured for LDAP attempts to log on to EcoSys EPC their logon will be rejected if they are not able to authenticate to LDAP for any reason including LDAP account expired LDAP password expired or invalid LDAP password

If the LDAP server is not available when an LDAP user attempts to log on the user will see a special error message indicating that there may be a problem with communication to the LDAP server

To troubleshoot LDAP connections and settings use the System Administration gt Application Settings gt LDAP Settings page and the test section and the bottom of the screen Detailed error messages are displayed on that screen as well as in the application log file

Using SAML Authentication Overview EcoSys EPC supports three methods for authenticating application users ndash

1 native where passwords are stored in the EcoSys EPC ldquoESFMrdquo database

2 LDAP where passwords are validated via an external LDAP server

3 custom where users are authenticated by an external authentication system

The authentication mode for users in EcoSys EPC is configured on a per-user basis so some users may use the native mode others might use LDAP and yet others might use custom Only authentication is supported currently not any authorization (security groups) or user data synchronization Security Assertion Markup Language (SAML) is a protocol that facilitates the authentication of custom users In SAML terminology EcoSys EPC fulfills the role of a Service Provider (SP - the specific use case it intends to fulfill is that of the Service Provider initiated Single Sign On (SP initiated SSO) [httpdocsoasis-openorgsecuritysamlPost20sstc-saml-tech-overview-20-cd-02html512SP-Initiated SSO RedirectPOST Bindings|outline] EcoSys EPC supports the following two SAML profiles ndash

1 Web Browser SSO Profile [httpdocsoasis-openorgsecuritysamlPost20sstc-saml-tech-overview-20-cd-02html51Web Browser SSO

Profile|outline]

2 Single Logout Profile [httpdocsoasis-openorgsecuritysamlPost20sstc-saml-tech-overview-20-cd-02html53Single Logout Profile|outline]

Both these profiles are supported only via HTTP redirectPOST bindings SOAP bindings are currently not supported Follow these steps to configure EcoSys EPC to authenticate via SAML

EcoSys EPC System Admin Topics Release 7604 Page 5 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

1 Enable SSLHTTPS on the application server Although SAML does not stipulate SSL as a mandatory requirement most Identity Providers will not trust a Service Provider that uses insecure (http) endpoints Enable SSLHTTPS on your application server so that EcoSys EPC can be accessed securely at httpsmyserverportecosys Please refer to your application serverrsquos documentation for more information on how to do this If SSLHTTPS is being enabled through a reverse proxy arrangement ensure that the web server is aware of the proxy so that URLs can be constructed correctly Again please refer to your application serverrsquos documentation for more information on how to do this 2 Enable SAML Authentication Add the following entry to ESFM_HOMEFMServerSettingsproperties ndash

serverauthenticationsamlenabled=true

3 Configure EPC as a SAML Service Provider If you were to restart the application (on the server) at this point and visit httpsmyserverportecosys you would see the following message ndash

This is because EcoSys EPC still needs to be configured as a Service Provider Since this configuration is performed through the web app (httpsmyserverportecosys) an additional server setting needs to be enabled so that an accidental enabling of SAML does not permit end users to configure SAML related settings

1 Add the following entry to ESFM_HOMEFMServerSettingsproperties ndash

serverauthenticationsamlconfigurationallowed=true

2 Restart the application on the server

3 Go to httpsmyserverportecosys You should see the following page Before continuing ensure that you have the following ndash

i the Identity Providerrsquos (IdP) metadata file (XML file) If using Microsoft ADFS as the IdP you may have to make a minor correction to the metadata file See 104 (Known issuesCommon pitfalls)

ii the private key that EcoSys EPC will use to sign SAML requests and responses (PKCS12 file or a Java keystore)

iii the PKCS12 fileJava keystore password

EcoSys EPC System Admin Topics Release 7604 Page 6 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Ensure that the URLs you see on this page all begin with https ndash if that is not the case go back to step 1

4 Under the lsquoIdentity Provider (IdP) metadatarsquo section use the lsquoChoose Filersquo button to upload the IdPrsquos metadata file Ecosys EPC will use this file to automatically configure the external authentication systemidentity provider

5 Under the lsquoConfiguration and metadata for this Service Providerrsquo section ndash i Use the lsquoChoose Filersquo button to upload a private key SAML participants must digitally

sign both their requests and responses since the trust relationship between the IdP and the SP relies upon each party being able to verify the otherrsquos identity ndash Ecosys EPC will use this file to sign requests and responses

ii Enter the private keyrsquos password iii Enter details for the organization name URL and the contact address

6 Click lsquoConfigure SAML SPrsquo You should see the following page if everything was configured

without error -

EcoSys EPC System Admin Topics Release 7604 Page 7 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

The configuration is written to ESFM_HOMESAML on the server

Note that if EcoSys EPC has been configured to run in clustered mode the above

configuration must be performed on each servermember of the cluster For example if you

were running a two node cluster in step 3 above ndash

First go to httpsclusterserverAportecosys to configure serverA of the cluster

Then repeat the process for server by going to httpsclusterserverBportecosys

4 Configure the application serverrsquos Java VM to use unlimited strength cryptography Ensure that the application serverrsquos Java VM is configured to use unlimited encryption strength algorithms Please use the following links to download and install the required policy files for your Java VM

Java 8 [httpwwworaclecomtechnetworkjavajavasedownloadsjce8-download-2133166html]

Java 7 [httpwwworaclecomtechnetworkjavajavasedownloadsjce-7-download-432124html]

Policy files are usually delivered as a zip file and contain the following two files ndash

1 local_policyjar 2 US_export_policyjar

Use these two files to replace the ones with the same names in the lsquojrelibsecurityrsquo folder of your Java installation 5 Restart the application server Restart the application server ndash note that simply restarting the web app is not sufficient 6 Configure the Identity Provider (Microsoft ADFS) The ESFM_HOMESAML folder on the server has the following structure ndash

EcoSys EPC System Admin Topics Release 7604 Page 8 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

The lsquometadataSPrsquo sub-folder contains a file called lsquoSPMetadataxmlrsquo - this is the SAML Service Providerrsquos (EPCrsquos) metadata file and should be used to configure the necessary lsquotrust relationshiprsquo on the IdP Please consult your IdPrsquos documentation for information on how to do this Note that the EcoSys EPC SP only supports the SHA-1 signature hash algorithm If your IdP is Microsoft ADFS use the following steps to configure the trust relationship ndash

1 Launch the lsquoADFS Managementrsquo application on your IdP

2 In the left-most panel Expand lsquoTrust Relationshipsrsquo and click on lsquoRelying Party Trustsrsquo

3 In the right-most panel under lsquoActionsrsquo click lsquoAdd Relying Party Trustrsquo

EcoSys EPC System Admin Topics Release 7604 Page 9 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

4 Click Start to begin the process

5 Choose the option to import data from file and select the lsquoSPMetadataxmlrsquo from the

ESFM_HOMESAMLmetadataSP folder on the application server You may have to map this

location to the ADFS server or copy the file to a network share or to the IdP

EcoSys EPC System Admin Topics Release 7604 Page 10 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Continue through the screens making sure that you see four endpoints on the lsquoReady to

Add Trustrsquo screen On the last screen (lsquoFinishrsquo) uncheck the option to

EcoSys EPC System Admin Topics Release 7604 Page 11 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 12 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

7 Once the relying party has been created right click on its entry and choose lsquoEdit Propertiesrsquo

EcoSys EPC System Admin Topics Release 7604 Page 13 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

8 On the lsquoAdvancedrsquo tab select SHA-1 as the hash algorithm and click OK Note that SHA-

256 is not supported

9 Right click on the relying party entry again but this time choose lsquoEdit Claim Rulesrsquo

10 The following steps may not necessarily be the way you want to set up your claim rules

This example shows a two rule scenario where the first rule extracts the UPN from the

EcoSys EPC System Admin Topics Release 7604 Page 14 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Active Directory and the second transforms that UPN into the X509 Subject Name (of the

form usernamedomainsuffix)

EcoSys EPC System Admin Topics Release 7604 Page 15 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 16 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 17 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

This completes configuration on the ADFS server It has been set up in such a manner that when someone tries to access EcoSys EPC ndash

i she will be redirected to the ADFS server for authentication

ii if authentication is successful ADFS will send the user details in the form

usernamedomainsuffix back to EcoSys EPC

7 Configuring Users to Authenticate Via SAML Users authenticated by the IdP need to be further authorized in EcoSys EPC This means that in the scenario described above in step 6 where the IdP sends the user details in the form usernamedomainsuffix ndash

a user with the same login ID must exist within EcoSys EPC

the userrsquos authentication mode must be configured as custom

Follow these steps to import user details from your IdP to EcoSys EPC ndash

1 Create a new spreadsheet by selecting lsquoUserrsquo as the subject area

2 Add the following columns to it ndash

i Authentication Mode (use default value lsquoCustomrsquo)

ii First Name

iii Last Name

iv Login Name

v Main Menu (Name) (either use a default value or specify one)

vi License (use an appropriate default value)

EcoSys EPC System Admin Topics Release 7604 Page 18 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

3 Export user details from the IdP preferably in Excel format containing at least the First

Name Last Name and the Login Name (usernamesuffixcom in this example)

4 Import the Excel file into the spreadsheet created in step 1

You may need to configure security groups for these newly imported users 8 Troubleshooting SAML If the SAML exchange between EcoSys EPC and the IdP were to fail for any reason you will see an error page that looks like the following ndash

The EcoSys EPC SP produces two log files in the ESFM_HOMESAMLlogs folder on the server ndash

oiosaml-splog ndash this logs requests handled by the SP

oiosaml-sp-auditlog ndash this logs exchanges between the SP and the IdP

To configure the SPrsquos logging level edit the file ESFM_HOMESAMLoiosaml-splog4jxml The default log level for both these log files is set to ERROR which means that only error events are logged to them To see more detail in these log files set the log level to DEBUG as suggested in the lsquooiosaml-splog4jxmlrsquo file ndash ltparam name=Threshold value=ERROR gt lt-- change this to DEBUG when you want to debug

authentication issues --gt

The application will need to be restarted for the new logging level to take effect If you need to verify how SAML has been configured use the System Configuration utility and search for the term lsquosamlrsquo You should see the following ndash

EcoSys EPC System Admin Topics Release 7604 Page 19 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

9 Native user support (in SAML mode) When SAML has been enabled accessing EcoSys EPC via httpsmyservernameportecosys will always redirect you to the IdP authentication portal If you wish to login as a native user access EcoSys EPC using the URL httpsmyservernameportecosyslogin_native 10 Known issuesCommon pitfalls

1 If SSLHTTPS is being enabled through a reverse proxy arrangement ensure that the web

server is aware of the proxy so that URLs can be constructed correctly (see step 1)

2 Ensure that the application serverrsquos Java VM is configured to use unlimited encryption

strength algorithms (see step 4)

3 Ensure that the EcoSys EPC is set up to use SHA-1 hashing on your IdP (see step 6)

4 If your IdP both signs and encrypts assertions ensure that the lsquosigning signaturersquo comes

before the lsquoencryption signaturersquo in the metadata file

ESFM_HOMESAMLmetadataIdPIdPMetadataxml Restart the application if you have to make

this change The XML should be as follows in this case ndash

ltEntityDescriptorgt

hellip

ltIDPSSODescriptorgt

ltKeyDescriptor use=signinggt hellip ltKeyDescriptorgt

ltKeyDescriptor use=encryptiongt hellip ltKeyDescriptorgt

hellip

ltIDPSSODescriptorgt

hellip

ltEntityDescriptorgt

5 If your IdP uses self-signed certificates enable(uncomment) the following property in the file

ESFM_HOMESAMLoiosaml-spproperties and restart the application -

EcoSys EPC System Admin Topics Release 7604 Page 20 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

oiosaml-spcrlperiod=0

6 When you logout of EcoSys EPC (as a SAML user) you are typically taken to the IdPrsquos

authentication page If yoursquod like to be redirected to a different site instead

enable(uncomment) the following property in the file ESFM_HOMESAMLoiosaml-

spproperties and restart the application -

oiosaml-splogoutredirecturl=httpredirecturl

Command Line Batch Jobs Overview Some data import and processing jobs can be scheduled to run outside of the Java application server This is useful for long-running jobs that need to recur on a regular schedule for example importing forecasts from Primavera each week You should work with your implementation team to determine whether batch jobs need to be configured and if so what their parameters and schedules should be Note Details on the import file format for XML-based external system imports can be found in the EcoSys EPC Integration Guide Follow these steps to configure a command line batch script and job The batch job script can be scheduled to run using the scheduling tools native to your serverrsquos operating system For Windows you can use Control Panel gt Scheduled Tasks For Unix you can configure a cron job 1 Configuring the Files and Settings

1 Create folder for the batch job files Typically this is under your existing ESFM_HOME

folder perhaps called lsquobatchrsquo We will refer to this folder as BATCH_HOME in this section

2 Copy following the following files from ESFM_HOME to BATCH_HOME FMServerSettingsproperties log4jproperties FMLicenseproperties

3 Edit or add these entries to BATCH_HOMEFMServerSettingsproperties

fmdatasourcefactory=comecosysmgmtframeworkcontextFMPooledDataSourceFactory

connectionPoolminSize=2

connectionPoolmaxSize=20

datasourceJDBCUser=fmuser

datasourceJDBCPass=fmuser

datasourceJDBCDriver=oraclejdbcOracleDriver

datasourceJDBCConnectString=jdbcoraclethinMYSERVERHOSTNAME1521ESFM

4 Edit log4jproperties and change value of ldquolog4jappenderFILEFilerdquo to point to a location under your BATCH_HOME folder For example ldquoBatchImportlogrdquo

5 Begin with the template batch script located under batchecosys_batch_templatebat You may copy and modify this file to perform the specific batch commands you desire using the steps below

6 Build the CLASSPATH list for the job The following jar files are required for the import process Most of the files are already available in current ldquoecosysrdquo installation

EcoSys EPC System Admin Topics Release 7604 Page 21 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Location Library Files

CP6IntegrationAPIlib

All Oracle Primavera API jar (jar) files (excluding sqljdbcjar and ojdbcjar)

BATCH_HOMElib

ojdbcjar log4j-129jar commons-dbcpjar xworkjar ognljar commons-loggingjar commons-pool-13jar ecosysjar ppmapiabstractorjar FMXMLGeneratorjar

2 Exporting System Settings to XML For maximum flexibility batch jobs run with their own system settings file that is independent of the settings in the EcoSys EPC (ldquoESFMrdquo) database The settings are stored in an XML file which you need to export from the EcoSys EPC application To do this

1 Log on to EcoSys EPC as an administrative user 2 Configure the import settings as desired You do this by navigating to the ldquoIntegrationrdquo

menu then selecting each of the ldquoImporthelliprdquo menu items For each one configure the import settings as desired and click ldquoSaverdquo This saves the system settings to the database

3 Once you have configured all the import settings as desired use the ldquoSystem Administrationrdquo gt ldquo Export Application Settingsrdquo When prompted save the systemsettingsxml file locally

4 Copy the resulting systemsettingsxml file to the ldquoBATCH_HOMErdquo folder where your batch job will be run This file will be used when running batch jobs and the settings in that file will apply only to that batch job

5 When changes to the batch jobrsquos import settings are required you can either edit the systemsettingsxml file directly or follow the steps above to export a new file

3 Configuring Batch Job Logging

The settings for logging in batch jobs invoked from the command line (outside of the application GUI) can be controlled through the systemsettingsxml file specified for each batch command This gives full control over the details logged to the batch job log (visible in the application GUI) as well as the log file written when a batch job runs (These settings take the place of any properties specified in FMServerSettingsproperties)

Settings that begin with ldquoLOGGING_rdquo control the level of detail written to the log file These are primarily intended for system administrators

EcoSys EPC System Admin Topics Release 7604 Page 22 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Settings that begin with ldquoBATCH_JOB_LOGGING_rdquo control the level of detail written to the batch job log visible in the Reports gt Batch Job Log screen within the application These are intended for end users and application administrators

For each command line batch job you are using you may adjust the logging settings individually by editing the corresponding systemsettingsxml file The settings in question and their recommended default values are ltLOGGING_DEBUG_ENABLEDgtNltLOGGING_DEBUG_ENABLEDgt

ltLOGGING_XML_ENABLEDgtYltLOGGING_XML_ENABLEDgt

ltLOGGING_ERROR_ENABLEDgtYltLOGGING_ERROR_ENABLEDgt

ltLOGGING_INFO_ENABLEDgtYltLOGGING_INFO_ENABLEDgt

ltLOGGING_WARN_ENABLEDgtYltLOGGING_WARN_ENABLEDgt

ltLOGGING_USER_ACTION_ENABLEDgtYltLOGGING_USER_ACTION_ENABLEDgt

ltLOGGING_USER_ACTION_PARAMS_ENABLEDgtYltLOGGING_USER_ACTION_PARAMS_ENABLEDgt

ltLOGGING_METHOD_TRACE_ENABLEDgtNltLOGGING_METHOD_TRACE_ENABLEDgt

ltLOGGING_METHOD_PARAMS_ENABLEDgtNltLOGGING_METHOD_PARAMS_ENABLEDgt

ltLOGGING_DATABASE_QUERY_ENABLEDgtNltLOGGING_DATABASE_QUERY_ENABLEDgt

ltLOGGING_DB_QUERY_PARAMS_ENABLEDgtNltLOGGING_DB_QUERY_PARAMS_ENABLEDgt

ltLOGGING_INCLUDE_DATE_FLAGgtYltLOGGING_INCLUDE_DATE_FLAGgt

ltLOGGING_INCLUDE_TIMESTAMPgtYltLOGGING_INCLUDE_TIMESTAMPgt

ltLOGGING_INCLUDE_LOG_TYPEgtYltLOGGING_INCLUDE_LOG_TYPEgt

ltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgtYltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgt

ltLOGGING_INCLUDE_USER_IDENTIFIERgtYltLOGGING_INCLUDE_USER_IDENTIFIERgt

ltLOGGING_INCLUDE_CLASS_NAMEgtYltLOGGING_INCLUDE_CLASS_NAMEgt

ltBATCH_JOB_LOGGING_ACTION_ENABLEDgtYltBATCH_JOB_LOGGING_ACTION_ENABLEDgt

ltBATCH_JOB_LOGGING_DEBUG_ENABLEDgtNltBATCH_JOB_LOGGING_DEBUG_ENABLEDgt

ltBATCH_JOB_LOGGING_ERROR_ENABLEDgtYltBATCH_JOB_LOGGING_ERROR_ENABLEDgt

ltBATCH_JOB_LOGGING_INFO_ENABLEDgtYltBATCH_JOB_LOGGING_INFO_ENABLEDgt

ltBATCH_JOB_LOGGING_WARN_ENABLEDgtYltBATCH_JOB_LOGGING_WARN_ENABLEDgt

ltLOGGING_PROGRESS_ENABLEDgtYltLOGGING_PROGRESS_ENABLEDgt

ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt120ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt60ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltLOGGING_SERVER_METRICS_ENABLEDgtYltLOGGING_SERVER_METRICS_ENABLEDgt

ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt120ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt

4 Creating and Scheduling a Batch Script Scheduling of batch import process basically involves creating a batch file (or shell script under Unix) which will set up appropriate CLASSPATH then invoke the java command and using a platform dependent scheduler to execute the batch file on a predefined schedule A sample batch file for windows platform is provided ndash copy and modify batchecosys_batch_templatebat as a starting point To run several import process simultaneously you will need to duplicate the above mentioned folder and script for each import job Since there will be a separate batch file for each process they can be scheduled to run separately or independent of each other 5 Generating XML for Import An XML generating utility is provided that can convert tabular text-based files into XML suitable for import into EcoSys EPC This step would be performed prior to invoking the import jobs described below To generate XML see the batchecosys_batch_templatebat file in the section called GenerateXML Refer to the EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for details on generating and importing XML

EcoSys EPC System Admin Topics Release 7604 Page 23 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Command Line Parameter Reference The following parameters need to be provided for the batch process

-a action -u user name -p password -f systemsettingsxml file

Action User Name Password Settings XML Additional Parameters

GenXML NA NA NA (refer to EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for parameters)

-a ImportActual -u username -p password -f settingsxml NA

-a ImportProject -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportReportDef -u username -p password -f settingsxml -importDir to specify the input definitions (required)

See Notes 4

-a ImportResource -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportXML -u username -p password -f settingsxml -xml path of xml file to import (required)

-a ImportDates -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportForecast -u username -p password -f settingsxml -cv cost object category_value_id (optional)

-a CloseoutMinorPeriod -u username -p password -f settingsxml

NA Note - when a close out is performed via the command line the application will not reflect the new minor period until both the Enterprise Data Cache (Global Type) has been refreshed and browsers for currently logged in userrsquos have refreshed An Enterprise Data Cache refresh can be forced by an administrator performing the following steps 1 Log into the EPC application 2 Go to System Information 3 Click the Cache Tab 4 Select Global Type in the Specify a

Data Cache to Refresh pick list 5 Click the Refresh Enterprise Data

Cache button 6 Each user in the application must

refresh their browser or log out and back in to see the new minor period

-a BulkCopy -u username -p password -f settingsxml NA

-a BulkPublish -u username -p password -f settingsxml NA

-a BulkRollup -u username -p password -f settingsxml NA

-a RunReportBatch -u username -p password NA -rb report batch short name (required)

-a RunAction -u username -p password -f settingsxml -action [action id or internal id] (required)

See Notes 3

-a RunActionBatch -u username -p password -f settingsxml -actionbatch [action id or internal id] (required)

See Notes 3

-a ImportCompletePercent -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportSpreadsheet -u username -p password NA See Notes 2

-a ExternalOperation -u username -p password -f settingsxml -o operation -xml param XML file See Notes 5

EcoSys EPC System Admin Topics Release 7604 Page 24 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

-a ImportCostAccount -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportRole -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportActivityCode -u username -p password -f settingsxml -ds datastore_id (required)

Note 1 The ndashDESFM_HOME= should refer to the new BATCH_HOME folder where the copy

of FMServerSettings and other files are being stored not the same ESFM_HOME folder where your application was originally installed since they may require different settings and options Note 2 For spreadsheet imports the following options apply -spreadsheet name or internal id of EPC spreadsheet (required) -file file path to excel spreadsheet you want to import (required) -format excelrdquo or ldquodelimited (default is ldquoexcelrdquo) -importLogic update or ldquoinsertrdquo or ldquoignorerdquo (default is ldquoinsertrdquo)

ldquoupdaterdquo means update existing rows

ldquoinsertrdquo means always insert as new

ldquoignorerdquo means ignore existing rows -runtimeparam ltparam namegt=ltparam valuegt (this parameter can appear multiple times on the command line as in bdquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc)

ltparam namegt must match the ID of a runtime parameter defined on the EPC spreadsheet

ltparam valuegt can either be the internal id or the short name of an EPC object Note 3 To use runtime parameters when running an action action batch or report batch from the command line simply add the params parameter to the command line arguments as inhelliprsquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc) Notes 4 set ACTION=ImportReportDef set ADDITIONAL_PARAMS=-importDir BATCH_HOMEimportreports For ACTION use ImportReportDefImportSpreadsheetDefImportFormulaDefImportActionDef depending upon SCARF element you want to import Notes 5 For external operations use ndasho to specify the name of the operation To pass in the parameters XML (overriding the defined parameters for that operation) use ndashxml followed by the name of the file containing the parameters XML 7 System Settings Input Value Reference The following list enumerates the input parameters used by batch processes These values will appear in the systemsettingsxml file automatically when exported from the GUI If you add or

edit them manually they need to be in XML tag format lttagnamegtvaluelttagnamegt

BULK COPY BULK_COPY_ROOT_SPREADSHEET_TYPE

BULK_COPY_SPREADSHEET_TYPE

BULK_COPY_TGT_SPREADSHEET_TYPE

BULK_COPY_SOURCE_VERSION

BULK_COPY_TARGET_VERSION

BULK_COPY_SOURCE_MAJORPERIOD

BULK_COPY_TARGET_MAJORPERIOD

BULK_COPY_SOURCE_VERSION_SHORT_NAME

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 3: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 3 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

If you prefer that the EcoSys EPC server communicate with your LDAP server via SSL follow the steps below to configure SSL communication Note that without SSL the userrsquos credentials pass over the network between the servers in cleartext and could be captured by anyone with access to that network In order to use SSL you must first configure your LDAP server to support SSL For Microsoftrsquos Active Directory server please contact your Windows server administrator You may refer to the following links for reference EcoSys does not support these steps directly as they fall in the domain of the Active Directory administrator

httptechnet2microsoftcomwindowsserver2008enlibrary2f5d0612-75f9-4883-bf52-d11c7cda907f1033mspxmfr=true httpwwwitnorthwesternedubindocsenablingldapsondomaincontrollerpdf

Once the certificates have been configured on the LDAP server you need to import them into the Java keystore on your Java application server where EcoSys EPC is installed Follow the steps below to import the keys

1 On your LDAP server locate the SSL certificate and copy it to the Java application server Typically this resides in C and is called something like myserver-domaincer

2 On your Java application server locate the Java keystore Typically this resides under the directory where your JDK is installed and resides in a subfolderfile called libsecuritycacerts

3 On your Java application server using a command prompt import the SSL certificate into the Java keystore (as all one line) If you are using a Unix or Linux server adjust the command accordingly

keytoolbat -import -alias MyServer -keystore cacerts -storepass changeit -file

myserver-domaincer

The default keystore password for Java is ldquochangeitrdquo If you wish to use an alternate keystore location or password yoursquoll need to add the following options to the command -DjavaxnetssltrustStore=JRE Locationlibsecuritycacerts

-DjavaxnetsslkeyStore=JRE Locationlibsecuritykeystore

-DjavaxnetsslkeyStorePassword=your_new_password

4 If you have used a non-default keystore location or password you will need to add those

parameters above to your Java application serverrsquos startup command as well Refer to the documentation on configuring your specific Java application server for how to configure these runtime parameters If instead you use the default values Java should find the keystore automatically

5 Next you should adjust the settings in EcoSys EPC System Administration gt Application Settings gt LDAP Settings Change the ldquoProvider URLrdquo to use port 636 instead of 389 and protocol ldquoldapsrdquo instead of ldquoldaprdquo Also change the ldquoUse SSLrdquo value to be ldquoYrdquo Save the settings and test authentication with a sample user

3 Configuring Users to Authenticate Via LDAP

1 In EcoSys EPC navigate to System Administration gt Users and Security 2 Create a user that you wish to use LDAP authentication Note that the ldquoUser Namerdquo field

must match exactly the account name in your LDAP server

EcoSys EPC System Admin Topics Release 7604 Page 4 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

3 Set the userrsquos Authentication Mode to be ldquoLDAPrdquo instead of ldquoNativerdquo This means the native password field is not used for this user

4 Subsequent logons for this user will use the LDAP server settings to authenticate this userrsquos password against your LDAP server If the LDAP user is expired disabled or if the LDAP server is not available the userrsquos logon will be rejected

4 Troubleshooting LDAP

When a user configured for LDAP attempts to log on to EcoSys EPC their logon will be rejected if they are not able to authenticate to LDAP for any reason including LDAP account expired LDAP password expired or invalid LDAP password

If the LDAP server is not available when an LDAP user attempts to log on the user will see a special error message indicating that there may be a problem with communication to the LDAP server

To troubleshoot LDAP connections and settings use the System Administration gt Application Settings gt LDAP Settings page and the test section and the bottom of the screen Detailed error messages are displayed on that screen as well as in the application log file

Using SAML Authentication Overview EcoSys EPC supports three methods for authenticating application users ndash

1 native where passwords are stored in the EcoSys EPC ldquoESFMrdquo database

2 LDAP where passwords are validated via an external LDAP server

3 custom where users are authenticated by an external authentication system

The authentication mode for users in EcoSys EPC is configured on a per-user basis so some users may use the native mode others might use LDAP and yet others might use custom Only authentication is supported currently not any authorization (security groups) or user data synchronization Security Assertion Markup Language (SAML) is a protocol that facilitates the authentication of custom users In SAML terminology EcoSys EPC fulfills the role of a Service Provider (SP - the specific use case it intends to fulfill is that of the Service Provider initiated Single Sign On (SP initiated SSO) [httpdocsoasis-openorgsecuritysamlPost20sstc-saml-tech-overview-20-cd-02html512SP-Initiated SSO RedirectPOST Bindings|outline] EcoSys EPC supports the following two SAML profiles ndash

1 Web Browser SSO Profile [httpdocsoasis-openorgsecuritysamlPost20sstc-saml-tech-overview-20-cd-02html51Web Browser SSO

Profile|outline]

2 Single Logout Profile [httpdocsoasis-openorgsecuritysamlPost20sstc-saml-tech-overview-20-cd-02html53Single Logout Profile|outline]

Both these profiles are supported only via HTTP redirectPOST bindings SOAP bindings are currently not supported Follow these steps to configure EcoSys EPC to authenticate via SAML

EcoSys EPC System Admin Topics Release 7604 Page 5 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

1 Enable SSLHTTPS on the application server Although SAML does not stipulate SSL as a mandatory requirement most Identity Providers will not trust a Service Provider that uses insecure (http) endpoints Enable SSLHTTPS on your application server so that EcoSys EPC can be accessed securely at httpsmyserverportecosys Please refer to your application serverrsquos documentation for more information on how to do this If SSLHTTPS is being enabled through a reverse proxy arrangement ensure that the web server is aware of the proxy so that URLs can be constructed correctly Again please refer to your application serverrsquos documentation for more information on how to do this 2 Enable SAML Authentication Add the following entry to ESFM_HOMEFMServerSettingsproperties ndash

serverauthenticationsamlenabled=true

3 Configure EPC as a SAML Service Provider If you were to restart the application (on the server) at this point and visit httpsmyserverportecosys you would see the following message ndash

This is because EcoSys EPC still needs to be configured as a Service Provider Since this configuration is performed through the web app (httpsmyserverportecosys) an additional server setting needs to be enabled so that an accidental enabling of SAML does not permit end users to configure SAML related settings

1 Add the following entry to ESFM_HOMEFMServerSettingsproperties ndash

serverauthenticationsamlconfigurationallowed=true

2 Restart the application on the server

3 Go to httpsmyserverportecosys You should see the following page Before continuing ensure that you have the following ndash

i the Identity Providerrsquos (IdP) metadata file (XML file) If using Microsoft ADFS as the IdP you may have to make a minor correction to the metadata file See 104 (Known issuesCommon pitfalls)

ii the private key that EcoSys EPC will use to sign SAML requests and responses (PKCS12 file or a Java keystore)

iii the PKCS12 fileJava keystore password

EcoSys EPC System Admin Topics Release 7604 Page 6 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Ensure that the URLs you see on this page all begin with https ndash if that is not the case go back to step 1

4 Under the lsquoIdentity Provider (IdP) metadatarsquo section use the lsquoChoose Filersquo button to upload the IdPrsquos metadata file Ecosys EPC will use this file to automatically configure the external authentication systemidentity provider

5 Under the lsquoConfiguration and metadata for this Service Providerrsquo section ndash i Use the lsquoChoose Filersquo button to upload a private key SAML participants must digitally

sign both their requests and responses since the trust relationship between the IdP and the SP relies upon each party being able to verify the otherrsquos identity ndash Ecosys EPC will use this file to sign requests and responses

ii Enter the private keyrsquos password iii Enter details for the organization name URL and the contact address

6 Click lsquoConfigure SAML SPrsquo You should see the following page if everything was configured

without error -

EcoSys EPC System Admin Topics Release 7604 Page 7 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

The configuration is written to ESFM_HOMESAML on the server

Note that if EcoSys EPC has been configured to run in clustered mode the above

configuration must be performed on each servermember of the cluster For example if you

were running a two node cluster in step 3 above ndash

First go to httpsclusterserverAportecosys to configure serverA of the cluster

Then repeat the process for server by going to httpsclusterserverBportecosys

4 Configure the application serverrsquos Java VM to use unlimited strength cryptography Ensure that the application serverrsquos Java VM is configured to use unlimited encryption strength algorithms Please use the following links to download and install the required policy files for your Java VM

Java 8 [httpwwworaclecomtechnetworkjavajavasedownloadsjce8-download-2133166html]

Java 7 [httpwwworaclecomtechnetworkjavajavasedownloadsjce-7-download-432124html]

Policy files are usually delivered as a zip file and contain the following two files ndash

1 local_policyjar 2 US_export_policyjar

Use these two files to replace the ones with the same names in the lsquojrelibsecurityrsquo folder of your Java installation 5 Restart the application server Restart the application server ndash note that simply restarting the web app is not sufficient 6 Configure the Identity Provider (Microsoft ADFS) The ESFM_HOMESAML folder on the server has the following structure ndash

EcoSys EPC System Admin Topics Release 7604 Page 8 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

The lsquometadataSPrsquo sub-folder contains a file called lsquoSPMetadataxmlrsquo - this is the SAML Service Providerrsquos (EPCrsquos) metadata file and should be used to configure the necessary lsquotrust relationshiprsquo on the IdP Please consult your IdPrsquos documentation for information on how to do this Note that the EcoSys EPC SP only supports the SHA-1 signature hash algorithm If your IdP is Microsoft ADFS use the following steps to configure the trust relationship ndash

1 Launch the lsquoADFS Managementrsquo application on your IdP

2 In the left-most panel Expand lsquoTrust Relationshipsrsquo and click on lsquoRelying Party Trustsrsquo

3 In the right-most panel under lsquoActionsrsquo click lsquoAdd Relying Party Trustrsquo

EcoSys EPC System Admin Topics Release 7604 Page 9 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

4 Click Start to begin the process

5 Choose the option to import data from file and select the lsquoSPMetadataxmlrsquo from the

ESFM_HOMESAMLmetadataSP folder on the application server You may have to map this

location to the ADFS server or copy the file to a network share or to the IdP

EcoSys EPC System Admin Topics Release 7604 Page 10 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Continue through the screens making sure that you see four endpoints on the lsquoReady to

Add Trustrsquo screen On the last screen (lsquoFinishrsquo) uncheck the option to

EcoSys EPC System Admin Topics Release 7604 Page 11 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 12 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

7 Once the relying party has been created right click on its entry and choose lsquoEdit Propertiesrsquo

EcoSys EPC System Admin Topics Release 7604 Page 13 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

8 On the lsquoAdvancedrsquo tab select SHA-1 as the hash algorithm and click OK Note that SHA-

256 is not supported

9 Right click on the relying party entry again but this time choose lsquoEdit Claim Rulesrsquo

10 The following steps may not necessarily be the way you want to set up your claim rules

This example shows a two rule scenario where the first rule extracts the UPN from the

EcoSys EPC System Admin Topics Release 7604 Page 14 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Active Directory and the second transforms that UPN into the X509 Subject Name (of the

form usernamedomainsuffix)

EcoSys EPC System Admin Topics Release 7604 Page 15 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 16 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 17 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

This completes configuration on the ADFS server It has been set up in such a manner that when someone tries to access EcoSys EPC ndash

i she will be redirected to the ADFS server for authentication

ii if authentication is successful ADFS will send the user details in the form

usernamedomainsuffix back to EcoSys EPC

7 Configuring Users to Authenticate Via SAML Users authenticated by the IdP need to be further authorized in EcoSys EPC This means that in the scenario described above in step 6 where the IdP sends the user details in the form usernamedomainsuffix ndash

a user with the same login ID must exist within EcoSys EPC

the userrsquos authentication mode must be configured as custom

Follow these steps to import user details from your IdP to EcoSys EPC ndash

1 Create a new spreadsheet by selecting lsquoUserrsquo as the subject area

2 Add the following columns to it ndash

i Authentication Mode (use default value lsquoCustomrsquo)

ii First Name

iii Last Name

iv Login Name

v Main Menu (Name) (either use a default value or specify one)

vi License (use an appropriate default value)

EcoSys EPC System Admin Topics Release 7604 Page 18 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

3 Export user details from the IdP preferably in Excel format containing at least the First

Name Last Name and the Login Name (usernamesuffixcom in this example)

4 Import the Excel file into the spreadsheet created in step 1

You may need to configure security groups for these newly imported users 8 Troubleshooting SAML If the SAML exchange between EcoSys EPC and the IdP were to fail for any reason you will see an error page that looks like the following ndash

The EcoSys EPC SP produces two log files in the ESFM_HOMESAMLlogs folder on the server ndash

oiosaml-splog ndash this logs requests handled by the SP

oiosaml-sp-auditlog ndash this logs exchanges between the SP and the IdP

To configure the SPrsquos logging level edit the file ESFM_HOMESAMLoiosaml-splog4jxml The default log level for both these log files is set to ERROR which means that only error events are logged to them To see more detail in these log files set the log level to DEBUG as suggested in the lsquooiosaml-splog4jxmlrsquo file ndash ltparam name=Threshold value=ERROR gt lt-- change this to DEBUG when you want to debug

authentication issues --gt

The application will need to be restarted for the new logging level to take effect If you need to verify how SAML has been configured use the System Configuration utility and search for the term lsquosamlrsquo You should see the following ndash

EcoSys EPC System Admin Topics Release 7604 Page 19 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

9 Native user support (in SAML mode) When SAML has been enabled accessing EcoSys EPC via httpsmyservernameportecosys will always redirect you to the IdP authentication portal If you wish to login as a native user access EcoSys EPC using the URL httpsmyservernameportecosyslogin_native 10 Known issuesCommon pitfalls

1 If SSLHTTPS is being enabled through a reverse proxy arrangement ensure that the web

server is aware of the proxy so that URLs can be constructed correctly (see step 1)

2 Ensure that the application serverrsquos Java VM is configured to use unlimited encryption

strength algorithms (see step 4)

3 Ensure that the EcoSys EPC is set up to use SHA-1 hashing on your IdP (see step 6)

4 If your IdP both signs and encrypts assertions ensure that the lsquosigning signaturersquo comes

before the lsquoencryption signaturersquo in the metadata file

ESFM_HOMESAMLmetadataIdPIdPMetadataxml Restart the application if you have to make

this change The XML should be as follows in this case ndash

ltEntityDescriptorgt

hellip

ltIDPSSODescriptorgt

ltKeyDescriptor use=signinggt hellip ltKeyDescriptorgt

ltKeyDescriptor use=encryptiongt hellip ltKeyDescriptorgt

hellip

ltIDPSSODescriptorgt

hellip

ltEntityDescriptorgt

5 If your IdP uses self-signed certificates enable(uncomment) the following property in the file

ESFM_HOMESAMLoiosaml-spproperties and restart the application -

EcoSys EPC System Admin Topics Release 7604 Page 20 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

oiosaml-spcrlperiod=0

6 When you logout of EcoSys EPC (as a SAML user) you are typically taken to the IdPrsquos

authentication page If yoursquod like to be redirected to a different site instead

enable(uncomment) the following property in the file ESFM_HOMESAMLoiosaml-

spproperties and restart the application -

oiosaml-splogoutredirecturl=httpredirecturl

Command Line Batch Jobs Overview Some data import and processing jobs can be scheduled to run outside of the Java application server This is useful for long-running jobs that need to recur on a regular schedule for example importing forecasts from Primavera each week You should work with your implementation team to determine whether batch jobs need to be configured and if so what their parameters and schedules should be Note Details on the import file format for XML-based external system imports can be found in the EcoSys EPC Integration Guide Follow these steps to configure a command line batch script and job The batch job script can be scheduled to run using the scheduling tools native to your serverrsquos operating system For Windows you can use Control Panel gt Scheduled Tasks For Unix you can configure a cron job 1 Configuring the Files and Settings

1 Create folder for the batch job files Typically this is under your existing ESFM_HOME

folder perhaps called lsquobatchrsquo We will refer to this folder as BATCH_HOME in this section

2 Copy following the following files from ESFM_HOME to BATCH_HOME FMServerSettingsproperties log4jproperties FMLicenseproperties

3 Edit or add these entries to BATCH_HOMEFMServerSettingsproperties

fmdatasourcefactory=comecosysmgmtframeworkcontextFMPooledDataSourceFactory

connectionPoolminSize=2

connectionPoolmaxSize=20

datasourceJDBCUser=fmuser

datasourceJDBCPass=fmuser

datasourceJDBCDriver=oraclejdbcOracleDriver

datasourceJDBCConnectString=jdbcoraclethinMYSERVERHOSTNAME1521ESFM

4 Edit log4jproperties and change value of ldquolog4jappenderFILEFilerdquo to point to a location under your BATCH_HOME folder For example ldquoBatchImportlogrdquo

5 Begin with the template batch script located under batchecosys_batch_templatebat You may copy and modify this file to perform the specific batch commands you desire using the steps below

6 Build the CLASSPATH list for the job The following jar files are required for the import process Most of the files are already available in current ldquoecosysrdquo installation

EcoSys EPC System Admin Topics Release 7604 Page 21 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Location Library Files

CP6IntegrationAPIlib

All Oracle Primavera API jar (jar) files (excluding sqljdbcjar and ojdbcjar)

BATCH_HOMElib

ojdbcjar log4j-129jar commons-dbcpjar xworkjar ognljar commons-loggingjar commons-pool-13jar ecosysjar ppmapiabstractorjar FMXMLGeneratorjar

2 Exporting System Settings to XML For maximum flexibility batch jobs run with their own system settings file that is independent of the settings in the EcoSys EPC (ldquoESFMrdquo) database The settings are stored in an XML file which you need to export from the EcoSys EPC application To do this

1 Log on to EcoSys EPC as an administrative user 2 Configure the import settings as desired You do this by navigating to the ldquoIntegrationrdquo

menu then selecting each of the ldquoImporthelliprdquo menu items For each one configure the import settings as desired and click ldquoSaverdquo This saves the system settings to the database

3 Once you have configured all the import settings as desired use the ldquoSystem Administrationrdquo gt ldquo Export Application Settingsrdquo When prompted save the systemsettingsxml file locally

4 Copy the resulting systemsettingsxml file to the ldquoBATCH_HOMErdquo folder where your batch job will be run This file will be used when running batch jobs and the settings in that file will apply only to that batch job

5 When changes to the batch jobrsquos import settings are required you can either edit the systemsettingsxml file directly or follow the steps above to export a new file

3 Configuring Batch Job Logging

The settings for logging in batch jobs invoked from the command line (outside of the application GUI) can be controlled through the systemsettingsxml file specified for each batch command This gives full control over the details logged to the batch job log (visible in the application GUI) as well as the log file written when a batch job runs (These settings take the place of any properties specified in FMServerSettingsproperties)

Settings that begin with ldquoLOGGING_rdquo control the level of detail written to the log file These are primarily intended for system administrators

EcoSys EPC System Admin Topics Release 7604 Page 22 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Settings that begin with ldquoBATCH_JOB_LOGGING_rdquo control the level of detail written to the batch job log visible in the Reports gt Batch Job Log screen within the application These are intended for end users and application administrators

For each command line batch job you are using you may adjust the logging settings individually by editing the corresponding systemsettingsxml file The settings in question and their recommended default values are ltLOGGING_DEBUG_ENABLEDgtNltLOGGING_DEBUG_ENABLEDgt

ltLOGGING_XML_ENABLEDgtYltLOGGING_XML_ENABLEDgt

ltLOGGING_ERROR_ENABLEDgtYltLOGGING_ERROR_ENABLEDgt

ltLOGGING_INFO_ENABLEDgtYltLOGGING_INFO_ENABLEDgt

ltLOGGING_WARN_ENABLEDgtYltLOGGING_WARN_ENABLEDgt

ltLOGGING_USER_ACTION_ENABLEDgtYltLOGGING_USER_ACTION_ENABLEDgt

ltLOGGING_USER_ACTION_PARAMS_ENABLEDgtYltLOGGING_USER_ACTION_PARAMS_ENABLEDgt

ltLOGGING_METHOD_TRACE_ENABLEDgtNltLOGGING_METHOD_TRACE_ENABLEDgt

ltLOGGING_METHOD_PARAMS_ENABLEDgtNltLOGGING_METHOD_PARAMS_ENABLEDgt

ltLOGGING_DATABASE_QUERY_ENABLEDgtNltLOGGING_DATABASE_QUERY_ENABLEDgt

ltLOGGING_DB_QUERY_PARAMS_ENABLEDgtNltLOGGING_DB_QUERY_PARAMS_ENABLEDgt

ltLOGGING_INCLUDE_DATE_FLAGgtYltLOGGING_INCLUDE_DATE_FLAGgt

ltLOGGING_INCLUDE_TIMESTAMPgtYltLOGGING_INCLUDE_TIMESTAMPgt

ltLOGGING_INCLUDE_LOG_TYPEgtYltLOGGING_INCLUDE_LOG_TYPEgt

ltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgtYltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgt

ltLOGGING_INCLUDE_USER_IDENTIFIERgtYltLOGGING_INCLUDE_USER_IDENTIFIERgt

ltLOGGING_INCLUDE_CLASS_NAMEgtYltLOGGING_INCLUDE_CLASS_NAMEgt

ltBATCH_JOB_LOGGING_ACTION_ENABLEDgtYltBATCH_JOB_LOGGING_ACTION_ENABLEDgt

ltBATCH_JOB_LOGGING_DEBUG_ENABLEDgtNltBATCH_JOB_LOGGING_DEBUG_ENABLEDgt

ltBATCH_JOB_LOGGING_ERROR_ENABLEDgtYltBATCH_JOB_LOGGING_ERROR_ENABLEDgt

ltBATCH_JOB_LOGGING_INFO_ENABLEDgtYltBATCH_JOB_LOGGING_INFO_ENABLEDgt

ltBATCH_JOB_LOGGING_WARN_ENABLEDgtYltBATCH_JOB_LOGGING_WARN_ENABLEDgt

ltLOGGING_PROGRESS_ENABLEDgtYltLOGGING_PROGRESS_ENABLEDgt

ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt120ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt60ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltLOGGING_SERVER_METRICS_ENABLEDgtYltLOGGING_SERVER_METRICS_ENABLEDgt

ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt120ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt

4 Creating and Scheduling a Batch Script Scheduling of batch import process basically involves creating a batch file (or shell script under Unix) which will set up appropriate CLASSPATH then invoke the java command and using a platform dependent scheduler to execute the batch file on a predefined schedule A sample batch file for windows platform is provided ndash copy and modify batchecosys_batch_templatebat as a starting point To run several import process simultaneously you will need to duplicate the above mentioned folder and script for each import job Since there will be a separate batch file for each process they can be scheduled to run separately or independent of each other 5 Generating XML for Import An XML generating utility is provided that can convert tabular text-based files into XML suitable for import into EcoSys EPC This step would be performed prior to invoking the import jobs described below To generate XML see the batchecosys_batch_templatebat file in the section called GenerateXML Refer to the EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for details on generating and importing XML

EcoSys EPC System Admin Topics Release 7604 Page 23 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Command Line Parameter Reference The following parameters need to be provided for the batch process

-a action -u user name -p password -f systemsettingsxml file

Action User Name Password Settings XML Additional Parameters

GenXML NA NA NA (refer to EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for parameters)

-a ImportActual -u username -p password -f settingsxml NA

-a ImportProject -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportReportDef -u username -p password -f settingsxml -importDir to specify the input definitions (required)

See Notes 4

-a ImportResource -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportXML -u username -p password -f settingsxml -xml path of xml file to import (required)

-a ImportDates -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportForecast -u username -p password -f settingsxml -cv cost object category_value_id (optional)

-a CloseoutMinorPeriod -u username -p password -f settingsxml

NA Note - when a close out is performed via the command line the application will not reflect the new minor period until both the Enterprise Data Cache (Global Type) has been refreshed and browsers for currently logged in userrsquos have refreshed An Enterprise Data Cache refresh can be forced by an administrator performing the following steps 1 Log into the EPC application 2 Go to System Information 3 Click the Cache Tab 4 Select Global Type in the Specify a

Data Cache to Refresh pick list 5 Click the Refresh Enterprise Data

Cache button 6 Each user in the application must

refresh their browser or log out and back in to see the new minor period

-a BulkCopy -u username -p password -f settingsxml NA

-a BulkPublish -u username -p password -f settingsxml NA

-a BulkRollup -u username -p password -f settingsxml NA

-a RunReportBatch -u username -p password NA -rb report batch short name (required)

-a RunAction -u username -p password -f settingsxml -action [action id or internal id] (required)

See Notes 3

-a RunActionBatch -u username -p password -f settingsxml -actionbatch [action id or internal id] (required)

See Notes 3

-a ImportCompletePercent -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportSpreadsheet -u username -p password NA See Notes 2

-a ExternalOperation -u username -p password -f settingsxml -o operation -xml param XML file See Notes 5

EcoSys EPC System Admin Topics Release 7604 Page 24 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

-a ImportCostAccount -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportRole -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportActivityCode -u username -p password -f settingsxml -ds datastore_id (required)

Note 1 The ndashDESFM_HOME= should refer to the new BATCH_HOME folder where the copy

of FMServerSettings and other files are being stored not the same ESFM_HOME folder where your application was originally installed since they may require different settings and options Note 2 For spreadsheet imports the following options apply -spreadsheet name or internal id of EPC spreadsheet (required) -file file path to excel spreadsheet you want to import (required) -format excelrdquo or ldquodelimited (default is ldquoexcelrdquo) -importLogic update or ldquoinsertrdquo or ldquoignorerdquo (default is ldquoinsertrdquo)

ldquoupdaterdquo means update existing rows

ldquoinsertrdquo means always insert as new

ldquoignorerdquo means ignore existing rows -runtimeparam ltparam namegt=ltparam valuegt (this parameter can appear multiple times on the command line as in bdquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc)

ltparam namegt must match the ID of a runtime parameter defined on the EPC spreadsheet

ltparam valuegt can either be the internal id or the short name of an EPC object Note 3 To use runtime parameters when running an action action batch or report batch from the command line simply add the params parameter to the command line arguments as inhelliprsquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc) Notes 4 set ACTION=ImportReportDef set ADDITIONAL_PARAMS=-importDir BATCH_HOMEimportreports For ACTION use ImportReportDefImportSpreadsheetDefImportFormulaDefImportActionDef depending upon SCARF element you want to import Notes 5 For external operations use ndasho to specify the name of the operation To pass in the parameters XML (overriding the defined parameters for that operation) use ndashxml followed by the name of the file containing the parameters XML 7 System Settings Input Value Reference The following list enumerates the input parameters used by batch processes These values will appear in the systemsettingsxml file automatically when exported from the GUI If you add or

edit them manually they need to be in XML tag format lttagnamegtvaluelttagnamegt

BULK COPY BULK_COPY_ROOT_SPREADSHEET_TYPE

BULK_COPY_SPREADSHEET_TYPE

BULK_COPY_TGT_SPREADSHEET_TYPE

BULK_COPY_SOURCE_VERSION

BULK_COPY_TARGET_VERSION

BULK_COPY_SOURCE_MAJORPERIOD

BULK_COPY_TARGET_MAJORPERIOD

BULK_COPY_SOURCE_VERSION_SHORT_NAME

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 4: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 4 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

3 Set the userrsquos Authentication Mode to be ldquoLDAPrdquo instead of ldquoNativerdquo This means the native password field is not used for this user

4 Subsequent logons for this user will use the LDAP server settings to authenticate this userrsquos password against your LDAP server If the LDAP user is expired disabled or if the LDAP server is not available the userrsquos logon will be rejected

4 Troubleshooting LDAP

When a user configured for LDAP attempts to log on to EcoSys EPC their logon will be rejected if they are not able to authenticate to LDAP for any reason including LDAP account expired LDAP password expired or invalid LDAP password

If the LDAP server is not available when an LDAP user attempts to log on the user will see a special error message indicating that there may be a problem with communication to the LDAP server

To troubleshoot LDAP connections and settings use the System Administration gt Application Settings gt LDAP Settings page and the test section and the bottom of the screen Detailed error messages are displayed on that screen as well as in the application log file

Using SAML Authentication Overview EcoSys EPC supports three methods for authenticating application users ndash

1 native where passwords are stored in the EcoSys EPC ldquoESFMrdquo database

2 LDAP where passwords are validated via an external LDAP server

3 custom where users are authenticated by an external authentication system

The authentication mode for users in EcoSys EPC is configured on a per-user basis so some users may use the native mode others might use LDAP and yet others might use custom Only authentication is supported currently not any authorization (security groups) or user data synchronization Security Assertion Markup Language (SAML) is a protocol that facilitates the authentication of custom users In SAML terminology EcoSys EPC fulfills the role of a Service Provider (SP - the specific use case it intends to fulfill is that of the Service Provider initiated Single Sign On (SP initiated SSO) [httpdocsoasis-openorgsecuritysamlPost20sstc-saml-tech-overview-20-cd-02html512SP-Initiated SSO RedirectPOST Bindings|outline] EcoSys EPC supports the following two SAML profiles ndash

1 Web Browser SSO Profile [httpdocsoasis-openorgsecuritysamlPost20sstc-saml-tech-overview-20-cd-02html51Web Browser SSO

Profile|outline]

2 Single Logout Profile [httpdocsoasis-openorgsecuritysamlPost20sstc-saml-tech-overview-20-cd-02html53Single Logout Profile|outline]

Both these profiles are supported only via HTTP redirectPOST bindings SOAP bindings are currently not supported Follow these steps to configure EcoSys EPC to authenticate via SAML

EcoSys EPC System Admin Topics Release 7604 Page 5 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

1 Enable SSLHTTPS on the application server Although SAML does not stipulate SSL as a mandatory requirement most Identity Providers will not trust a Service Provider that uses insecure (http) endpoints Enable SSLHTTPS on your application server so that EcoSys EPC can be accessed securely at httpsmyserverportecosys Please refer to your application serverrsquos documentation for more information on how to do this If SSLHTTPS is being enabled through a reverse proxy arrangement ensure that the web server is aware of the proxy so that URLs can be constructed correctly Again please refer to your application serverrsquos documentation for more information on how to do this 2 Enable SAML Authentication Add the following entry to ESFM_HOMEFMServerSettingsproperties ndash

serverauthenticationsamlenabled=true

3 Configure EPC as a SAML Service Provider If you were to restart the application (on the server) at this point and visit httpsmyserverportecosys you would see the following message ndash

This is because EcoSys EPC still needs to be configured as a Service Provider Since this configuration is performed through the web app (httpsmyserverportecosys) an additional server setting needs to be enabled so that an accidental enabling of SAML does not permit end users to configure SAML related settings

1 Add the following entry to ESFM_HOMEFMServerSettingsproperties ndash

serverauthenticationsamlconfigurationallowed=true

2 Restart the application on the server

3 Go to httpsmyserverportecosys You should see the following page Before continuing ensure that you have the following ndash

i the Identity Providerrsquos (IdP) metadata file (XML file) If using Microsoft ADFS as the IdP you may have to make a minor correction to the metadata file See 104 (Known issuesCommon pitfalls)

ii the private key that EcoSys EPC will use to sign SAML requests and responses (PKCS12 file or a Java keystore)

iii the PKCS12 fileJava keystore password

EcoSys EPC System Admin Topics Release 7604 Page 6 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Ensure that the URLs you see on this page all begin with https ndash if that is not the case go back to step 1

4 Under the lsquoIdentity Provider (IdP) metadatarsquo section use the lsquoChoose Filersquo button to upload the IdPrsquos metadata file Ecosys EPC will use this file to automatically configure the external authentication systemidentity provider

5 Under the lsquoConfiguration and metadata for this Service Providerrsquo section ndash i Use the lsquoChoose Filersquo button to upload a private key SAML participants must digitally

sign both their requests and responses since the trust relationship between the IdP and the SP relies upon each party being able to verify the otherrsquos identity ndash Ecosys EPC will use this file to sign requests and responses

ii Enter the private keyrsquos password iii Enter details for the organization name URL and the contact address

6 Click lsquoConfigure SAML SPrsquo You should see the following page if everything was configured

without error -

EcoSys EPC System Admin Topics Release 7604 Page 7 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

The configuration is written to ESFM_HOMESAML on the server

Note that if EcoSys EPC has been configured to run in clustered mode the above

configuration must be performed on each servermember of the cluster For example if you

were running a two node cluster in step 3 above ndash

First go to httpsclusterserverAportecosys to configure serverA of the cluster

Then repeat the process for server by going to httpsclusterserverBportecosys

4 Configure the application serverrsquos Java VM to use unlimited strength cryptography Ensure that the application serverrsquos Java VM is configured to use unlimited encryption strength algorithms Please use the following links to download and install the required policy files for your Java VM

Java 8 [httpwwworaclecomtechnetworkjavajavasedownloadsjce8-download-2133166html]

Java 7 [httpwwworaclecomtechnetworkjavajavasedownloadsjce-7-download-432124html]

Policy files are usually delivered as a zip file and contain the following two files ndash

1 local_policyjar 2 US_export_policyjar

Use these two files to replace the ones with the same names in the lsquojrelibsecurityrsquo folder of your Java installation 5 Restart the application server Restart the application server ndash note that simply restarting the web app is not sufficient 6 Configure the Identity Provider (Microsoft ADFS) The ESFM_HOMESAML folder on the server has the following structure ndash

EcoSys EPC System Admin Topics Release 7604 Page 8 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

The lsquometadataSPrsquo sub-folder contains a file called lsquoSPMetadataxmlrsquo - this is the SAML Service Providerrsquos (EPCrsquos) metadata file and should be used to configure the necessary lsquotrust relationshiprsquo on the IdP Please consult your IdPrsquos documentation for information on how to do this Note that the EcoSys EPC SP only supports the SHA-1 signature hash algorithm If your IdP is Microsoft ADFS use the following steps to configure the trust relationship ndash

1 Launch the lsquoADFS Managementrsquo application on your IdP

2 In the left-most panel Expand lsquoTrust Relationshipsrsquo and click on lsquoRelying Party Trustsrsquo

3 In the right-most panel under lsquoActionsrsquo click lsquoAdd Relying Party Trustrsquo

EcoSys EPC System Admin Topics Release 7604 Page 9 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

4 Click Start to begin the process

5 Choose the option to import data from file and select the lsquoSPMetadataxmlrsquo from the

ESFM_HOMESAMLmetadataSP folder on the application server You may have to map this

location to the ADFS server or copy the file to a network share or to the IdP

EcoSys EPC System Admin Topics Release 7604 Page 10 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Continue through the screens making sure that you see four endpoints on the lsquoReady to

Add Trustrsquo screen On the last screen (lsquoFinishrsquo) uncheck the option to

EcoSys EPC System Admin Topics Release 7604 Page 11 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 12 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

7 Once the relying party has been created right click on its entry and choose lsquoEdit Propertiesrsquo

EcoSys EPC System Admin Topics Release 7604 Page 13 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

8 On the lsquoAdvancedrsquo tab select SHA-1 as the hash algorithm and click OK Note that SHA-

256 is not supported

9 Right click on the relying party entry again but this time choose lsquoEdit Claim Rulesrsquo

10 The following steps may not necessarily be the way you want to set up your claim rules

This example shows a two rule scenario where the first rule extracts the UPN from the

EcoSys EPC System Admin Topics Release 7604 Page 14 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Active Directory and the second transforms that UPN into the X509 Subject Name (of the

form usernamedomainsuffix)

EcoSys EPC System Admin Topics Release 7604 Page 15 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 16 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 17 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

This completes configuration on the ADFS server It has been set up in such a manner that when someone tries to access EcoSys EPC ndash

i she will be redirected to the ADFS server for authentication

ii if authentication is successful ADFS will send the user details in the form

usernamedomainsuffix back to EcoSys EPC

7 Configuring Users to Authenticate Via SAML Users authenticated by the IdP need to be further authorized in EcoSys EPC This means that in the scenario described above in step 6 where the IdP sends the user details in the form usernamedomainsuffix ndash

a user with the same login ID must exist within EcoSys EPC

the userrsquos authentication mode must be configured as custom

Follow these steps to import user details from your IdP to EcoSys EPC ndash

1 Create a new spreadsheet by selecting lsquoUserrsquo as the subject area

2 Add the following columns to it ndash

i Authentication Mode (use default value lsquoCustomrsquo)

ii First Name

iii Last Name

iv Login Name

v Main Menu (Name) (either use a default value or specify one)

vi License (use an appropriate default value)

EcoSys EPC System Admin Topics Release 7604 Page 18 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

3 Export user details from the IdP preferably in Excel format containing at least the First

Name Last Name and the Login Name (usernamesuffixcom in this example)

4 Import the Excel file into the spreadsheet created in step 1

You may need to configure security groups for these newly imported users 8 Troubleshooting SAML If the SAML exchange between EcoSys EPC and the IdP were to fail for any reason you will see an error page that looks like the following ndash

The EcoSys EPC SP produces two log files in the ESFM_HOMESAMLlogs folder on the server ndash

oiosaml-splog ndash this logs requests handled by the SP

oiosaml-sp-auditlog ndash this logs exchanges between the SP and the IdP

To configure the SPrsquos logging level edit the file ESFM_HOMESAMLoiosaml-splog4jxml The default log level for both these log files is set to ERROR which means that only error events are logged to them To see more detail in these log files set the log level to DEBUG as suggested in the lsquooiosaml-splog4jxmlrsquo file ndash ltparam name=Threshold value=ERROR gt lt-- change this to DEBUG when you want to debug

authentication issues --gt

The application will need to be restarted for the new logging level to take effect If you need to verify how SAML has been configured use the System Configuration utility and search for the term lsquosamlrsquo You should see the following ndash

EcoSys EPC System Admin Topics Release 7604 Page 19 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

9 Native user support (in SAML mode) When SAML has been enabled accessing EcoSys EPC via httpsmyservernameportecosys will always redirect you to the IdP authentication portal If you wish to login as a native user access EcoSys EPC using the URL httpsmyservernameportecosyslogin_native 10 Known issuesCommon pitfalls

1 If SSLHTTPS is being enabled through a reverse proxy arrangement ensure that the web

server is aware of the proxy so that URLs can be constructed correctly (see step 1)

2 Ensure that the application serverrsquos Java VM is configured to use unlimited encryption

strength algorithms (see step 4)

3 Ensure that the EcoSys EPC is set up to use SHA-1 hashing on your IdP (see step 6)

4 If your IdP both signs and encrypts assertions ensure that the lsquosigning signaturersquo comes

before the lsquoencryption signaturersquo in the metadata file

ESFM_HOMESAMLmetadataIdPIdPMetadataxml Restart the application if you have to make

this change The XML should be as follows in this case ndash

ltEntityDescriptorgt

hellip

ltIDPSSODescriptorgt

ltKeyDescriptor use=signinggt hellip ltKeyDescriptorgt

ltKeyDescriptor use=encryptiongt hellip ltKeyDescriptorgt

hellip

ltIDPSSODescriptorgt

hellip

ltEntityDescriptorgt

5 If your IdP uses self-signed certificates enable(uncomment) the following property in the file

ESFM_HOMESAMLoiosaml-spproperties and restart the application -

EcoSys EPC System Admin Topics Release 7604 Page 20 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

oiosaml-spcrlperiod=0

6 When you logout of EcoSys EPC (as a SAML user) you are typically taken to the IdPrsquos

authentication page If yoursquod like to be redirected to a different site instead

enable(uncomment) the following property in the file ESFM_HOMESAMLoiosaml-

spproperties and restart the application -

oiosaml-splogoutredirecturl=httpredirecturl

Command Line Batch Jobs Overview Some data import and processing jobs can be scheduled to run outside of the Java application server This is useful for long-running jobs that need to recur on a regular schedule for example importing forecasts from Primavera each week You should work with your implementation team to determine whether batch jobs need to be configured and if so what their parameters and schedules should be Note Details on the import file format for XML-based external system imports can be found in the EcoSys EPC Integration Guide Follow these steps to configure a command line batch script and job The batch job script can be scheduled to run using the scheduling tools native to your serverrsquos operating system For Windows you can use Control Panel gt Scheduled Tasks For Unix you can configure a cron job 1 Configuring the Files and Settings

1 Create folder for the batch job files Typically this is under your existing ESFM_HOME

folder perhaps called lsquobatchrsquo We will refer to this folder as BATCH_HOME in this section

2 Copy following the following files from ESFM_HOME to BATCH_HOME FMServerSettingsproperties log4jproperties FMLicenseproperties

3 Edit or add these entries to BATCH_HOMEFMServerSettingsproperties

fmdatasourcefactory=comecosysmgmtframeworkcontextFMPooledDataSourceFactory

connectionPoolminSize=2

connectionPoolmaxSize=20

datasourceJDBCUser=fmuser

datasourceJDBCPass=fmuser

datasourceJDBCDriver=oraclejdbcOracleDriver

datasourceJDBCConnectString=jdbcoraclethinMYSERVERHOSTNAME1521ESFM

4 Edit log4jproperties and change value of ldquolog4jappenderFILEFilerdquo to point to a location under your BATCH_HOME folder For example ldquoBatchImportlogrdquo

5 Begin with the template batch script located under batchecosys_batch_templatebat You may copy and modify this file to perform the specific batch commands you desire using the steps below

6 Build the CLASSPATH list for the job The following jar files are required for the import process Most of the files are already available in current ldquoecosysrdquo installation

EcoSys EPC System Admin Topics Release 7604 Page 21 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Location Library Files

CP6IntegrationAPIlib

All Oracle Primavera API jar (jar) files (excluding sqljdbcjar and ojdbcjar)

BATCH_HOMElib

ojdbcjar log4j-129jar commons-dbcpjar xworkjar ognljar commons-loggingjar commons-pool-13jar ecosysjar ppmapiabstractorjar FMXMLGeneratorjar

2 Exporting System Settings to XML For maximum flexibility batch jobs run with their own system settings file that is independent of the settings in the EcoSys EPC (ldquoESFMrdquo) database The settings are stored in an XML file which you need to export from the EcoSys EPC application To do this

1 Log on to EcoSys EPC as an administrative user 2 Configure the import settings as desired You do this by navigating to the ldquoIntegrationrdquo

menu then selecting each of the ldquoImporthelliprdquo menu items For each one configure the import settings as desired and click ldquoSaverdquo This saves the system settings to the database

3 Once you have configured all the import settings as desired use the ldquoSystem Administrationrdquo gt ldquo Export Application Settingsrdquo When prompted save the systemsettingsxml file locally

4 Copy the resulting systemsettingsxml file to the ldquoBATCH_HOMErdquo folder where your batch job will be run This file will be used when running batch jobs and the settings in that file will apply only to that batch job

5 When changes to the batch jobrsquos import settings are required you can either edit the systemsettingsxml file directly or follow the steps above to export a new file

3 Configuring Batch Job Logging

The settings for logging in batch jobs invoked from the command line (outside of the application GUI) can be controlled through the systemsettingsxml file specified for each batch command This gives full control over the details logged to the batch job log (visible in the application GUI) as well as the log file written when a batch job runs (These settings take the place of any properties specified in FMServerSettingsproperties)

Settings that begin with ldquoLOGGING_rdquo control the level of detail written to the log file These are primarily intended for system administrators

EcoSys EPC System Admin Topics Release 7604 Page 22 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Settings that begin with ldquoBATCH_JOB_LOGGING_rdquo control the level of detail written to the batch job log visible in the Reports gt Batch Job Log screen within the application These are intended for end users and application administrators

For each command line batch job you are using you may adjust the logging settings individually by editing the corresponding systemsettingsxml file The settings in question and their recommended default values are ltLOGGING_DEBUG_ENABLEDgtNltLOGGING_DEBUG_ENABLEDgt

ltLOGGING_XML_ENABLEDgtYltLOGGING_XML_ENABLEDgt

ltLOGGING_ERROR_ENABLEDgtYltLOGGING_ERROR_ENABLEDgt

ltLOGGING_INFO_ENABLEDgtYltLOGGING_INFO_ENABLEDgt

ltLOGGING_WARN_ENABLEDgtYltLOGGING_WARN_ENABLEDgt

ltLOGGING_USER_ACTION_ENABLEDgtYltLOGGING_USER_ACTION_ENABLEDgt

ltLOGGING_USER_ACTION_PARAMS_ENABLEDgtYltLOGGING_USER_ACTION_PARAMS_ENABLEDgt

ltLOGGING_METHOD_TRACE_ENABLEDgtNltLOGGING_METHOD_TRACE_ENABLEDgt

ltLOGGING_METHOD_PARAMS_ENABLEDgtNltLOGGING_METHOD_PARAMS_ENABLEDgt

ltLOGGING_DATABASE_QUERY_ENABLEDgtNltLOGGING_DATABASE_QUERY_ENABLEDgt

ltLOGGING_DB_QUERY_PARAMS_ENABLEDgtNltLOGGING_DB_QUERY_PARAMS_ENABLEDgt

ltLOGGING_INCLUDE_DATE_FLAGgtYltLOGGING_INCLUDE_DATE_FLAGgt

ltLOGGING_INCLUDE_TIMESTAMPgtYltLOGGING_INCLUDE_TIMESTAMPgt

ltLOGGING_INCLUDE_LOG_TYPEgtYltLOGGING_INCLUDE_LOG_TYPEgt

ltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgtYltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgt

ltLOGGING_INCLUDE_USER_IDENTIFIERgtYltLOGGING_INCLUDE_USER_IDENTIFIERgt

ltLOGGING_INCLUDE_CLASS_NAMEgtYltLOGGING_INCLUDE_CLASS_NAMEgt

ltBATCH_JOB_LOGGING_ACTION_ENABLEDgtYltBATCH_JOB_LOGGING_ACTION_ENABLEDgt

ltBATCH_JOB_LOGGING_DEBUG_ENABLEDgtNltBATCH_JOB_LOGGING_DEBUG_ENABLEDgt

ltBATCH_JOB_LOGGING_ERROR_ENABLEDgtYltBATCH_JOB_LOGGING_ERROR_ENABLEDgt

ltBATCH_JOB_LOGGING_INFO_ENABLEDgtYltBATCH_JOB_LOGGING_INFO_ENABLEDgt

ltBATCH_JOB_LOGGING_WARN_ENABLEDgtYltBATCH_JOB_LOGGING_WARN_ENABLEDgt

ltLOGGING_PROGRESS_ENABLEDgtYltLOGGING_PROGRESS_ENABLEDgt

ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt120ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt60ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltLOGGING_SERVER_METRICS_ENABLEDgtYltLOGGING_SERVER_METRICS_ENABLEDgt

ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt120ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt

4 Creating and Scheduling a Batch Script Scheduling of batch import process basically involves creating a batch file (or shell script under Unix) which will set up appropriate CLASSPATH then invoke the java command and using a platform dependent scheduler to execute the batch file on a predefined schedule A sample batch file for windows platform is provided ndash copy and modify batchecosys_batch_templatebat as a starting point To run several import process simultaneously you will need to duplicate the above mentioned folder and script for each import job Since there will be a separate batch file for each process they can be scheduled to run separately or independent of each other 5 Generating XML for Import An XML generating utility is provided that can convert tabular text-based files into XML suitable for import into EcoSys EPC This step would be performed prior to invoking the import jobs described below To generate XML see the batchecosys_batch_templatebat file in the section called GenerateXML Refer to the EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for details on generating and importing XML

EcoSys EPC System Admin Topics Release 7604 Page 23 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Command Line Parameter Reference The following parameters need to be provided for the batch process

-a action -u user name -p password -f systemsettingsxml file

Action User Name Password Settings XML Additional Parameters

GenXML NA NA NA (refer to EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for parameters)

-a ImportActual -u username -p password -f settingsxml NA

-a ImportProject -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportReportDef -u username -p password -f settingsxml -importDir to specify the input definitions (required)

See Notes 4

-a ImportResource -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportXML -u username -p password -f settingsxml -xml path of xml file to import (required)

-a ImportDates -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportForecast -u username -p password -f settingsxml -cv cost object category_value_id (optional)

-a CloseoutMinorPeriod -u username -p password -f settingsxml

NA Note - when a close out is performed via the command line the application will not reflect the new minor period until both the Enterprise Data Cache (Global Type) has been refreshed and browsers for currently logged in userrsquos have refreshed An Enterprise Data Cache refresh can be forced by an administrator performing the following steps 1 Log into the EPC application 2 Go to System Information 3 Click the Cache Tab 4 Select Global Type in the Specify a

Data Cache to Refresh pick list 5 Click the Refresh Enterprise Data

Cache button 6 Each user in the application must

refresh their browser or log out and back in to see the new minor period

-a BulkCopy -u username -p password -f settingsxml NA

-a BulkPublish -u username -p password -f settingsxml NA

-a BulkRollup -u username -p password -f settingsxml NA

-a RunReportBatch -u username -p password NA -rb report batch short name (required)

-a RunAction -u username -p password -f settingsxml -action [action id or internal id] (required)

See Notes 3

-a RunActionBatch -u username -p password -f settingsxml -actionbatch [action id or internal id] (required)

See Notes 3

-a ImportCompletePercent -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportSpreadsheet -u username -p password NA See Notes 2

-a ExternalOperation -u username -p password -f settingsxml -o operation -xml param XML file See Notes 5

EcoSys EPC System Admin Topics Release 7604 Page 24 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

-a ImportCostAccount -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportRole -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportActivityCode -u username -p password -f settingsxml -ds datastore_id (required)

Note 1 The ndashDESFM_HOME= should refer to the new BATCH_HOME folder where the copy

of FMServerSettings and other files are being stored not the same ESFM_HOME folder where your application was originally installed since they may require different settings and options Note 2 For spreadsheet imports the following options apply -spreadsheet name or internal id of EPC spreadsheet (required) -file file path to excel spreadsheet you want to import (required) -format excelrdquo or ldquodelimited (default is ldquoexcelrdquo) -importLogic update or ldquoinsertrdquo or ldquoignorerdquo (default is ldquoinsertrdquo)

ldquoupdaterdquo means update existing rows

ldquoinsertrdquo means always insert as new

ldquoignorerdquo means ignore existing rows -runtimeparam ltparam namegt=ltparam valuegt (this parameter can appear multiple times on the command line as in bdquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc)

ltparam namegt must match the ID of a runtime parameter defined on the EPC spreadsheet

ltparam valuegt can either be the internal id or the short name of an EPC object Note 3 To use runtime parameters when running an action action batch or report batch from the command line simply add the params parameter to the command line arguments as inhelliprsquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc) Notes 4 set ACTION=ImportReportDef set ADDITIONAL_PARAMS=-importDir BATCH_HOMEimportreports For ACTION use ImportReportDefImportSpreadsheetDefImportFormulaDefImportActionDef depending upon SCARF element you want to import Notes 5 For external operations use ndasho to specify the name of the operation To pass in the parameters XML (overriding the defined parameters for that operation) use ndashxml followed by the name of the file containing the parameters XML 7 System Settings Input Value Reference The following list enumerates the input parameters used by batch processes These values will appear in the systemsettingsxml file automatically when exported from the GUI If you add or

edit them manually they need to be in XML tag format lttagnamegtvaluelttagnamegt

BULK COPY BULK_COPY_ROOT_SPREADSHEET_TYPE

BULK_COPY_SPREADSHEET_TYPE

BULK_COPY_TGT_SPREADSHEET_TYPE

BULK_COPY_SOURCE_VERSION

BULK_COPY_TARGET_VERSION

BULK_COPY_SOURCE_MAJORPERIOD

BULK_COPY_TARGET_MAJORPERIOD

BULK_COPY_SOURCE_VERSION_SHORT_NAME

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 5: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 5 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

1 Enable SSLHTTPS on the application server Although SAML does not stipulate SSL as a mandatory requirement most Identity Providers will not trust a Service Provider that uses insecure (http) endpoints Enable SSLHTTPS on your application server so that EcoSys EPC can be accessed securely at httpsmyserverportecosys Please refer to your application serverrsquos documentation for more information on how to do this If SSLHTTPS is being enabled through a reverse proxy arrangement ensure that the web server is aware of the proxy so that URLs can be constructed correctly Again please refer to your application serverrsquos documentation for more information on how to do this 2 Enable SAML Authentication Add the following entry to ESFM_HOMEFMServerSettingsproperties ndash

serverauthenticationsamlenabled=true

3 Configure EPC as a SAML Service Provider If you were to restart the application (on the server) at this point and visit httpsmyserverportecosys you would see the following message ndash

This is because EcoSys EPC still needs to be configured as a Service Provider Since this configuration is performed through the web app (httpsmyserverportecosys) an additional server setting needs to be enabled so that an accidental enabling of SAML does not permit end users to configure SAML related settings

1 Add the following entry to ESFM_HOMEFMServerSettingsproperties ndash

serverauthenticationsamlconfigurationallowed=true

2 Restart the application on the server

3 Go to httpsmyserverportecosys You should see the following page Before continuing ensure that you have the following ndash

i the Identity Providerrsquos (IdP) metadata file (XML file) If using Microsoft ADFS as the IdP you may have to make a minor correction to the metadata file See 104 (Known issuesCommon pitfalls)

ii the private key that EcoSys EPC will use to sign SAML requests and responses (PKCS12 file or a Java keystore)

iii the PKCS12 fileJava keystore password

EcoSys EPC System Admin Topics Release 7604 Page 6 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Ensure that the URLs you see on this page all begin with https ndash if that is not the case go back to step 1

4 Under the lsquoIdentity Provider (IdP) metadatarsquo section use the lsquoChoose Filersquo button to upload the IdPrsquos metadata file Ecosys EPC will use this file to automatically configure the external authentication systemidentity provider

5 Under the lsquoConfiguration and metadata for this Service Providerrsquo section ndash i Use the lsquoChoose Filersquo button to upload a private key SAML participants must digitally

sign both their requests and responses since the trust relationship between the IdP and the SP relies upon each party being able to verify the otherrsquos identity ndash Ecosys EPC will use this file to sign requests and responses

ii Enter the private keyrsquos password iii Enter details for the organization name URL and the contact address

6 Click lsquoConfigure SAML SPrsquo You should see the following page if everything was configured

without error -

EcoSys EPC System Admin Topics Release 7604 Page 7 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

The configuration is written to ESFM_HOMESAML on the server

Note that if EcoSys EPC has been configured to run in clustered mode the above

configuration must be performed on each servermember of the cluster For example if you

were running a two node cluster in step 3 above ndash

First go to httpsclusterserverAportecosys to configure serverA of the cluster

Then repeat the process for server by going to httpsclusterserverBportecosys

4 Configure the application serverrsquos Java VM to use unlimited strength cryptography Ensure that the application serverrsquos Java VM is configured to use unlimited encryption strength algorithms Please use the following links to download and install the required policy files for your Java VM

Java 8 [httpwwworaclecomtechnetworkjavajavasedownloadsjce8-download-2133166html]

Java 7 [httpwwworaclecomtechnetworkjavajavasedownloadsjce-7-download-432124html]

Policy files are usually delivered as a zip file and contain the following two files ndash

1 local_policyjar 2 US_export_policyjar

Use these two files to replace the ones with the same names in the lsquojrelibsecurityrsquo folder of your Java installation 5 Restart the application server Restart the application server ndash note that simply restarting the web app is not sufficient 6 Configure the Identity Provider (Microsoft ADFS) The ESFM_HOMESAML folder on the server has the following structure ndash

EcoSys EPC System Admin Topics Release 7604 Page 8 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

The lsquometadataSPrsquo sub-folder contains a file called lsquoSPMetadataxmlrsquo - this is the SAML Service Providerrsquos (EPCrsquos) metadata file and should be used to configure the necessary lsquotrust relationshiprsquo on the IdP Please consult your IdPrsquos documentation for information on how to do this Note that the EcoSys EPC SP only supports the SHA-1 signature hash algorithm If your IdP is Microsoft ADFS use the following steps to configure the trust relationship ndash

1 Launch the lsquoADFS Managementrsquo application on your IdP

2 In the left-most panel Expand lsquoTrust Relationshipsrsquo and click on lsquoRelying Party Trustsrsquo

3 In the right-most panel under lsquoActionsrsquo click lsquoAdd Relying Party Trustrsquo

EcoSys EPC System Admin Topics Release 7604 Page 9 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

4 Click Start to begin the process

5 Choose the option to import data from file and select the lsquoSPMetadataxmlrsquo from the

ESFM_HOMESAMLmetadataSP folder on the application server You may have to map this

location to the ADFS server or copy the file to a network share or to the IdP

EcoSys EPC System Admin Topics Release 7604 Page 10 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Continue through the screens making sure that you see four endpoints on the lsquoReady to

Add Trustrsquo screen On the last screen (lsquoFinishrsquo) uncheck the option to

EcoSys EPC System Admin Topics Release 7604 Page 11 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 12 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

7 Once the relying party has been created right click on its entry and choose lsquoEdit Propertiesrsquo

EcoSys EPC System Admin Topics Release 7604 Page 13 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

8 On the lsquoAdvancedrsquo tab select SHA-1 as the hash algorithm and click OK Note that SHA-

256 is not supported

9 Right click on the relying party entry again but this time choose lsquoEdit Claim Rulesrsquo

10 The following steps may not necessarily be the way you want to set up your claim rules

This example shows a two rule scenario where the first rule extracts the UPN from the

EcoSys EPC System Admin Topics Release 7604 Page 14 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Active Directory and the second transforms that UPN into the X509 Subject Name (of the

form usernamedomainsuffix)

EcoSys EPC System Admin Topics Release 7604 Page 15 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 16 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 17 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

This completes configuration on the ADFS server It has been set up in such a manner that when someone tries to access EcoSys EPC ndash

i she will be redirected to the ADFS server for authentication

ii if authentication is successful ADFS will send the user details in the form

usernamedomainsuffix back to EcoSys EPC

7 Configuring Users to Authenticate Via SAML Users authenticated by the IdP need to be further authorized in EcoSys EPC This means that in the scenario described above in step 6 where the IdP sends the user details in the form usernamedomainsuffix ndash

a user with the same login ID must exist within EcoSys EPC

the userrsquos authentication mode must be configured as custom

Follow these steps to import user details from your IdP to EcoSys EPC ndash

1 Create a new spreadsheet by selecting lsquoUserrsquo as the subject area

2 Add the following columns to it ndash

i Authentication Mode (use default value lsquoCustomrsquo)

ii First Name

iii Last Name

iv Login Name

v Main Menu (Name) (either use a default value or specify one)

vi License (use an appropriate default value)

EcoSys EPC System Admin Topics Release 7604 Page 18 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

3 Export user details from the IdP preferably in Excel format containing at least the First

Name Last Name and the Login Name (usernamesuffixcom in this example)

4 Import the Excel file into the spreadsheet created in step 1

You may need to configure security groups for these newly imported users 8 Troubleshooting SAML If the SAML exchange between EcoSys EPC and the IdP were to fail for any reason you will see an error page that looks like the following ndash

The EcoSys EPC SP produces two log files in the ESFM_HOMESAMLlogs folder on the server ndash

oiosaml-splog ndash this logs requests handled by the SP

oiosaml-sp-auditlog ndash this logs exchanges between the SP and the IdP

To configure the SPrsquos logging level edit the file ESFM_HOMESAMLoiosaml-splog4jxml The default log level for both these log files is set to ERROR which means that only error events are logged to them To see more detail in these log files set the log level to DEBUG as suggested in the lsquooiosaml-splog4jxmlrsquo file ndash ltparam name=Threshold value=ERROR gt lt-- change this to DEBUG when you want to debug

authentication issues --gt

The application will need to be restarted for the new logging level to take effect If you need to verify how SAML has been configured use the System Configuration utility and search for the term lsquosamlrsquo You should see the following ndash

EcoSys EPC System Admin Topics Release 7604 Page 19 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

9 Native user support (in SAML mode) When SAML has been enabled accessing EcoSys EPC via httpsmyservernameportecosys will always redirect you to the IdP authentication portal If you wish to login as a native user access EcoSys EPC using the URL httpsmyservernameportecosyslogin_native 10 Known issuesCommon pitfalls

1 If SSLHTTPS is being enabled through a reverse proxy arrangement ensure that the web

server is aware of the proxy so that URLs can be constructed correctly (see step 1)

2 Ensure that the application serverrsquos Java VM is configured to use unlimited encryption

strength algorithms (see step 4)

3 Ensure that the EcoSys EPC is set up to use SHA-1 hashing on your IdP (see step 6)

4 If your IdP both signs and encrypts assertions ensure that the lsquosigning signaturersquo comes

before the lsquoencryption signaturersquo in the metadata file

ESFM_HOMESAMLmetadataIdPIdPMetadataxml Restart the application if you have to make

this change The XML should be as follows in this case ndash

ltEntityDescriptorgt

hellip

ltIDPSSODescriptorgt

ltKeyDescriptor use=signinggt hellip ltKeyDescriptorgt

ltKeyDescriptor use=encryptiongt hellip ltKeyDescriptorgt

hellip

ltIDPSSODescriptorgt

hellip

ltEntityDescriptorgt

5 If your IdP uses self-signed certificates enable(uncomment) the following property in the file

ESFM_HOMESAMLoiosaml-spproperties and restart the application -

EcoSys EPC System Admin Topics Release 7604 Page 20 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

oiosaml-spcrlperiod=0

6 When you logout of EcoSys EPC (as a SAML user) you are typically taken to the IdPrsquos

authentication page If yoursquod like to be redirected to a different site instead

enable(uncomment) the following property in the file ESFM_HOMESAMLoiosaml-

spproperties and restart the application -

oiosaml-splogoutredirecturl=httpredirecturl

Command Line Batch Jobs Overview Some data import and processing jobs can be scheduled to run outside of the Java application server This is useful for long-running jobs that need to recur on a regular schedule for example importing forecasts from Primavera each week You should work with your implementation team to determine whether batch jobs need to be configured and if so what their parameters and schedules should be Note Details on the import file format for XML-based external system imports can be found in the EcoSys EPC Integration Guide Follow these steps to configure a command line batch script and job The batch job script can be scheduled to run using the scheduling tools native to your serverrsquos operating system For Windows you can use Control Panel gt Scheduled Tasks For Unix you can configure a cron job 1 Configuring the Files and Settings

1 Create folder for the batch job files Typically this is under your existing ESFM_HOME

folder perhaps called lsquobatchrsquo We will refer to this folder as BATCH_HOME in this section

2 Copy following the following files from ESFM_HOME to BATCH_HOME FMServerSettingsproperties log4jproperties FMLicenseproperties

3 Edit or add these entries to BATCH_HOMEFMServerSettingsproperties

fmdatasourcefactory=comecosysmgmtframeworkcontextFMPooledDataSourceFactory

connectionPoolminSize=2

connectionPoolmaxSize=20

datasourceJDBCUser=fmuser

datasourceJDBCPass=fmuser

datasourceJDBCDriver=oraclejdbcOracleDriver

datasourceJDBCConnectString=jdbcoraclethinMYSERVERHOSTNAME1521ESFM

4 Edit log4jproperties and change value of ldquolog4jappenderFILEFilerdquo to point to a location under your BATCH_HOME folder For example ldquoBatchImportlogrdquo

5 Begin with the template batch script located under batchecosys_batch_templatebat You may copy and modify this file to perform the specific batch commands you desire using the steps below

6 Build the CLASSPATH list for the job The following jar files are required for the import process Most of the files are already available in current ldquoecosysrdquo installation

EcoSys EPC System Admin Topics Release 7604 Page 21 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Location Library Files

CP6IntegrationAPIlib

All Oracle Primavera API jar (jar) files (excluding sqljdbcjar and ojdbcjar)

BATCH_HOMElib

ojdbcjar log4j-129jar commons-dbcpjar xworkjar ognljar commons-loggingjar commons-pool-13jar ecosysjar ppmapiabstractorjar FMXMLGeneratorjar

2 Exporting System Settings to XML For maximum flexibility batch jobs run with their own system settings file that is independent of the settings in the EcoSys EPC (ldquoESFMrdquo) database The settings are stored in an XML file which you need to export from the EcoSys EPC application To do this

1 Log on to EcoSys EPC as an administrative user 2 Configure the import settings as desired You do this by navigating to the ldquoIntegrationrdquo

menu then selecting each of the ldquoImporthelliprdquo menu items For each one configure the import settings as desired and click ldquoSaverdquo This saves the system settings to the database

3 Once you have configured all the import settings as desired use the ldquoSystem Administrationrdquo gt ldquo Export Application Settingsrdquo When prompted save the systemsettingsxml file locally

4 Copy the resulting systemsettingsxml file to the ldquoBATCH_HOMErdquo folder where your batch job will be run This file will be used when running batch jobs and the settings in that file will apply only to that batch job

5 When changes to the batch jobrsquos import settings are required you can either edit the systemsettingsxml file directly or follow the steps above to export a new file

3 Configuring Batch Job Logging

The settings for logging in batch jobs invoked from the command line (outside of the application GUI) can be controlled through the systemsettingsxml file specified for each batch command This gives full control over the details logged to the batch job log (visible in the application GUI) as well as the log file written when a batch job runs (These settings take the place of any properties specified in FMServerSettingsproperties)

Settings that begin with ldquoLOGGING_rdquo control the level of detail written to the log file These are primarily intended for system administrators

EcoSys EPC System Admin Topics Release 7604 Page 22 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Settings that begin with ldquoBATCH_JOB_LOGGING_rdquo control the level of detail written to the batch job log visible in the Reports gt Batch Job Log screen within the application These are intended for end users and application administrators

For each command line batch job you are using you may adjust the logging settings individually by editing the corresponding systemsettingsxml file The settings in question and their recommended default values are ltLOGGING_DEBUG_ENABLEDgtNltLOGGING_DEBUG_ENABLEDgt

ltLOGGING_XML_ENABLEDgtYltLOGGING_XML_ENABLEDgt

ltLOGGING_ERROR_ENABLEDgtYltLOGGING_ERROR_ENABLEDgt

ltLOGGING_INFO_ENABLEDgtYltLOGGING_INFO_ENABLEDgt

ltLOGGING_WARN_ENABLEDgtYltLOGGING_WARN_ENABLEDgt

ltLOGGING_USER_ACTION_ENABLEDgtYltLOGGING_USER_ACTION_ENABLEDgt

ltLOGGING_USER_ACTION_PARAMS_ENABLEDgtYltLOGGING_USER_ACTION_PARAMS_ENABLEDgt

ltLOGGING_METHOD_TRACE_ENABLEDgtNltLOGGING_METHOD_TRACE_ENABLEDgt

ltLOGGING_METHOD_PARAMS_ENABLEDgtNltLOGGING_METHOD_PARAMS_ENABLEDgt

ltLOGGING_DATABASE_QUERY_ENABLEDgtNltLOGGING_DATABASE_QUERY_ENABLEDgt

ltLOGGING_DB_QUERY_PARAMS_ENABLEDgtNltLOGGING_DB_QUERY_PARAMS_ENABLEDgt

ltLOGGING_INCLUDE_DATE_FLAGgtYltLOGGING_INCLUDE_DATE_FLAGgt

ltLOGGING_INCLUDE_TIMESTAMPgtYltLOGGING_INCLUDE_TIMESTAMPgt

ltLOGGING_INCLUDE_LOG_TYPEgtYltLOGGING_INCLUDE_LOG_TYPEgt

ltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgtYltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgt

ltLOGGING_INCLUDE_USER_IDENTIFIERgtYltLOGGING_INCLUDE_USER_IDENTIFIERgt

ltLOGGING_INCLUDE_CLASS_NAMEgtYltLOGGING_INCLUDE_CLASS_NAMEgt

ltBATCH_JOB_LOGGING_ACTION_ENABLEDgtYltBATCH_JOB_LOGGING_ACTION_ENABLEDgt

ltBATCH_JOB_LOGGING_DEBUG_ENABLEDgtNltBATCH_JOB_LOGGING_DEBUG_ENABLEDgt

ltBATCH_JOB_LOGGING_ERROR_ENABLEDgtYltBATCH_JOB_LOGGING_ERROR_ENABLEDgt

ltBATCH_JOB_LOGGING_INFO_ENABLEDgtYltBATCH_JOB_LOGGING_INFO_ENABLEDgt

ltBATCH_JOB_LOGGING_WARN_ENABLEDgtYltBATCH_JOB_LOGGING_WARN_ENABLEDgt

ltLOGGING_PROGRESS_ENABLEDgtYltLOGGING_PROGRESS_ENABLEDgt

ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt120ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt60ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltLOGGING_SERVER_METRICS_ENABLEDgtYltLOGGING_SERVER_METRICS_ENABLEDgt

ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt120ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt

4 Creating and Scheduling a Batch Script Scheduling of batch import process basically involves creating a batch file (or shell script under Unix) which will set up appropriate CLASSPATH then invoke the java command and using a platform dependent scheduler to execute the batch file on a predefined schedule A sample batch file for windows platform is provided ndash copy and modify batchecosys_batch_templatebat as a starting point To run several import process simultaneously you will need to duplicate the above mentioned folder and script for each import job Since there will be a separate batch file for each process they can be scheduled to run separately or independent of each other 5 Generating XML for Import An XML generating utility is provided that can convert tabular text-based files into XML suitable for import into EcoSys EPC This step would be performed prior to invoking the import jobs described below To generate XML see the batchecosys_batch_templatebat file in the section called GenerateXML Refer to the EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for details on generating and importing XML

EcoSys EPC System Admin Topics Release 7604 Page 23 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Command Line Parameter Reference The following parameters need to be provided for the batch process

-a action -u user name -p password -f systemsettingsxml file

Action User Name Password Settings XML Additional Parameters

GenXML NA NA NA (refer to EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for parameters)

-a ImportActual -u username -p password -f settingsxml NA

-a ImportProject -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportReportDef -u username -p password -f settingsxml -importDir to specify the input definitions (required)

See Notes 4

-a ImportResource -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportXML -u username -p password -f settingsxml -xml path of xml file to import (required)

-a ImportDates -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportForecast -u username -p password -f settingsxml -cv cost object category_value_id (optional)

-a CloseoutMinorPeriod -u username -p password -f settingsxml

NA Note - when a close out is performed via the command line the application will not reflect the new minor period until both the Enterprise Data Cache (Global Type) has been refreshed and browsers for currently logged in userrsquos have refreshed An Enterprise Data Cache refresh can be forced by an administrator performing the following steps 1 Log into the EPC application 2 Go to System Information 3 Click the Cache Tab 4 Select Global Type in the Specify a

Data Cache to Refresh pick list 5 Click the Refresh Enterprise Data

Cache button 6 Each user in the application must

refresh their browser or log out and back in to see the new minor period

-a BulkCopy -u username -p password -f settingsxml NA

-a BulkPublish -u username -p password -f settingsxml NA

-a BulkRollup -u username -p password -f settingsxml NA

-a RunReportBatch -u username -p password NA -rb report batch short name (required)

-a RunAction -u username -p password -f settingsxml -action [action id or internal id] (required)

See Notes 3

-a RunActionBatch -u username -p password -f settingsxml -actionbatch [action id or internal id] (required)

See Notes 3

-a ImportCompletePercent -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportSpreadsheet -u username -p password NA See Notes 2

-a ExternalOperation -u username -p password -f settingsxml -o operation -xml param XML file See Notes 5

EcoSys EPC System Admin Topics Release 7604 Page 24 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

-a ImportCostAccount -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportRole -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportActivityCode -u username -p password -f settingsxml -ds datastore_id (required)

Note 1 The ndashDESFM_HOME= should refer to the new BATCH_HOME folder where the copy

of FMServerSettings and other files are being stored not the same ESFM_HOME folder where your application was originally installed since they may require different settings and options Note 2 For spreadsheet imports the following options apply -spreadsheet name or internal id of EPC spreadsheet (required) -file file path to excel spreadsheet you want to import (required) -format excelrdquo or ldquodelimited (default is ldquoexcelrdquo) -importLogic update or ldquoinsertrdquo or ldquoignorerdquo (default is ldquoinsertrdquo)

ldquoupdaterdquo means update existing rows

ldquoinsertrdquo means always insert as new

ldquoignorerdquo means ignore existing rows -runtimeparam ltparam namegt=ltparam valuegt (this parameter can appear multiple times on the command line as in bdquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc)

ltparam namegt must match the ID of a runtime parameter defined on the EPC spreadsheet

ltparam valuegt can either be the internal id or the short name of an EPC object Note 3 To use runtime parameters when running an action action batch or report batch from the command line simply add the params parameter to the command line arguments as inhelliprsquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc) Notes 4 set ACTION=ImportReportDef set ADDITIONAL_PARAMS=-importDir BATCH_HOMEimportreports For ACTION use ImportReportDefImportSpreadsheetDefImportFormulaDefImportActionDef depending upon SCARF element you want to import Notes 5 For external operations use ndasho to specify the name of the operation To pass in the parameters XML (overriding the defined parameters for that operation) use ndashxml followed by the name of the file containing the parameters XML 7 System Settings Input Value Reference The following list enumerates the input parameters used by batch processes These values will appear in the systemsettingsxml file automatically when exported from the GUI If you add or

edit them manually they need to be in XML tag format lttagnamegtvaluelttagnamegt

BULK COPY BULK_COPY_ROOT_SPREADSHEET_TYPE

BULK_COPY_SPREADSHEET_TYPE

BULK_COPY_TGT_SPREADSHEET_TYPE

BULK_COPY_SOURCE_VERSION

BULK_COPY_TARGET_VERSION

BULK_COPY_SOURCE_MAJORPERIOD

BULK_COPY_TARGET_MAJORPERIOD

BULK_COPY_SOURCE_VERSION_SHORT_NAME

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 6: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 6 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Ensure that the URLs you see on this page all begin with https ndash if that is not the case go back to step 1

4 Under the lsquoIdentity Provider (IdP) metadatarsquo section use the lsquoChoose Filersquo button to upload the IdPrsquos metadata file Ecosys EPC will use this file to automatically configure the external authentication systemidentity provider

5 Under the lsquoConfiguration and metadata for this Service Providerrsquo section ndash i Use the lsquoChoose Filersquo button to upload a private key SAML participants must digitally

sign both their requests and responses since the trust relationship between the IdP and the SP relies upon each party being able to verify the otherrsquos identity ndash Ecosys EPC will use this file to sign requests and responses

ii Enter the private keyrsquos password iii Enter details for the organization name URL and the contact address

6 Click lsquoConfigure SAML SPrsquo You should see the following page if everything was configured

without error -

EcoSys EPC System Admin Topics Release 7604 Page 7 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

The configuration is written to ESFM_HOMESAML on the server

Note that if EcoSys EPC has been configured to run in clustered mode the above

configuration must be performed on each servermember of the cluster For example if you

were running a two node cluster in step 3 above ndash

First go to httpsclusterserverAportecosys to configure serverA of the cluster

Then repeat the process for server by going to httpsclusterserverBportecosys

4 Configure the application serverrsquos Java VM to use unlimited strength cryptography Ensure that the application serverrsquos Java VM is configured to use unlimited encryption strength algorithms Please use the following links to download and install the required policy files for your Java VM

Java 8 [httpwwworaclecomtechnetworkjavajavasedownloadsjce8-download-2133166html]

Java 7 [httpwwworaclecomtechnetworkjavajavasedownloadsjce-7-download-432124html]

Policy files are usually delivered as a zip file and contain the following two files ndash

1 local_policyjar 2 US_export_policyjar

Use these two files to replace the ones with the same names in the lsquojrelibsecurityrsquo folder of your Java installation 5 Restart the application server Restart the application server ndash note that simply restarting the web app is not sufficient 6 Configure the Identity Provider (Microsoft ADFS) The ESFM_HOMESAML folder on the server has the following structure ndash

EcoSys EPC System Admin Topics Release 7604 Page 8 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

The lsquometadataSPrsquo sub-folder contains a file called lsquoSPMetadataxmlrsquo - this is the SAML Service Providerrsquos (EPCrsquos) metadata file and should be used to configure the necessary lsquotrust relationshiprsquo on the IdP Please consult your IdPrsquos documentation for information on how to do this Note that the EcoSys EPC SP only supports the SHA-1 signature hash algorithm If your IdP is Microsoft ADFS use the following steps to configure the trust relationship ndash

1 Launch the lsquoADFS Managementrsquo application on your IdP

2 In the left-most panel Expand lsquoTrust Relationshipsrsquo and click on lsquoRelying Party Trustsrsquo

3 In the right-most panel under lsquoActionsrsquo click lsquoAdd Relying Party Trustrsquo

EcoSys EPC System Admin Topics Release 7604 Page 9 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

4 Click Start to begin the process

5 Choose the option to import data from file and select the lsquoSPMetadataxmlrsquo from the

ESFM_HOMESAMLmetadataSP folder on the application server You may have to map this

location to the ADFS server or copy the file to a network share or to the IdP

EcoSys EPC System Admin Topics Release 7604 Page 10 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Continue through the screens making sure that you see four endpoints on the lsquoReady to

Add Trustrsquo screen On the last screen (lsquoFinishrsquo) uncheck the option to

EcoSys EPC System Admin Topics Release 7604 Page 11 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 12 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

7 Once the relying party has been created right click on its entry and choose lsquoEdit Propertiesrsquo

EcoSys EPC System Admin Topics Release 7604 Page 13 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

8 On the lsquoAdvancedrsquo tab select SHA-1 as the hash algorithm and click OK Note that SHA-

256 is not supported

9 Right click on the relying party entry again but this time choose lsquoEdit Claim Rulesrsquo

10 The following steps may not necessarily be the way you want to set up your claim rules

This example shows a two rule scenario where the first rule extracts the UPN from the

EcoSys EPC System Admin Topics Release 7604 Page 14 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Active Directory and the second transforms that UPN into the X509 Subject Name (of the

form usernamedomainsuffix)

EcoSys EPC System Admin Topics Release 7604 Page 15 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 16 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 17 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

This completes configuration on the ADFS server It has been set up in such a manner that when someone tries to access EcoSys EPC ndash

i she will be redirected to the ADFS server for authentication

ii if authentication is successful ADFS will send the user details in the form

usernamedomainsuffix back to EcoSys EPC

7 Configuring Users to Authenticate Via SAML Users authenticated by the IdP need to be further authorized in EcoSys EPC This means that in the scenario described above in step 6 where the IdP sends the user details in the form usernamedomainsuffix ndash

a user with the same login ID must exist within EcoSys EPC

the userrsquos authentication mode must be configured as custom

Follow these steps to import user details from your IdP to EcoSys EPC ndash

1 Create a new spreadsheet by selecting lsquoUserrsquo as the subject area

2 Add the following columns to it ndash

i Authentication Mode (use default value lsquoCustomrsquo)

ii First Name

iii Last Name

iv Login Name

v Main Menu (Name) (either use a default value or specify one)

vi License (use an appropriate default value)

EcoSys EPC System Admin Topics Release 7604 Page 18 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

3 Export user details from the IdP preferably in Excel format containing at least the First

Name Last Name and the Login Name (usernamesuffixcom in this example)

4 Import the Excel file into the spreadsheet created in step 1

You may need to configure security groups for these newly imported users 8 Troubleshooting SAML If the SAML exchange between EcoSys EPC and the IdP were to fail for any reason you will see an error page that looks like the following ndash

The EcoSys EPC SP produces two log files in the ESFM_HOMESAMLlogs folder on the server ndash

oiosaml-splog ndash this logs requests handled by the SP

oiosaml-sp-auditlog ndash this logs exchanges between the SP and the IdP

To configure the SPrsquos logging level edit the file ESFM_HOMESAMLoiosaml-splog4jxml The default log level for both these log files is set to ERROR which means that only error events are logged to them To see more detail in these log files set the log level to DEBUG as suggested in the lsquooiosaml-splog4jxmlrsquo file ndash ltparam name=Threshold value=ERROR gt lt-- change this to DEBUG when you want to debug

authentication issues --gt

The application will need to be restarted for the new logging level to take effect If you need to verify how SAML has been configured use the System Configuration utility and search for the term lsquosamlrsquo You should see the following ndash

EcoSys EPC System Admin Topics Release 7604 Page 19 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

9 Native user support (in SAML mode) When SAML has been enabled accessing EcoSys EPC via httpsmyservernameportecosys will always redirect you to the IdP authentication portal If you wish to login as a native user access EcoSys EPC using the URL httpsmyservernameportecosyslogin_native 10 Known issuesCommon pitfalls

1 If SSLHTTPS is being enabled through a reverse proxy arrangement ensure that the web

server is aware of the proxy so that URLs can be constructed correctly (see step 1)

2 Ensure that the application serverrsquos Java VM is configured to use unlimited encryption

strength algorithms (see step 4)

3 Ensure that the EcoSys EPC is set up to use SHA-1 hashing on your IdP (see step 6)

4 If your IdP both signs and encrypts assertions ensure that the lsquosigning signaturersquo comes

before the lsquoencryption signaturersquo in the metadata file

ESFM_HOMESAMLmetadataIdPIdPMetadataxml Restart the application if you have to make

this change The XML should be as follows in this case ndash

ltEntityDescriptorgt

hellip

ltIDPSSODescriptorgt

ltKeyDescriptor use=signinggt hellip ltKeyDescriptorgt

ltKeyDescriptor use=encryptiongt hellip ltKeyDescriptorgt

hellip

ltIDPSSODescriptorgt

hellip

ltEntityDescriptorgt

5 If your IdP uses self-signed certificates enable(uncomment) the following property in the file

ESFM_HOMESAMLoiosaml-spproperties and restart the application -

EcoSys EPC System Admin Topics Release 7604 Page 20 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

oiosaml-spcrlperiod=0

6 When you logout of EcoSys EPC (as a SAML user) you are typically taken to the IdPrsquos

authentication page If yoursquod like to be redirected to a different site instead

enable(uncomment) the following property in the file ESFM_HOMESAMLoiosaml-

spproperties and restart the application -

oiosaml-splogoutredirecturl=httpredirecturl

Command Line Batch Jobs Overview Some data import and processing jobs can be scheduled to run outside of the Java application server This is useful for long-running jobs that need to recur on a regular schedule for example importing forecasts from Primavera each week You should work with your implementation team to determine whether batch jobs need to be configured and if so what their parameters and schedules should be Note Details on the import file format for XML-based external system imports can be found in the EcoSys EPC Integration Guide Follow these steps to configure a command line batch script and job The batch job script can be scheduled to run using the scheduling tools native to your serverrsquos operating system For Windows you can use Control Panel gt Scheduled Tasks For Unix you can configure a cron job 1 Configuring the Files and Settings

1 Create folder for the batch job files Typically this is under your existing ESFM_HOME

folder perhaps called lsquobatchrsquo We will refer to this folder as BATCH_HOME in this section

2 Copy following the following files from ESFM_HOME to BATCH_HOME FMServerSettingsproperties log4jproperties FMLicenseproperties

3 Edit or add these entries to BATCH_HOMEFMServerSettingsproperties

fmdatasourcefactory=comecosysmgmtframeworkcontextFMPooledDataSourceFactory

connectionPoolminSize=2

connectionPoolmaxSize=20

datasourceJDBCUser=fmuser

datasourceJDBCPass=fmuser

datasourceJDBCDriver=oraclejdbcOracleDriver

datasourceJDBCConnectString=jdbcoraclethinMYSERVERHOSTNAME1521ESFM

4 Edit log4jproperties and change value of ldquolog4jappenderFILEFilerdquo to point to a location under your BATCH_HOME folder For example ldquoBatchImportlogrdquo

5 Begin with the template batch script located under batchecosys_batch_templatebat You may copy and modify this file to perform the specific batch commands you desire using the steps below

6 Build the CLASSPATH list for the job The following jar files are required for the import process Most of the files are already available in current ldquoecosysrdquo installation

EcoSys EPC System Admin Topics Release 7604 Page 21 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Location Library Files

CP6IntegrationAPIlib

All Oracle Primavera API jar (jar) files (excluding sqljdbcjar and ojdbcjar)

BATCH_HOMElib

ojdbcjar log4j-129jar commons-dbcpjar xworkjar ognljar commons-loggingjar commons-pool-13jar ecosysjar ppmapiabstractorjar FMXMLGeneratorjar

2 Exporting System Settings to XML For maximum flexibility batch jobs run with their own system settings file that is independent of the settings in the EcoSys EPC (ldquoESFMrdquo) database The settings are stored in an XML file which you need to export from the EcoSys EPC application To do this

1 Log on to EcoSys EPC as an administrative user 2 Configure the import settings as desired You do this by navigating to the ldquoIntegrationrdquo

menu then selecting each of the ldquoImporthelliprdquo menu items For each one configure the import settings as desired and click ldquoSaverdquo This saves the system settings to the database

3 Once you have configured all the import settings as desired use the ldquoSystem Administrationrdquo gt ldquo Export Application Settingsrdquo When prompted save the systemsettingsxml file locally

4 Copy the resulting systemsettingsxml file to the ldquoBATCH_HOMErdquo folder where your batch job will be run This file will be used when running batch jobs and the settings in that file will apply only to that batch job

5 When changes to the batch jobrsquos import settings are required you can either edit the systemsettingsxml file directly or follow the steps above to export a new file

3 Configuring Batch Job Logging

The settings for logging in batch jobs invoked from the command line (outside of the application GUI) can be controlled through the systemsettingsxml file specified for each batch command This gives full control over the details logged to the batch job log (visible in the application GUI) as well as the log file written when a batch job runs (These settings take the place of any properties specified in FMServerSettingsproperties)

Settings that begin with ldquoLOGGING_rdquo control the level of detail written to the log file These are primarily intended for system administrators

EcoSys EPC System Admin Topics Release 7604 Page 22 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Settings that begin with ldquoBATCH_JOB_LOGGING_rdquo control the level of detail written to the batch job log visible in the Reports gt Batch Job Log screen within the application These are intended for end users and application administrators

For each command line batch job you are using you may adjust the logging settings individually by editing the corresponding systemsettingsxml file The settings in question and their recommended default values are ltLOGGING_DEBUG_ENABLEDgtNltLOGGING_DEBUG_ENABLEDgt

ltLOGGING_XML_ENABLEDgtYltLOGGING_XML_ENABLEDgt

ltLOGGING_ERROR_ENABLEDgtYltLOGGING_ERROR_ENABLEDgt

ltLOGGING_INFO_ENABLEDgtYltLOGGING_INFO_ENABLEDgt

ltLOGGING_WARN_ENABLEDgtYltLOGGING_WARN_ENABLEDgt

ltLOGGING_USER_ACTION_ENABLEDgtYltLOGGING_USER_ACTION_ENABLEDgt

ltLOGGING_USER_ACTION_PARAMS_ENABLEDgtYltLOGGING_USER_ACTION_PARAMS_ENABLEDgt

ltLOGGING_METHOD_TRACE_ENABLEDgtNltLOGGING_METHOD_TRACE_ENABLEDgt

ltLOGGING_METHOD_PARAMS_ENABLEDgtNltLOGGING_METHOD_PARAMS_ENABLEDgt

ltLOGGING_DATABASE_QUERY_ENABLEDgtNltLOGGING_DATABASE_QUERY_ENABLEDgt

ltLOGGING_DB_QUERY_PARAMS_ENABLEDgtNltLOGGING_DB_QUERY_PARAMS_ENABLEDgt

ltLOGGING_INCLUDE_DATE_FLAGgtYltLOGGING_INCLUDE_DATE_FLAGgt

ltLOGGING_INCLUDE_TIMESTAMPgtYltLOGGING_INCLUDE_TIMESTAMPgt

ltLOGGING_INCLUDE_LOG_TYPEgtYltLOGGING_INCLUDE_LOG_TYPEgt

ltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgtYltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgt

ltLOGGING_INCLUDE_USER_IDENTIFIERgtYltLOGGING_INCLUDE_USER_IDENTIFIERgt

ltLOGGING_INCLUDE_CLASS_NAMEgtYltLOGGING_INCLUDE_CLASS_NAMEgt

ltBATCH_JOB_LOGGING_ACTION_ENABLEDgtYltBATCH_JOB_LOGGING_ACTION_ENABLEDgt

ltBATCH_JOB_LOGGING_DEBUG_ENABLEDgtNltBATCH_JOB_LOGGING_DEBUG_ENABLEDgt

ltBATCH_JOB_LOGGING_ERROR_ENABLEDgtYltBATCH_JOB_LOGGING_ERROR_ENABLEDgt

ltBATCH_JOB_LOGGING_INFO_ENABLEDgtYltBATCH_JOB_LOGGING_INFO_ENABLEDgt

ltBATCH_JOB_LOGGING_WARN_ENABLEDgtYltBATCH_JOB_LOGGING_WARN_ENABLEDgt

ltLOGGING_PROGRESS_ENABLEDgtYltLOGGING_PROGRESS_ENABLEDgt

ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt120ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt60ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltLOGGING_SERVER_METRICS_ENABLEDgtYltLOGGING_SERVER_METRICS_ENABLEDgt

ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt120ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt

4 Creating and Scheduling a Batch Script Scheduling of batch import process basically involves creating a batch file (or shell script under Unix) which will set up appropriate CLASSPATH then invoke the java command and using a platform dependent scheduler to execute the batch file on a predefined schedule A sample batch file for windows platform is provided ndash copy and modify batchecosys_batch_templatebat as a starting point To run several import process simultaneously you will need to duplicate the above mentioned folder and script for each import job Since there will be a separate batch file for each process they can be scheduled to run separately or independent of each other 5 Generating XML for Import An XML generating utility is provided that can convert tabular text-based files into XML suitable for import into EcoSys EPC This step would be performed prior to invoking the import jobs described below To generate XML see the batchecosys_batch_templatebat file in the section called GenerateXML Refer to the EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for details on generating and importing XML

EcoSys EPC System Admin Topics Release 7604 Page 23 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Command Line Parameter Reference The following parameters need to be provided for the batch process

-a action -u user name -p password -f systemsettingsxml file

Action User Name Password Settings XML Additional Parameters

GenXML NA NA NA (refer to EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for parameters)

-a ImportActual -u username -p password -f settingsxml NA

-a ImportProject -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportReportDef -u username -p password -f settingsxml -importDir to specify the input definitions (required)

See Notes 4

-a ImportResource -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportXML -u username -p password -f settingsxml -xml path of xml file to import (required)

-a ImportDates -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportForecast -u username -p password -f settingsxml -cv cost object category_value_id (optional)

-a CloseoutMinorPeriod -u username -p password -f settingsxml

NA Note - when a close out is performed via the command line the application will not reflect the new minor period until both the Enterprise Data Cache (Global Type) has been refreshed and browsers for currently logged in userrsquos have refreshed An Enterprise Data Cache refresh can be forced by an administrator performing the following steps 1 Log into the EPC application 2 Go to System Information 3 Click the Cache Tab 4 Select Global Type in the Specify a

Data Cache to Refresh pick list 5 Click the Refresh Enterprise Data

Cache button 6 Each user in the application must

refresh their browser or log out and back in to see the new minor period

-a BulkCopy -u username -p password -f settingsxml NA

-a BulkPublish -u username -p password -f settingsxml NA

-a BulkRollup -u username -p password -f settingsxml NA

-a RunReportBatch -u username -p password NA -rb report batch short name (required)

-a RunAction -u username -p password -f settingsxml -action [action id or internal id] (required)

See Notes 3

-a RunActionBatch -u username -p password -f settingsxml -actionbatch [action id or internal id] (required)

See Notes 3

-a ImportCompletePercent -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportSpreadsheet -u username -p password NA See Notes 2

-a ExternalOperation -u username -p password -f settingsxml -o operation -xml param XML file See Notes 5

EcoSys EPC System Admin Topics Release 7604 Page 24 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

-a ImportCostAccount -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportRole -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportActivityCode -u username -p password -f settingsxml -ds datastore_id (required)

Note 1 The ndashDESFM_HOME= should refer to the new BATCH_HOME folder where the copy

of FMServerSettings and other files are being stored not the same ESFM_HOME folder where your application was originally installed since they may require different settings and options Note 2 For spreadsheet imports the following options apply -spreadsheet name or internal id of EPC spreadsheet (required) -file file path to excel spreadsheet you want to import (required) -format excelrdquo or ldquodelimited (default is ldquoexcelrdquo) -importLogic update or ldquoinsertrdquo or ldquoignorerdquo (default is ldquoinsertrdquo)

ldquoupdaterdquo means update existing rows

ldquoinsertrdquo means always insert as new

ldquoignorerdquo means ignore existing rows -runtimeparam ltparam namegt=ltparam valuegt (this parameter can appear multiple times on the command line as in bdquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc)

ltparam namegt must match the ID of a runtime parameter defined on the EPC spreadsheet

ltparam valuegt can either be the internal id or the short name of an EPC object Note 3 To use runtime parameters when running an action action batch or report batch from the command line simply add the params parameter to the command line arguments as inhelliprsquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc) Notes 4 set ACTION=ImportReportDef set ADDITIONAL_PARAMS=-importDir BATCH_HOMEimportreports For ACTION use ImportReportDefImportSpreadsheetDefImportFormulaDefImportActionDef depending upon SCARF element you want to import Notes 5 For external operations use ndasho to specify the name of the operation To pass in the parameters XML (overriding the defined parameters for that operation) use ndashxml followed by the name of the file containing the parameters XML 7 System Settings Input Value Reference The following list enumerates the input parameters used by batch processes These values will appear in the systemsettingsxml file automatically when exported from the GUI If you add or

edit them manually they need to be in XML tag format lttagnamegtvaluelttagnamegt

BULK COPY BULK_COPY_ROOT_SPREADSHEET_TYPE

BULK_COPY_SPREADSHEET_TYPE

BULK_COPY_TGT_SPREADSHEET_TYPE

BULK_COPY_SOURCE_VERSION

BULK_COPY_TARGET_VERSION

BULK_COPY_SOURCE_MAJORPERIOD

BULK_COPY_TARGET_MAJORPERIOD

BULK_COPY_SOURCE_VERSION_SHORT_NAME

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 7: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 7 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

The configuration is written to ESFM_HOMESAML on the server

Note that if EcoSys EPC has been configured to run in clustered mode the above

configuration must be performed on each servermember of the cluster For example if you

were running a two node cluster in step 3 above ndash

First go to httpsclusterserverAportecosys to configure serverA of the cluster

Then repeat the process for server by going to httpsclusterserverBportecosys

4 Configure the application serverrsquos Java VM to use unlimited strength cryptography Ensure that the application serverrsquos Java VM is configured to use unlimited encryption strength algorithms Please use the following links to download and install the required policy files for your Java VM

Java 8 [httpwwworaclecomtechnetworkjavajavasedownloadsjce8-download-2133166html]

Java 7 [httpwwworaclecomtechnetworkjavajavasedownloadsjce-7-download-432124html]

Policy files are usually delivered as a zip file and contain the following two files ndash

1 local_policyjar 2 US_export_policyjar

Use these two files to replace the ones with the same names in the lsquojrelibsecurityrsquo folder of your Java installation 5 Restart the application server Restart the application server ndash note that simply restarting the web app is not sufficient 6 Configure the Identity Provider (Microsoft ADFS) The ESFM_HOMESAML folder on the server has the following structure ndash

EcoSys EPC System Admin Topics Release 7604 Page 8 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

The lsquometadataSPrsquo sub-folder contains a file called lsquoSPMetadataxmlrsquo - this is the SAML Service Providerrsquos (EPCrsquos) metadata file and should be used to configure the necessary lsquotrust relationshiprsquo on the IdP Please consult your IdPrsquos documentation for information on how to do this Note that the EcoSys EPC SP only supports the SHA-1 signature hash algorithm If your IdP is Microsoft ADFS use the following steps to configure the trust relationship ndash

1 Launch the lsquoADFS Managementrsquo application on your IdP

2 In the left-most panel Expand lsquoTrust Relationshipsrsquo and click on lsquoRelying Party Trustsrsquo

3 In the right-most panel under lsquoActionsrsquo click lsquoAdd Relying Party Trustrsquo

EcoSys EPC System Admin Topics Release 7604 Page 9 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

4 Click Start to begin the process

5 Choose the option to import data from file and select the lsquoSPMetadataxmlrsquo from the

ESFM_HOMESAMLmetadataSP folder on the application server You may have to map this

location to the ADFS server or copy the file to a network share or to the IdP

EcoSys EPC System Admin Topics Release 7604 Page 10 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Continue through the screens making sure that you see four endpoints on the lsquoReady to

Add Trustrsquo screen On the last screen (lsquoFinishrsquo) uncheck the option to

EcoSys EPC System Admin Topics Release 7604 Page 11 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 12 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

7 Once the relying party has been created right click on its entry and choose lsquoEdit Propertiesrsquo

EcoSys EPC System Admin Topics Release 7604 Page 13 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

8 On the lsquoAdvancedrsquo tab select SHA-1 as the hash algorithm and click OK Note that SHA-

256 is not supported

9 Right click on the relying party entry again but this time choose lsquoEdit Claim Rulesrsquo

10 The following steps may not necessarily be the way you want to set up your claim rules

This example shows a two rule scenario where the first rule extracts the UPN from the

EcoSys EPC System Admin Topics Release 7604 Page 14 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Active Directory and the second transforms that UPN into the X509 Subject Name (of the

form usernamedomainsuffix)

EcoSys EPC System Admin Topics Release 7604 Page 15 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 16 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 17 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

This completes configuration on the ADFS server It has been set up in such a manner that when someone tries to access EcoSys EPC ndash

i she will be redirected to the ADFS server for authentication

ii if authentication is successful ADFS will send the user details in the form

usernamedomainsuffix back to EcoSys EPC

7 Configuring Users to Authenticate Via SAML Users authenticated by the IdP need to be further authorized in EcoSys EPC This means that in the scenario described above in step 6 where the IdP sends the user details in the form usernamedomainsuffix ndash

a user with the same login ID must exist within EcoSys EPC

the userrsquos authentication mode must be configured as custom

Follow these steps to import user details from your IdP to EcoSys EPC ndash

1 Create a new spreadsheet by selecting lsquoUserrsquo as the subject area

2 Add the following columns to it ndash

i Authentication Mode (use default value lsquoCustomrsquo)

ii First Name

iii Last Name

iv Login Name

v Main Menu (Name) (either use a default value or specify one)

vi License (use an appropriate default value)

EcoSys EPC System Admin Topics Release 7604 Page 18 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

3 Export user details from the IdP preferably in Excel format containing at least the First

Name Last Name and the Login Name (usernamesuffixcom in this example)

4 Import the Excel file into the spreadsheet created in step 1

You may need to configure security groups for these newly imported users 8 Troubleshooting SAML If the SAML exchange between EcoSys EPC and the IdP were to fail for any reason you will see an error page that looks like the following ndash

The EcoSys EPC SP produces two log files in the ESFM_HOMESAMLlogs folder on the server ndash

oiosaml-splog ndash this logs requests handled by the SP

oiosaml-sp-auditlog ndash this logs exchanges between the SP and the IdP

To configure the SPrsquos logging level edit the file ESFM_HOMESAMLoiosaml-splog4jxml The default log level for both these log files is set to ERROR which means that only error events are logged to them To see more detail in these log files set the log level to DEBUG as suggested in the lsquooiosaml-splog4jxmlrsquo file ndash ltparam name=Threshold value=ERROR gt lt-- change this to DEBUG when you want to debug

authentication issues --gt

The application will need to be restarted for the new logging level to take effect If you need to verify how SAML has been configured use the System Configuration utility and search for the term lsquosamlrsquo You should see the following ndash

EcoSys EPC System Admin Topics Release 7604 Page 19 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

9 Native user support (in SAML mode) When SAML has been enabled accessing EcoSys EPC via httpsmyservernameportecosys will always redirect you to the IdP authentication portal If you wish to login as a native user access EcoSys EPC using the URL httpsmyservernameportecosyslogin_native 10 Known issuesCommon pitfalls

1 If SSLHTTPS is being enabled through a reverse proxy arrangement ensure that the web

server is aware of the proxy so that URLs can be constructed correctly (see step 1)

2 Ensure that the application serverrsquos Java VM is configured to use unlimited encryption

strength algorithms (see step 4)

3 Ensure that the EcoSys EPC is set up to use SHA-1 hashing on your IdP (see step 6)

4 If your IdP both signs and encrypts assertions ensure that the lsquosigning signaturersquo comes

before the lsquoencryption signaturersquo in the metadata file

ESFM_HOMESAMLmetadataIdPIdPMetadataxml Restart the application if you have to make

this change The XML should be as follows in this case ndash

ltEntityDescriptorgt

hellip

ltIDPSSODescriptorgt

ltKeyDescriptor use=signinggt hellip ltKeyDescriptorgt

ltKeyDescriptor use=encryptiongt hellip ltKeyDescriptorgt

hellip

ltIDPSSODescriptorgt

hellip

ltEntityDescriptorgt

5 If your IdP uses self-signed certificates enable(uncomment) the following property in the file

ESFM_HOMESAMLoiosaml-spproperties and restart the application -

EcoSys EPC System Admin Topics Release 7604 Page 20 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

oiosaml-spcrlperiod=0

6 When you logout of EcoSys EPC (as a SAML user) you are typically taken to the IdPrsquos

authentication page If yoursquod like to be redirected to a different site instead

enable(uncomment) the following property in the file ESFM_HOMESAMLoiosaml-

spproperties and restart the application -

oiosaml-splogoutredirecturl=httpredirecturl

Command Line Batch Jobs Overview Some data import and processing jobs can be scheduled to run outside of the Java application server This is useful for long-running jobs that need to recur on a regular schedule for example importing forecasts from Primavera each week You should work with your implementation team to determine whether batch jobs need to be configured and if so what their parameters and schedules should be Note Details on the import file format for XML-based external system imports can be found in the EcoSys EPC Integration Guide Follow these steps to configure a command line batch script and job The batch job script can be scheduled to run using the scheduling tools native to your serverrsquos operating system For Windows you can use Control Panel gt Scheduled Tasks For Unix you can configure a cron job 1 Configuring the Files and Settings

1 Create folder for the batch job files Typically this is under your existing ESFM_HOME

folder perhaps called lsquobatchrsquo We will refer to this folder as BATCH_HOME in this section

2 Copy following the following files from ESFM_HOME to BATCH_HOME FMServerSettingsproperties log4jproperties FMLicenseproperties

3 Edit or add these entries to BATCH_HOMEFMServerSettingsproperties

fmdatasourcefactory=comecosysmgmtframeworkcontextFMPooledDataSourceFactory

connectionPoolminSize=2

connectionPoolmaxSize=20

datasourceJDBCUser=fmuser

datasourceJDBCPass=fmuser

datasourceJDBCDriver=oraclejdbcOracleDriver

datasourceJDBCConnectString=jdbcoraclethinMYSERVERHOSTNAME1521ESFM

4 Edit log4jproperties and change value of ldquolog4jappenderFILEFilerdquo to point to a location under your BATCH_HOME folder For example ldquoBatchImportlogrdquo

5 Begin with the template batch script located under batchecosys_batch_templatebat You may copy and modify this file to perform the specific batch commands you desire using the steps below

6 Build the CLASSPATH list for the job The following jar files are required for the import process Most of the files are already available in current ldquoecosysrdquo installation

EcoSys EPC System Admin Topics Release 7604 Page 21 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Location Library Files

CP6IntegrationAPIlib

All Oracle Primavera API jar (jar) files (excluding sqljdbcjar and ojdbcjar)

BATCH_HOMElib

ojdbcjar log4j-129jar commons-dbcpjar xworkjar ognljar commons-loggingjar commons-pool-13jar ecosysjar ppmapiabstractorjar FMXMLGeneratorjar

2 Exporting System Settings to XML For maximum flexibility batch jobs run with their own system settings file that is independent of the settings in the EcoSys EPC (ldquoESFMrdquo) database The settings are stored in an XML file which you need to export from the EcoSys EPC application To do this

1 Log on to EcoSys EPC as an administrative user 2 Configure the import settings as desired You do this by navigating to the ldquoIntegrationrdquo

menu then selecting each of the ldquoImporthelliprdquo menu items For each one configure the import settings as desired and click ldquoSaverdquo This saves the system settings to the database

3 Once you have configured all the import settings as desired use the ldquoSystem Administrationrdquo gt ldquo Export Application Settingsrdquo When prompted save the systemsettingsxml file locally

4 Copy the resulting systemsettingsxml file to the ldquoBATCH_HOMErdquo folder where your batch job will be run This file will be used when running batch jobs and the settings in that file will apply only to that batch job

5 When changes to the batch jobrsquos import settings are required you can either edit the systemsettingsxml file directly or follow the steps above to export a new file

3 Configuring Batch Job Logging

The settings for logging in batch jobs invoked from the command line (outside of the application GUI) can be controlled through the systemsettingsxml file specified for each batch command This gives full control over the details logged to the batch job log (visible in the application GUI) as well as the log file written when a batch job runs (These settings take the place of any properties specified in FMServerSettingsproperties)

Settings that begin with ldquoLOGGING_rdquo control the level of detail written to the log file These are primarily intended for system administrators

EcoSys EPC System Admin Topics Release 7604 Page 22 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Settings that begin with ldquoBATCH_JOB_LOGGING_rdquo control the level of detail written to the batch job log visible in the Reports gt Batch Job Log screen within the application These are intended for end users and application administrators

For each command line batch job you are using you may adjust the logging settings individually by editing the corresponding systemsettingsxml file The settings in question and their recommended default values are ltLOGGING_DEBUG_ENABLEDgtNltLOGGING_DEBUG_ENABLEDgt

ltLOGGING_XML_ENABLEDgtYltLOGGING_XML_ENABLEDgt

ltLOGGING_ERROR_ENABLEDgtYltLOGGING_ERROR_ENABLEDgt

ltLOGGING_INFO_ENABLEDgtYltLOGGING_INFO_ENABLEDgt

ltLOGGING_WARN_ENABLEDgtYltLOGGING_WARN_ENABLEDgt

ltLOGGING_USER_ACTION_ENABLEDgtYltLOGGING_USER_ACTION_ENABLEDgt

ltLOGGING_USER_ACTION_PARAMS_ENABLEDgtYltLOGGING_USER_ACTION_PARAMS_ENABLEDgt

ltLOGGING_METHOD_TRACE_ENABLEDgtNltLOGGING_METHOD_TRACE_ENABLEDgt

ltLOGGING_METHOD_PARAMS_ENABLEDgtNltLOGGING_METHOD_PARAMS_ENABLEDgt

ltLOGGING_DATABASE_QUERY_ENABLEDgtNltLOGGING_DATABASE_QUERY_ENABLEDgt

ltLOGGING_DB_QUERY_PARAMS_ENABLEDgtNltLOGGING_DB_QUERY_PARAMS_ENABLEDgt

ltLOGGING_INCLUDE_DATE_FLAGgtYltLOGGING_INCLUDE_DATE_FLAGgt

ltLOGGING_INCLUDE_TIMESTAMPgtYltLOGGING_INCLUDE_TIMESTAMPgt

ltLOGGING_INCLUDE_LOG_TYPEgtYltLOGGING_INCLUDE_LOG_TYPEgt

ltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgtYltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgt

ltLOGGING_INCLUDE_USER_IDENTIFIERgtYltLOGGING_INCLUDE_USER_IDENTIFIERgt

ltLOGGING_INCLUDE_CLASS_NAMEgtYltLOGGING_INCLUDE_CLASS_NAMEgt

ltBATCH_JOB_LOGGING_ACTION_ENABLEDgtYltBATCH_JOB_LOGGING_ACTION_ENABLEDgt

ltBATCH_JOB_LOGGING_DEBUG_ENABLEDgtNltBATCH_JOB_LOGGING_DEBUG_ENABLEDgt

ltBATCH_JOB_LOGGING_ERROR_ENABLEDgtYltBATCH_JOB_LOGGING_ERROR_ENABLEDgt

ltBATCH_JOB_LOGGING_INFO_ENABLEDgtYltBATCH_JOB_LOGGING_INFO_ENABLEDgt

ltBATCH_JOB_LOGGING_WARN_ENABLEDgtYltBATCH_JOB_LOGGING_WARN_ENABLEDgt

ltLOGGING_PROGRESS_ENABLEDgtYltLOGGING_PROGRESS_ENABLEDgt

ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt120ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt60ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltLOGGING_SERVER_METRICS_ENABLEDgtYltLOGGING_SERVER_METRICS_ENABLEDgt

ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt120ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt

4 Creating and Scheduling a Batch Script Scheduling of batch import process basically involves creating a batch file (or shell script under Unix) which will set up appropriate CLASSPATH then invoke the java command and using a platform dependent scheduler to execute the batch file on a predefined schedule A sample batch file for windows platform is provided ndash copy and modify batchecosys_batch_templatebat as a starting point To run several import process simultaneously you will need to duplicate the above mentioned folder and script for each import job Since there will be a separate batch file for each process they can be scheduled to run separately or independent of each other 5 Generating XML for Import An XML generating utility is provided that can convert tabular text-based files into XML suitable for import into EcoSys EPC This step would be performed prior to invoking the import jobs described below To generate XML see the batchecosys_batch_templatebat file in the section called GenerateXML Refer to the EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for details on generating and importing XML

EcoSys EPC System Admin Topics Release 7604 Page 23 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Command Line Parameter Reference The following parameters need to be provided for the batch process

-a action -u user name -p password -f systemsettingsxml file

Action User Name Password Settings XML Additional Parameters

GenXML NA NA NA (refer to EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for parameters)

-a ImportActual -u username -p password -f settingsxml NA

-a ImportProject -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportReportDef -u username -p password -f settingsxml -importDir to specify the input definitions (required)

See Notes 4

-a ImportResource -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportXML -u username -p password -f settingsxml -xml path of xml file to import (required)

-a ImportDates -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportForecast -u username -p password -f settingsxml -cv cost object category_value_id (optional)

-a CloseoutMinorPeriod -u username -p password -f settingsxml

NA Note - when a close out is performed via the command line the application will not reflect the new minor period until both the Enterprise Data Cache (Global Type) has been refreshed and browsers for currently logged in userrsquos have refreshed An Enterprise Data Cache refresh can be forced by an administrator performing the following steps 1 Log into the EPC application 2 Go to System Information 3 Click the Cache Tab 4 Select Global Type in the Specify a

Data Cache to Refresh pick list 5 Click the Refresh Enterprise Data

Cache button 6 Each user in the application must

refresh their browser or log out and back in to see the new minor period

-a BulkCopy -u username -p password -f settingsxml NA

-a BulkPublish -u username -p password -f settingsxml NA

-a BulkRollup -u username -p password -f settingsxml NA

-a RunReportBatch -u username -p password NA -rb report batch short name (required)

-a RunAction -u username -p password -f settingsxml -action [action id or internal id] (required)

See Notes 3

-a RunActionBatch -u username -p password -f settingsxml -actionbatch [action id or internal id] (required)

See Notes 3

-a ImportCompletePercent -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportSpreadsheet -u username -p password NA See Notes 2

-a ExternalOperation -u username -p password -f settingsxml -o operation -xml param XML file See Notes 5

EcoSys EPC System Admin Topics Release 7604 Page 24 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

-a ImportCostAccount -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportRole -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportActivityCode -u username -p password -f settingsxml -ds datastore_id (required)

Note 1 The ndashDESFM_HOME= should refer to the new BATCH_HOME folder where the copy

of FMServerSettings and other files are being stored not the same ESFM_HOME folder where your application was originally installed since they may require different settings and options Note 2 For spreadsheet imports the following options apply -spreadsheet name or internal id of EPC spreadsheet (required) -file file path to excel spreadsheet you want to import (required) -format excelrdquo or ldquodelimited (default is ldquoexcelrdquo) -importLogic update or ldquoinsertrdquo or ldquoignorerdquo (default is ldquoinsertrdquo)

ldquoupdaterdquo means update existing rows

ldquoinsertrdquo means always insert as new

ldquoignorerdquo means ignore existing rows -runtimeparam ltparam namegt=ltparam valuegt (this parameter can appear multiple times on the command line as in bdquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc)

ltparam namegt must match the ID of a runtime parameter defined on the EPC spreadsheet

ltparam valuegt can either be the internal id or the short name of an EPC object Note 3 To use runtime parameters when running an action action batch or report batch from the command line simply add the params parameter to the command line arguments as inhelliprsquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc) Notes 4 set ACTION=ImportReportDef set ADDITIONAL_PARAMS=-importDir BATCH_HOMEimportreports For ACTION use ImportReportDefImportSpreadsheetDefImportFormulaDefImportActionDef depending upon SCARF element you want to import Notes 5 For external operations use ndasho to specify the name of the operation To pass in the parameters XML (overriding the defined parameters for that operation) use ndashxml followed by the name of the file containing the parameters XML 7 System Settings Input Value Reference The following list enumerates the input parameters used by batch processes These values will appear in the systemsettingsxml file automatically when exported from the GUI If you add or

edit them manually they need to be in XML tag format lttagnamegtvaluelttagnamegt

BULK COPY BULK_COPY_ROOT_SPREADSHEET_TYPE

BULK_COPY_SPREADSHEET_TYPE

BULK_COPY_TGT_SPREADSHEET_TYPE

BULK_COPY_SOURCE_VERSION

BULK_COPY_TARGET_VERSION

BULK_COPY_SOURCE_MAJORPERIOD

BULK_COPY_TARGET_MAJORPERIOD

BULK_COPY_SOURCE_VERSION_SHORT_NAME

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 8: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 8 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

The lsquometadataSPrsquo sub-folder contains a file called lsquoSPMetadataxmlrsquo - this is the SAML Service Providerrsquos (EPCrsquos) metadata file and should be used to configure the necessary lsquotrust relationshiprsquo on the IdP Please consult your IdPrsquos documentation for information on how to do this Note that the EcoSys EPC SP only supports the SHA-1 signature hash algorithm If your IdP is Microsoft ADFS use the following steps to configure the trust relationship ndash

1 Launch the lsquoADFS Managementrsquo application on your IdP

2 In the left-most panel Expand lsquoTrust Relationshipsrsquo and click on lsquoRelying Party Trustsrsquo

3 In the right-most panel under lsquoActionsrsquo click lsquoAdd Relying Party Trustrsquo

EcoSys EPC System Admin Topics Release 7604 Page 9 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

4 Click Start to begin the process

5 Choose the option to import data from file and select the lsquoSPMetadataxmlrsquo from the

ESFM_HOMESAMLmetadataSP folder on the application server You may have to map this

location to the ADFS server or copy the file to a network share or to the IdP

EcoSys EPC System Admin Topics Release 7604 Page 10 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Continue through the screens making sure that you see four endpoints on the lsquoReady to

Add Trustrsquo screen On the last screen (lsquoFinishrsquo) uncheck the option to

EcoSys EPC System Admin Topics Release 7604 Page 11 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 12 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

7 Once the relying party has been created right click on its entry and choose lsquoEdit Propertiesrsquo

EcoSys EPC System Admin Topics Release 7604 Page 13 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

8 On the lsquoAdvancedrsquo tab select SHA-1 as the hash algorithm and click OK Note that SHA-

256 is not supported

9 Right click on the relying party entry again but this time choose lsquoEdit Claim Rulesrsquo

10 The following steps may not necessarily be the way you want to set up your claim rules

This example shows a two rule scenario where the first rule extracts the UPN from the

EcoSys EPC System Admin Topics Release 7604 Page 14 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Active Directory and the second transforms that UPN into the X509 Subject Name (of the

form usernamedomainsuffix)

EcoSys EPC System Admin Topics Release 7604 Page 15 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 16 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 17 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

This completes configuration on the ADFS server It has been set up in such a manner that when someone tries to access EcoSys EPC ndash

i she will be redirected to the ADFS server for authentication

ii if authentication is successful ADFS will send the user details in the form

usernamedomainsuffix back to EcoSys EPC

7 Configuring Users to Authenticate Via SAML Users authenticated by the IdP need to be further authorized in EcoSys EPC This means that in the scenario described above in step 6 where the IdP sends the user details in the form usernamedomainsuffix ndash

a user with the same login ID must exist within EcoSys EPC

the userrsquos authentication mode must be configured as custom

Follow these steps to import user details from your IdP to EcoSys EPC ndash

1 Create a new spreadsheet by selecting lsquoUserrsquo as the subject area

2 Add the following columns to it ndash

i Authentication Mode (use default value lsquoCustomrsquo)

ii First Name

iii Last Name

iv Login Name

v Main Menu (Name) (either use a default value or specify one)

vi License (use an appropriate default value)

EcoSys EPC System Admin Topics Release 7604 Page 18 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

3 Export user details from the IdP preferably in Excel format containing at least the First

Name Last Name and the Login Name (usernamesuffixcom in this example)

4 Import the Excel file into the spreadsheet created in step 1

You may need to configure security groups for these newly imported users 8 Troubleshooting SAML If the SAML exchange between EcoSys EPC and the IdP were to fail for any reason you will see an error page that looks like the following ndash

The EcoSys EPC SP produces two log files in the ESFM_HOMESAMLlogs folder on the server ndash

oiosaml-splog ndash this logs requests handled by the SP

oiosaml-sp-auditlog ndash this logs exchanges between the SP and the IdP

To configure the SPrsquos logging level edit the file ESFM_HOMESAMLoiosaml-splog4jxml The default log level for both these log files is set to ERROR which means that only error events are logged to them To see more detail in these log files set the log level to DEBUG as suggested in the lsquooiosaml-splog4jxmlrsquo file ndash ltparam name=Threshold value=ERROR gt lt-- change this to DEBUG when you want to debug

authentication issues --gt

The application will need to be restarted for the new logging level to take effect If you need to verify how SAML has been configured use the System Configuration utility and search for the term lsquosamlrsquo You should see the following ndash

EcoSys EPC System Admin Topics Release 7604 Page 19 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

9 Native user support (in SAML mode) When SAML has been enabled accessing EcoSys EPC via httpsmyservernameportecosys will always redirect you to the IdP authentication portal If you wish to login as a native user access EcoSys EPC using the URL httpsmyservernameportecosyslogin_native 10 Known issuesCommon pitfalls

1 If SSLHTTPS is being enabled through a reverse proxy arrangement ensure that the web

server is aware of the proxy so that URLs can be constructed correctly (see step 1)

2 Ensure that the application serverrsquos Java VM is configured to use unlimited encryption

strength algorithms (see step 4)

3 Ensure that the EcoSys EPC is set up to use SHA-1 hashing on your IdP (see step 6)

4 If your IdP both signs and encrypts assertions ensure that the lsquosigning signaturersquo comes

before the lsquoencryption signaturersquo in the metadata file

ESFM_HOMESAMLmetadataIdPIdPMetadataxml Restart the application if you have to make

this change The XML should be as follows in this case ndash

ltEntityDescriptorgt

hellip

ltIDPSSODescriptorgt

ltKeyDescriptor use=signinggt hellip ltKeyDescriptorgt

ltKeyDescriptor use=encryptiongt hellip ltKeyDescriptorgt

hellip

ltIDPSSODescriptorgt

hellip

ltEntityDescriptorgt

5 If your IdP uses self-signed certificates enable(uncomment) the following property in the file

ESFM_HOMESAMLoiosaml-spproperties and restart the application -

EcoSys EPC System Admin Topics Release 7604 Page 20 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

oiosaml-spcrlperiod=0

6 When you logout of EcoSys EPC (as a SAML user) you are typically taken to the IdPrsquos

authentication page If yoursquod like to be redirected to a different site instead

enable(uncomment) the following property in the file ESFM_HOMESAMLoiosaml-

spproperties and restart the application -

oiosaml-splogoutredirecturl=httpredirecturl

Command Line Batch Jobs Overview Some data import and processing jobs can be scheduled to run outside of the Java application server This is useful for long-running jobs that need to recur on a regular schedule for example importing forecasts from Primavera each week You should work with your implementation team to determine whether batch jobs need to be configured and if so what their parameters and schedules should be Note Details on the import file format for XML-based external system imports can be found in the EcoSys EPC Integration Guide Follow these steps to configure a command line batch script and job The batch job script can be scheduled to run using the scheduling tools native to your serverrsquos operating system For Windows you can use Control Panel gt Scheduled Tasks For Unix you can configure a cron job 1 Configuring the Files and Settings

1 Create folder for the batch job files Typically this is under your existing ESFM_HOME

folder perhaps called lsquobatchrsquo We will refer to this folder as BATCH_HOME in this section

2 Copy following the following files from ESFM_HOME to BATCH_HOME FMServerSettingsproperties log4jproperties FMLicenseproperties

3 Edit or add these entries to BATCH_HOMEFMServerSettingsproperties

fmdatasourcefactory=comecosysmgmtframeworkcontextFMPooledDataSourceFactory

connectionPoolminSize=2

connectionPoolmaxSize=20

datasourceJDBCUser=fmuser

datasourceJDBCPass=fmuser

datasourceJDBCDriver=oraclejdbcOracleDriver

datasourceJDBCConnectString=jdbcoraclethinMYSERVERHOSTNAME1521ESFM

4 Edit log4jproperties and change value of ldquolog4jappenderFILEFilerdquo to point to a location under your BATCH_HOME folder For example ldquoBatchImportlogrdquo

5 Begin with the template batch script located under batchecosys_batch_templatebat You may copy and modify this file to perform the specific batch commands you desire using the steps below

6 Build the CLASSPATH list for the job The following jar files are required for the import process Most of the files are already available in current ldquoecosysrdquo installation

EcoSys EPC System Admin Topics Release 7604 Page 21 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Location Library Files

CP6IntegrationAPIlib

All Oracle Primavera API jar (jar) files (excluding sqljdbcjar and ojdbcjar)

BATCH_HOMElib

ojdbcjar log4j-129jar commons-dbcpjar xworkjar ognljar commons-loggingjar commons-pool-13jar ecosysjar ppmapiabstractorjar FMXMLGeneratorjar

2 Exporting System Settings to XML For maximum flexibility batch jobs run with their own system settings file that is independent of the settings in the EcoSys EPC (ldquoESFMrdquo) database The settings are stored in an XML file which you need to export from the EcoSys EPC application To do this

1 Log on to EcoSys EPC as an administrative user 2 Configure the import settings as desired You do this by navigating to the ldquoIntegrationrdquo

menu then selecting each of the ldquoImporthelliprdquo menu items For each one configure the import settings as desired and click ldquoSaverdquo This saves the system settings to the database

3 Once you have configured all the import settings as desired use the ldquoSystem Administrationrdquo gt ldquo Export Application Settingsrdquo When prompted save the systemsettingsxml file locally

4 Copy the resulting systemsettingsxml file to the ldquoBATCH_HOMErdquo folder where your batch job will be run This file will be used when running batch jobs and the settings in that file will apply only to that batch job

5 When changes to the batch jobrsquos import settings are required you can either edit the systemsettingsxml file directly or follow the steps above to export a new file

3 Configuring Batch Job Logging

The settings for logging in batch jobs invoked from the command line (outside of the application GUI) can be controlled through the systemsettingsxml file specified for each batch command This gives full control over the details logged to the batch job log (visible in the application GUI) as well as the log file written when a batch job runs (These settings take the place of any properties specified in FMServerSettingsproperties)

Settings that begin with ldquoLOGGING_rdquo control the level of detail written to the log file These are primarily intended for system administrators

EcoSys EPC System Admin Topics Release 7604 Page 22 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Settings that begin with ldquoBATCH_JOB_LOGGING_rdquo control the level of detail written to the batch job log visible in the Reports gt Batch Job Log screen within the application These are intended for end users and application administrators

For each command line batch job you are using you may adjust the logging settings individually by editing the corresponding systemsettingsxml file The settings in question and their recommended default values are ltLOGGING_DEBUG_ENABLEDgtNltLOGGING_DEBUG_ENABLEDgt

ltLOGGING_XML_ENABLEDgtYltLOGGING_XML_ENABLEDgt

ltLOGGING_ERROR_ENABLEDgtYltLOGGING_ERROR_ENABLEDgt

ltLOGGING_INFO_ENABLEDgtYltLOGGING_INFO_ENABLEDgt

ltLOGGING_WARN_ENABLEDgtYltLOGGING_WARN_ENABLEDgt

ltLOGGING_USER_ACTION_ENABLEDgtYltLOGGING_USER_ACTION_ENABLEDgt

ltLOGGING_USER_ACTION_PARAMS_ENABLEDgtYltLOGGING_USER_ACTION_PARAMS_ENABLEDgt

ltLOGGING_METHOD_TRACE_ENABLEDgtNltLOGGING_METHOD_TRACE_ENABLEDgt

ltLOGGING_METHOD_PARAMS_ENABLEDgtNltLOGGING_METHOD_PARAMS_ENABLEDgt

ltLOGGING_DATABASE_QUERY_ENABLEDgtNltLOGGING_DATABASE_QUERY_ENABLEDgt

ltLOGGING_DB_QUERY_PARAMS_ENABLEDgtNltLOGGING_DB_QUERY_PARAMS_ENABLEDgt

ltLOGGING_INCLUDE_DATE_FLAGgtYltLOGGING_INCLUDE_DATE_FLAGgt

ltLOGGING_INCLUDE_TIMESTAMPgtYltLOGGING_INCLUDE_TIMESTAMPgt

ltLOGGING_INCLUDE_LOG_TYPEgtYltLOGGING_INCLUDE_LOG_TYPEgt

ltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgtYltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgt

ltLOGGING_INCLUDE_USER_IDENTIFIERgtYltLOGGING_INCLUDE_USER_IDENTIFIERgt

ltLOGGING_INCLUDE_CLASS_NAMEgtYltLOGGING_INCLUDE_CLASS_NAMEgt

ltBATCH_JOB_LOGGING_ACTION_ENABLEDgtYltBATCH_JOB_LOGGING_ACTION_ENABLEDgt

ltBATCH_JOB_LOGGING_DEBUG_ENABLEDgtNltBATCH_JOB_LOGGING_DEBUG_ENABLEDgt

ltBATCH_JOB_LOGGING_ERROR_ENABLEDgtYltBATCH_JOB_LOGGING_ERROR_ENABLEDgt

ltBATCH_JOB_LOGGING_INFO_ENABLEDgtYltBATCH_JOB_LOGGING_INFO_ENABLEDgt

ltBATCH_JOB_LOGGING_WARN_ENABLEDgtYltBATCH_JOB_LOGGING_WARN_ENABLEDgt

ltLOGGING_PROGRESS_ENABLEDgtYltLOGGING_PROGRESS_ENABLEDgt

ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt120ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt60ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltLOGGING_SERVER_METRICS_ENABLEDgtYltLOGGING_SERVER_METRICS_ENABLEDgt

ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt120ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt

4 Creating and Scheduling a Batch Script Scheduling of batch import process basically involves creating a batch file (or shell script under Unix) which will set up appropriate CLASSPATH then invoke the java command and using a platform dependent scheduler to execute the batch file on a predefined schedule A sample batch file for windows platform is provided ndash copy and modify batchecosys_batch_templatebat as a starting point To run several import process simultaneously you will need to duplicate the above mentioned folder and script for each import job Since there will be a separate batch file for each process they can be scheduled to run separately or independent of each other 5 Generating XML for Import An XML generating utility is provided that can convert tabular text-based files into XML suitable for import into EcoSys EPC This step would be performed prior to invoking the import jobs described below To generate XML see the batchecosys_batch_templatebat file in the section called GenerateXML Refer to the EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for details on generating and importing XML

EcoSys EPC System Admin Topics Release 7604 Page 23 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Command Line Parameter Reference The following parameters need to be provided for the batch process

-a action -u user name -p password -f systemsettingsxml file

Action User Name Password Settings XML Additional Parameters

GenXML NA NA NA (refer to EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for parameters)

-a ImportActual -u username -p password -f settingsxml NA

-a ImportProject -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportReportDef -u username -p password -f settingsxml -importDir to specify the input definitions (required)

See Notes 4

-a ImportResource -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportXML -u username -p password -f settingsxml -xml path of xml file to import (required)

-a ImportDates -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportForecast -u username -p password -f settingsxml -cv cost object category_value_id (optional)

-a CloseoutMinorPeriod -u username -p password -f settingsxml

NA Note - when a close out is performed via the command line the application will not reflect the new minor period until both the Enterprise Data Cache (Global Type) has been refreshed and browsers for currently logged in userrsquos have refreshed An Enterprise Data Cache refresh can be forced by an administrator performing the following steps 1 Log into the EPC application 2 Go to System Information 3 Click the Cache Tab 4 Select Global Type in the Specify a

Data Cache to Refresh pick list 5 Click the Refresh Enterprise Data

Cache button 6 Each user in the application must

refresh their browser or log out and back in to see the new minor period

-a BulkCopy -u username -p password -f settingsxml NA

-a BulkPublish -u username -p password -f settingsxml NA

-a BulkRollup -u username -p password -f settingsxml NA

-a RunReportBatch -u username -p password NA -rb report batch short name (required)

-a RunAction -u username -p password -f settingsxml -action [action id or internal id] (required)

See Notes 3

-a RunActionBatch -u username -p password -f settingsxml -actionbatch [action id or internal id] (required)

See Notes 3

-a ImportCompletePercent -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportSpreadsheet -u username -p password NA See Notes 2

-a ExternalOperation -u username -p password -f settingsxml -o operation -xml param XML file See Notes 5

EcoSys EPC System Admin Topics Release 7604 Page 24 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

-a ImportCostAccount -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportRole -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportActivityCode -u username -p password -f settingsxml -ds datastore_id (required)

Note 1 The ndashDESFM_HOME= should refer to the new BATCH_HOME folder where the copy

of FMServerSettings and other files are being stored not the same ESFM_HOME folder where your application was originally installed since they may require different settings and options Note 2 For spreadsheet imports the following options apply -spreadsheet name or internal id of EPC spreadsheet (required) -file file path to excel spreadsheet you want to import (required) -format excelrdquo or ldquodelimited (default is ldquoexcelrdquo) -importLogic update or ldquoinsertrdquo or ldquoignorerdquo (default is ldquoinsertrdquo)

ldquoupdaterdquo means update existing rows

ldquoinsertrdquo means always insert as new

ldquoignorerdquo means ignore existing rows -runtimeparam ltparam namegt=ltparam valuegt (this parameter can appear multiple times on the command line as in bdquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc)

ltparam namegt must match the ID of a runtime parameter defined on the EPC spreadsheet

ltparam valuegt can either be the internal id or the short name of an EPC object Note 3 To use runtime parameters when running an action action batch or report batch from the command line simply add the params parameter to the command line arguments as inhelliprsquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc) Notes 4 set ACTION=ImportReportDef set ADDITIONAL_PARAMS=-importDir BATCH_HOMEimportreports For ACTION use ImportReportDefImportSpreadsheetDefImportFormulaDefImportActionDef depending upon SCARF element you want to import Notes 5 For external operations use ndasho to specify the name of the operation To pass in the parameters XML (overriding the defined parameters for that operation) use ndashxml followed by the name of the file containing the parameters XML 7 System Settings Input Value Reference The following list enumerates the input parameters used by batch processes These values will appear in the systemsettingsxml file automatically when exported from the GUI If you add or

edit them manually they need to be in XML tag format lttagnamegtvaluelttagnamegt

BULK COPY BULK_COPY_ROOT_SPREADSHEET_TYPE

BULK_COPY_SPREADSHEET_TYPE

BULK_COPY_TGT_SPREADSHEET_TYPE

BULK_COPY_SOURCE_VERSION

BULK_COPY_TARGET_VERSION

BULK_COPY_SOURCE_MAJORPERIOD

BULK_COPY_TARGET_MAJORPERIOD

BULK_COPY_SOURCE_VERSION_SHORT_NAME

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 9: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 9 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

4 Click Start to begin the process

5 Choose the option to import data from file and select the lsquoSPMetadataxmlrsquo from the

ESFM_HOMESAMLmetadataSP folder on the application server You may have to map this

location to the ADFS server or copy the file to a network share or to the IdP

EcoSys EPC System Admin Topics Release 7604 Page 10 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Continue through the screens making sure that you see four endpoints on the lsquoReady to

Add Trustrsquo screen On the last screen (lsquoFinishrsquo) uncheck the option to

EcoSys EPC System Admin Topics Release 7604 Page 11 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 12 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

7 Once the relying party has been created right click on its entry and choose lsquoEdit Propertiesrsquo

EcoSys EPC System Admin Topics Release 7604 Page 13 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

8 On the lsquoAdvancedrsquo tab select SHA-1 as the hash algorithm and click OK Note that SHA-

256 is not supported

9 Right click on the relying party entry again but this time choose lsquoEdit Claim Rulesrsquo

10 The following steps may not necessarily be the way you want to set up your claim rules

This example shows a two rule scenario where the first rule extracts the UPN from the

EcoSys EPC System Admin Topics Release 7604 Page 14 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Active Directory and the second transforms that UPN into the X509 Subject Name (of the

form usernamedomainsuffix)

EcoSys EPC System Admin Topics Release 7604 Page 15 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 16 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 17 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

This completes configuration on the ADFS server It has been set up in such a manner that when someone tries to access EcoSys EPC ndash

i she will be redirected to the ADFS server for authentication

ii if authentication is successful ADFS will send the user details in the form

usernamedomainsuffix back to EcoSys EPC

7 Configuring Users to Authenticate Via SAML Users authenticated by the IdP need to be further authorized in EcoSys EPC This means that in the scenario described above in step 6 where the IdP sends the user details in the form usernamedomainsuffix ndash

a user with the same login ID must exist within EcoSys EPC

the userrsquos authentication mode must be configured as custom

Follow these steps to import user details from your IdP to EcoSys EPC ndash

1 Create a new spreadsheet by selecting lsquoUserrsquo as the subject area

2 Add the following columns to it ndash

i Authentication Mode (use default value lsquoCustomrsquo)

ii First Name

iii Last Name

iv Login Name

v Main Menu (Name) (either use a default value or specify one)

vi License (use an appropriate default value)

EcoSys EPC System Admin Topics Release 7604 Page 18 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

3 Export user details from the IdP preferably in Excel format containing at least the First

Name Last Name and the Login Name (usernamesuffixcom in this example)

4 Import the Excel file into the spreadsheet created in step 1

You may need to configure security groups for these newly imported users 8 Troubleshooting SAML If the SAML exchange between EcoSys EPC and the IdP were to fail for any reason you will see an error page that looks like the following ndash

The EcoSys EPC SP produces two log files in the ESFM_HOMESAMLlogs folder on the server ndash

oiosaml-splog ndash this logs requests handled by the SP

oiosaml-sp-auditlog ndash this logs exchanges between the SP and the IdP

To configure the SPrsquos logging level edit the file ESFM_HOMESAMLoiosaml-splog4jxml The default log level for both these log files is set to ERROR which means that only error events are logged to them To see more detail in these log files set the log level to DEBUG as suggested in the lsquooiosaml-splog4jxmlrsquo file ndash ltparam name=Threshold value=ERROR gt lt-- change this to DEBUG when you want to debug

authentication issues --gt

The application will need to be restarted for the new logging level to take effect If you need to verify how SAML has been configured use the System Configuration utility and search for the term lsquosamlrsquo You should see the following ndash

EcoSys EPC System Admin Topics Release 7604 Page 19 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

9 Native user support (in SAML mode) When SAML has been enabled accessing EcoSys EPC via httpsmyservernameportecosys will always redirect you to the IdP authentication portal If you wish to login as a native user access EcoSys EPC using the URL httpsmyservernameportecosyslogin_native 10 Known issuesCommon pitfalls

1 If SSLHTTPS is being enabled through a reverse proxy arrangement ensure that the web

server is aware of the proxy so that URLs can be constructed correctly (see step 1)

2 Ensure that the application serverrsquos Java VM is configured to use unlimited encryption

strength algorithms (see step 4)

3 Ensure that the EcoSys EPC is set up to use SHA-1 hashing on your IdP (see step 6)

4 If your IdP both signs and encrypts assertions ensure that the lsquosigning signaturersquo comes

before the lsquoencryption signaturersquo in the metadata file

ESFM_HOMESAMLmetadataIdPIdPMetadataxml Restart the application if you have to make

this change The XML should be as follows in this case ndash

ltEntityDescriptorgt

hellip

ltIDPSSODescriptorgt

ltKeyDescriptor use=signinggt hellip ltKeyDescriptorgt

ltKeyDescriptor use=encryptiongt hellip ltKeyDescriptorgt

hellip

ltIDPSSODescriptorgt

hellip

ltEntityDescriptorgt

5 If your IdP uses self-signed certificates enable(uncomment) the following property in the file

ESFM_HOMESAMLoiosaml-spproperties and restart the application -

EcoSys EPC System Admin Topics Release 7604 Page 20 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

oiosaml-spcrlperiod=0

6 When you logout of EcoSys EPC (as a SAML user) you are typically taken to the IdPrsquos

authentication page If yoursquod like to be redirected to a different site instead

enable(uncomment) the following property in the file ESFM_HOMESAMLoiosaml-

spproperties and restart the application -

oiosaml-splogoutredirecturl=httpredirecturl

Command Line Batch Jobs Overview Some data import and processing jobs can be scheduled to run outside of the Java application server This is useful for long-running jobs that need to recur on a regular schedule for example importing forecasts from Primavera each week You should work with your implementation team to determine whether batch jobs need to be configured and if so what their parameters and schedules should be Note Details on the import file format for XML-based external system imports can be found in the EcoSys EPC Integration Guide Follow these steps to configure a command line batch script and job The batch job script can be scheduled to run using the scheduling tools native to your serverrsquos operating system For Windows you can use Control Panel gt Scheduled Tasks For Unix you can configure a cron job 1 Configuring the Files and Settings

1 Create folder for the batch job files Typically this is under your existing ESFM_HOME

folder perhaps called lsquobatchrsquo We will refer to this folder as BATCH_HOME in this section

2 Copy following the following files from ESFM_HOME to BATCH_HOME FMServerSettingsproperties log4jproperties FMLicenseproperties

3 Edit or add these entries to BATCH_HOMEFMServerSettingsproperties

fmdatasourcefactory=comecosysmgmtframeworkcontextFMPooledDataSourceFactory

connectionPoolminSize=2

connectionPoolmaxSize=20

datasourceJDBCUser=fmuser

datasourceJDBCPass=fmuser

datasourceJDBCDriver=oraclejdbcOracleDriver

datasourceJDBCConnectString=jdbcoraclethinMYSERVERHOSTNAME1521ESFM

4 Edit log4jproperties and change value of ldquolog4jappenderFILEFilerdquo to point to a location under your BATCH_HOME folder For example ldquoBatchImportlogrdquo

5 Begin with the template batch script located under batchecosys_batch_templatebat You may copy and modify this file to perform the specific batch commands you desire using the steps below

6 Build the CLASSPATH list for the job The following jar files are required for the import process Most of the files are already available in current ldquoecosysrdquo installation

EcoSys EPC System Admin Topics Release 7604 Page 21 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Location Library Files

CP6IntegrationAPIlib

All Oracle Primavera API jar (jar) files (excluding sqljdbcjar and ojdbcjar)

BATCH_HOMElib

ojdbcjar log4j-129jar commons-dbcpjar xworkjar ognljar commons-loggingjar commons-pool-13jar ecosysjar ppmapiabstractorjar FMXMLGeneratorjar

2 Exporting System Settings to XML For maximum flexibility batch jobs run with their own system settings file that is independent of the settings in the EcoSys EPC (ldquoESFMrdquo) database The settings are stored in an XML file which you need to export from the EcoSys EPC application To do this

1 Log on to EcoSys EPC as an administrative user 2 Configure the import settings as desired You do this by navigating to the ldquoIntegrationrdquo

menu then selecting each of the ldquoImporthelliprdquo menu items For each one configure the import settings as desired and click ldquoSaverdquo This saves the system settings to the database

3 Once you have configured all the import settings as desired use the ldquoSystem Administrationrdquo gt ldquo Export Application Settingsrdquo When prompted save the systemsettingsxml file locally

4 Copy the resulting systemsettingsxml file to the ldquoBATCH_HOMErdquo folder where your batch job will be run This file will be used when running batch jobs and the settings in that file will apply only to that batch job

5 When changes to the batch jobrsquos import settings are required you can either edit the systemsettingsxml file directly or follow the steps above to export a new file

3 Configuring Batch Job Logging

The settings for logging in batch jobs invoked from the command line (outside of the application GUI) can be controlled through the systemsettingsxml file specified for each batch command This gives full control over the details logged to the batch job log (visible in the application GUI) as well as the log file written when a batch job runs (These settings take the place of any properties specified in FMServerSettingsproperties)

Settings that begin with ldquoLOGGING_rdquo control the level of detail written to the log file These are primarily intended for system administrators

EcoSys EPC System Admin Topics Release 7604 Page 22 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Settings that begin with ldquoBATCH_JOB_LOGGING_rdquo control the level of detail written to the batch job log visible in the Reports gt Batch Job Log screen within the application These are intended for end users and application administrators

For each command line batch job you are using you may adjust the logging settings individually by editing the corresponding systemsettingsxml file The settings in question and their recommended default values are ltLOGGING_DEBUG_ENABLEDgtNltLOGGING_DEBUG_ENABLEDgt

ltLOGGING_XML_ENABLEDgtYltLOGGING_XML_ENABLEDgt

ltLOGGING_ERROR_ENABLEDgtYltLOGGING_ERROR_ENABLEDgt

ltLOGGING_INFO_ENABLEDgtYltLOGGING_INFO_ENABLEDgt

ltLOGGING_WARN_ENABLEDgtYltLOGGING_WARN_ENABLEDgt

ltLOGGING_USER_ACTION_ENABLEDgtYltLOGGING_USER_ACTION_ENABLEDgt

ltLOGGING_USER_ACTION_PARAMS_ENABLEDgtYltLOGGING_USER_ACTION_PARAMS_ENABLEDgt

ltLOGGING_METHOD_TRACE_ENABLEDgtNltLOGGING_METHOD_TRACE_ENABLEDgt

ltLOGGING_METHOD_PARAMS_ENABLEDgtNltLOGGING_METHOD_PARAMS_ENABLEDgt

ltLOGGING_DATABASE_QUERY_ENABLEDgtNltLOGGING_DATABASE_QUERY_ENABLEDgt

ltLOGGING_DB_QUERY_PARAMS_ENABLEDgtNltLOGGING_DB_QUERY_PARAMS_ENABLEDgt

ltLOGGING_INCLUDE_DATE_FLAGgtYltLOGGING_INCLUDE_DATE_FLAGgt

ltLOGGING_INCLUDE_TIMESTAMPgtYltLOGGING_INCLUDE_TIMESTAMPgt

ltLOGGING_INCLUDE_LOG_TYPEgtYltLOGGING_INCLUDE_LOG_TYPEgt

ltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgtYltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgt

ltLOGGING_INCLUDE_USER_IDENTIFIERgtYltLOGGING_INCLUDE_USER_IDENTIFIERgt

ltLOGGING_INCLUDE_CLASS_NAMEgtYltLOGGING_INCLUDE_CLASS_NAMEgt

ltBATCH_JOB_LOGGING_ACTION_ENABLEDgtYltBATCH_JOB_LOGGING_ACTION_ENABLEDgt

ltBATCH_JOB_LOGGING_DEBUG_ENABLEDgtNltBATCH_JOB_LOGGING_DEBUG_ENABLEDgt

ltBATCH_JOB_LOGGING_ERROR_ENABLEDgtYltBATCH_JOB_LOGGING_ERROR_ENABLEDgt

ltBATCH_JOB_LOGGING_INFO_ENABLEDgtYltBATCH_JOB_LOGGING_INFO_ENABLEDgt

ltBATCH_JOB_LOGGING_WARN_ENABLEDgtYltBATCH_JOB_LOGGING_WARN_ENABLEDgt

ltLOGGING_PROGRESS_ENABLEDgtYltLOGGING_PROGRESS_ENABLEDgt

ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt120ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt60ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltLOGGING_SERVER_METRICS_ENABLEDgtYltLOGGING_SERVER_METRICS_ENABLEDgt

ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt120ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt

4 Creating and Scheduling a Batch Script Scheduling of batch import process basically involves creating a batch file (or shell script under Unix) which will set up appropriate CLASSPATH then invoke the java command and using a platform dependent scheduler to execute the batch file on a predefined schedule A sample batch file for windows platform is provided ndash copy and modify batchecosys_batch_templatebat as a starting point To run several import process simultaneously you will need to duplicate the above mentioned folder and script for each import job Since there will be a separate batch file for each process they can be scheduled to run separately or independent of each other 5 Generating XML for Import An XML generating utility is provided that can convert tabular text-based files into XML suitable for import into EcoSys EPC This step would be performed prior to invoking the import jobs described below To generate XML see the batchecosys_batch_templatebat file in the section called GenerateXML Refer to the EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for details on generating and importing XML

EcoSys EPC System Admin Topics Release 7604 Page 23 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Command Line Parameter Reference The following parameters need to be provided for the batch process

-a action -u user name -p password -f systemsettingsxml file

Action User Name Password Settings XML Additional Parameters

GenXML NA NA NA (refer to EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for parameters)

-a ImportActual -u username -p password -f settingsxml NA

-a ImportProject -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportReportDef -u username -p password -f settingsxml -importDir to specify the input definitions (required)

See Notes 4

-a ImportResource -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportXML -u username -p password -f settingsxml -xml path of xml file to import (required)

-a ImportDates -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportForecast -u username -p password -f settingsxml -cv cost object category_value_id (optional)

-a CloseoutMinorPeriod -u username -p password -f settingsxml

NA Note - when a close out is performed via the command line the application will not reflect the new minor period until both the Enterprise Data Cache (Global Type) has been refreshed and browsers for currently logged in userrsquos have refreshed An Enterprise Data Cache refresh can be forced by an administrator performing the following steps 1 Log into the EPC application 2 Go to System Information 3 Click the Cache Tab 4 Select Global Type in the Specify a

Data Cache to Refresh pick list 5 Click the Refresh Enterprise Data

Cache button 6 Each user in the application must

refresh their browser or log out and back in to see the new minor period

-a BulkCopy -u username -p password -f settingsxml NA

-a BulkPublish -u username -p password -f settingsxml NA

-a BulkRollup -u username -p password -f settingsxml NA

-a RunReportBatch -u username -p password NA -rb report batch short name (required)

-a RunAction -u username -p password -f settingsxml -action [action id or internal id] (required)

See Notes 3

-a RunActionBatch -u username -p password -f settingsxml -actionbatch [action id or internal id] (required)

See Notes 3

-a ImportCompletePercent -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportSpreadsheet -u username -p password NA See Notes 2

-a ExternalOperation -u username -p password -f settingsxml -o operation -xml param XML file See Notes 5

EcoSys EPC System Admin Topics Release 7604 Page 24 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

-a ImportCostAccount -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportRole -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportActivityCode -u username -p password -f settingsxml -ds datastore_id (required)

Note 1 The ndashDESFM_HOME= should refer to the new BATCH_HOME folder where the copy

of FMServerSettings and other files are being stored not the same ESFM_HOME folder where your application was originally installed since they may require different settings and options Note 2 For spreadsheet imports the following options apply -spreadsheet name or internal id of EPC spreadsheet (required) -file file path to excel spreadsheet you want to import (required) -format excelrdquo or ldquodelimited (default is ldquoexcelrdquo) -importLogic update or ldquoinsertrdquo or ldquoignorerdquo (default is ldquoinsertrdquo)

ldquoupdaterdquo means update existing rows

ldquoinsertrdquo means always insert as new

ldquoignorerdquo means ignore existing rows -runtimeparam ltparam namegt=ltparam valuegt (this parameter can appear multiple times on the command line as in bdquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc)

ltparam namegt must match the ID of a runtime parameter defined on the EPC spreadsheet

ltparam valuegt can either be the internal id or the short name of an EPC object Note 3 To use runtime parameters when running an action action batch or report batch from the command line simply add the params parameter to the command line arguments as inhelliprsquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc) Notes 4 set ACTION=ImportReportDef set ADDITIONAL_PARAMS=-importDir BATCH_HOMEimportreports For ACTION use ImportReportDefImportSpreadsheetDefImportFormulaDefImportActionDef depending upon SCARF element you want to import Notes 5 For external operations use ndasho to specify the name of the operation To pass in the parameters XML (overriding the defined parameters for that operation) use ndashxml followed by the name of the file containing the parameters XML 7 System Settings Input Value Reference The following list enumerates the input parameters used by batch processes These values will appear in the systemsettingsxml file automatically when exported from the GUI If you add or

edit them manually they need to be in XML tag format lttagnamegtvaluelttagnamegt

BULK COPY BULK_COPY_ROOT_SPREADSHEET_TYPE

BULK_COPY_SPREADSHEET_TYPE

BULK_COPY_TGT_SPREADSHEET_TYPE

BULK_COPY_SOURCE_VERSION

BULK_COPY_TARGET_VERSION

BULK_COPY_SOURCE_MAJORPERIOD

BULK_COPY_TARGET_MAJORPERIOD

BULK_COPY_SOURCE_VERSION_SHORT_NAME

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 10: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 10 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Continue through the screens making sure that you see four endpoints on the lsquoReady to

Add Trustrsquo screen On the last screen (lsquoFinishrsquo) uncheck the option to

EcoSys EPC System Admin Topics Release 7604 Page 11 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 12 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

7 Once the relying party has been created right click on its entry and choose lsquoEdit Propertiesrsquo

EcoSys EPC System Admin Topics Release 7604 Page 13 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

8 On the lsquoAdvancedrsquo tab select SHA-1 as the hash algorithm and click OK Note that SHA-

256 is not supported

9 Right click on the relying party entry again but this time choose lsquoEdit Claim Rulesrsquo

10 The following steps may not necessarily be the way you want to set up your claim rules

This example shows a two rule scenario where the first rule extracts the UPN from the

EcoSys EPC System Admin Topics Release 7604 Page 14 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Active Directory and the second transforms that UPN into the X509 Subject Name (of the

form usernamedomainsuffix)

EcoSys EPC System Admin Topics Release 7604 Page 15 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 16 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 17 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

This completes configuration on the ADFS server It has been set up in such a manner that when someone tries to access EcoSys EPC ndash

i she will be redirected to the ADFS server for authentication

ii if authentication is successful ADFS will send the user details in the form

usernamedomainsuffix back to EcoSys EPC

7 Configuring Users to Authenticate Via SAML Users authenticated by the IdP need to be further authorized in EcoSys EPC This means that in the scenario described above in step 6 where the IdP sends the user details in the form usernamedomainsuffix ndash

a user with the same login ID must exist within EcoSys EPC

the userrsquos authentication mode must be configured as custom

Follow these steps to import user details from your IdP to EcoSys EPC ndash

1 Create a new spreadsheet by selecting lsquoUserrsquo as the subject area

2 Add the following columns to it ndash

i Authentication Mode (use default value lsquoCustomrsquo)

ii First Name

iii Last Name

iv Login Name

v Main Menu (Name) (either use a default value or specify one)

vi License (use an appropriate default value)

EcoSys EPC System Admin Topics Release 7604 Page 18 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

3 Export user details from the IdP preferably in Excel format containing at least the First

Name Last Name and the Login Name (usernamesuffixcom in this example)

4 Import the Excel file into the spreadsheet created in step 1

You may need to configure security groups for these newly imported users 8 Troubleshooting SAML If the SAML exchange between EcoSys EPC and the IdP were to fail for any reason you will see an error page that looks like the following ndash

The EcoSys EPC SP produces two log files in the ESFM_HOMESAMLlogs folder on the server ndash

oiosaml-splog ndash this logs requests handled by the SP

oiosaml-sp-auditlog ndash this logs exchanges between the SP and the IdP

To configure the SPrsquos logging level edit the file ESFM_HOMESAMLoiosaml-splog4jxml The default log level for both these log files is set to ERROR which means that only error events are logged to them To see more detail in these log files set the log level to DEBUG as suggested in the lsquooiosaml-splog4jxmlrsquo file ndash ltparam name=Threshold value=ERROR gt lt-- change this to DEBUG when you want to debug

authentication issues --gt

The application will need to be restarted for the new logging level to take effect If you need to verify how SAML has been configured use the System Configuration utility and search for the term lsquosamlrsquo You should see the following ndash

EcoSys EPC System Admin Topics Release 7604 Page 19 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

9 Native user support (in SAML mode) When SAML has been enabled accessing EcoSys EPC via httpsmyservernameportecosys will always redirect you to the IdP authentication portal If you wish to login as a native user access EcoSys EPC using the URL httpsmyservernameportecosyslogin_native 10 Known issuesCommon pitfalls

1 If SSLHTTPS is being enabled through a reverse proxy arrangement ensure that the web

server is aware of the proxy so that URLs can be constructed correctly (see step 1)

2 Ensure that the application serverrsquos Java VM is configured to use unlimited encryption

strength algorithms (see step 4)

3 Ensure that the EcoSys EPC is set up to use SHA-1 hashing on your IdP (see step 6)

4 If your IdP both signs and encrypts assertions ensure that the lsquosigning signaturersquo comes

before the lsquoencryption signaturersquo in the metadata file

ESFM_HOMESAMLmetadataIdPIdPMetadataxml Restart the application if you have to make

this change The XML should be as follows in this case ndash

ltEntityDescriptorgt

hellip

ltIDPSSODescriptorgt

ltKeyDescriptor use=signinggt hellip ltKeyDescriptorgt

ltKeyDescriptor use=encryptiongt hellip ltKeyDescriptorgt

hellip

ltIDPSSODescriptorgt

hellip

ltEntityDescriptorgt

5 If your IdP uses self-signed certificates enable(uncomment) the following property in the file

ESFM_HOMESAMLoiosaml-spproperties and restart the application -

EcoSys EPC System Admin Topics Release 7604 Page 20 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

oiosaml-spcrlperiod=0

6 When you logout of EcoSys EPC (as a SAML user) you are typically taken to the IdPrsquos

authentication page If yoursquod like to be redirected to a different site instead

enable(uncomment) the following property in the file ESFM_HOMESAMLoiosaml-

spproperties and restart the application -

oiosaml-splogoutredirecturl=httpredirecturl

Command Line Batch Jobs Overview Some data import and processing jobs can be scheduled to run outside of the Java application server This is useful for long-running jobs that need to recur on a regular schedule for example importing forecasts from Primavera each week You should work with your implementation team to determine whether batch jobs need to be configured and if so what their parameters and schedules should be Note Details on the import file format for XML-based external system imports can be found in the EcoSys EPC Integration Guide Follow these steps to configure a command line batch script and job The batch job script can be scheduled to run using the scheduling tools native to your serverrsquos operating system For Windows you can use Control Panel gt Scheduled Tasks For Unix you can configure a cron job 1 Configuring the Files and Settings

1 Create folder for the batch job files Typically this is under your existing ESFM_HOME

folder perhaps called lsquobatchrsquo We will refer to this folder as BATCH_HOME in this section

2 Copy following the following files from ESFM_HOME to BATCH_HOME FMServerSettingsproperties log4jproperties FMLicenseproperties

3 Edit or add these entries to BATCH_HOMEFMServerSettingsproperties

fmdatasourcefactory=comecosysmgmtframeworkcontextFMPooledDataSourceFactory

connectionPoolminSize=2

connectionPoolmaxSize=20

datasourceJDBCUser=fmuser

datasourceJDBCPass=fmuser

datasourceJDBCDriver=oraclejdbcOracleDriver

datasourceJDBCConnectString=jdbcoraclethinMYSERVERHOSTNAME1521ESFM

4 Edit log4jproperties and change value of ldquolog4jappenderFILEFilerdquo to point to a location under your BATCH_HOME folder For example ldquoBatchImportlogrdquo

5 Begin with the template batch script located under batchecosys_batch_templatebat You may copy and modify this file to perform the specific batch commands you desire using the steps below

6 Build the CLASSPATH list for the job The following jar files are required for the import process Most of the files are already available in current ldquoecosysrdquo installation

EcoSys EPC System Admin Topics Release 7604 Page 21 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Location Library Files

CP6IntegrationAPIlib

All Oracle Primavera API jar (jar) files (excluding sqljdbcjar and ojdbcjar)

BATCH_HOMElib

ojdbcjar log4j-129jar commons-dbcpjar xworkjar ognljar commons-loggingjar commons-pool-13jar ecosysjar ppmapiabstractorjar FMXMLGeneratorjar

2 Exporting System Settings to XML For maximum flexibility batch jobs run with their own system settings file that is independent of the settings in the EcoSys EPC (ldquoESFMrdquo) database The settings are stored in an XML file which you need to export from the EcoSys EPC application To do this

1 Log on to EcoSys EPC as an administrative user 2 Configure the import settings as desired You do this by navigating to the ldquoIntegrationrdquo

menu then selecting each of the ldquoImporthelliprdquo menu items For each one configure the import settings as desired and click ldquoSaverdquo This saves the system settings to the database

3 Once you have configured all the import settings as desired use the ldquoSystem Administrationrdquo gt ldquo Export Application Settingsrdquo When prompted save the systemsettingsxml file locally

4 Copy the resulting systemsettingsxml file to the ldquoBATCH_HOMErdquo folder where your batch job will be run This file will be used when running batch jobs and the settings in that file will apply only to that batch job

5 When changes to the batch jobrsquos import settings are required you can either edit the systemsettingsxml file directly or follow the steps above to export a new file

3 Configuring Batch Job Logging

The settings for logging in batch jobs invoked from the command line (outside of the application GUI) can be controlled through the systemsettingsxml file specified for each batch command This gives full control over the details logged to the batch job log (visible in the application GUI) as well as the log file written when a batch job runs (These settings take the place of any properties specified in FMServerSettingsproperties)

Settings that begin with ldquoLOGGING_rdquo control the level of detail written to the log file These are primarily intended for system administrators

EcoSys EPC System Admin Topics Release 7604 Page 22 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Settings that begin with ldquoBATCH_JOB_LOGGING_rdquo control the level of detail written to the batch job log visible in the Reports gt Batch Job Log screen within the application These are intended for end users and application administrators

For each command line batch job you are using you may adjust the logging settings individually by editing the corresponding systemsettingsxml file The settings in question and their recommended default values are ltLOGGING_DEBUG_ENABLEDgtNltLOGGING_DEBUG_ENABLEDgt

ltLOGGING_XML_ENABLEDgtYltLOGGING_XML_ENABLEDgt

ltLOGGING_ERROR_ENABLEDgtYltLOGGING_ERROR_ENABLEDgt

ltLOGGING_INFO_ENABLEDgtYltLOGGING_INFO_ENABLEDgt

ltLOGGING_WARN_ENABLEDgtYltLOGGING_WARN_ENABLEDgt

ltLOGGING_USER_ACTION_ENABLEDgtYltLOGGING_USER_ACTION_ENABLEDgt

ltLOGGING_USER_ACTION_PARAMS_ENABLEDgtYltLOGGING_USER_ACTION_PARAMS_ENABLEDgt

ltLOGGING_METHOD_TRACE_ENABLEDgtNltLOGGING_METHOD_TRACE_ENABLEDgt

ltLOGGING_METHOD_PARAMS_ENABLEDgtNltLOGGING_METHOD_PARAMS_ENABLEDgt

ltLOGGING_DATABASE_QUERY_ENABLEDgtNltLOGGING_DATABASE_QUERY_ENABLEDgt

ltLOGGING_DB_QUERY_PARAMS_ENABLEDgtNltLOGGING_DB_QUERY_PARAMS_ENABLEDgt

ltLOGGING_INCLUDE_DATE_FLAGgtYltLOGGING_INCLUDE_DATE_FLAGgt

ltLOGGING_INCLUDE_TIMESTAMPgtYltLOGGING_INCLUDE_TIMESTAMPgt

ltLOGGING_INCLUDE_LOG_TYPEgtYltLOGGING_INCLUDE_LOG_TYPEgt

ltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgtYltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgt

ltLOGGING_INCLUDE_USER_IDENTIFIERgtYltLOGGING_INCLUDE_USER_IDENTIFIERgt

ltLOGGING_INCLUDE_CLASS_NAMEgtYltLOGGING_INCLUDE_CLASS_NAMEgt

ltBATCH_JOB_LOGGING_ACTION_ENABLEDgtYltBATCH_JOB_LOGGING_ACTION_ENABLEDgt

ltBATCH_JOB_LOGGING_DEBUG_ENABLEDgtNltBATCH_JOB_LOGGING_DEBUG_ENABLEDgt

ltBATCH_JOB_LOGGING_ERROR_ENABLEDgtYltBATCH_JOB_LOGGING_ERROR_ENABLEDgt

ltBATCH_JOB_LOGGING_INFO_ENABLEDgtYltBATCH_JOB_LOGGING_INFO_ENABLEDgt

ltBATCH_JOB_LOGGING_WARN_ENABLEDgtYltBATCH_JOB_LOGGING_WARN_ENABLEDgt

ltLOGGING_PROGRESS_ENABLEDgtYltLOGGING_PROGRESS_ENABLEDgt

ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt120ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt60ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltLOGGING_SERVER_METRICS_ENABLEDgtYltLOGGING_SERVER_METRICS_ENABLEDgt

ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt120ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt

4 Creating and Scheduling a Batch Script Scheduling of batch import process basically involves creating a batch file (or shell script under Unix) which will set up appropriate CLASSPATH then invoke the java command and using a platform dependent scheduler to execute the batch file on a predefined schedule A sample batch file for windows platform is provided ndash copy and modify batchecosys_batch_templatebat as a starting point To run several import process simultaneously you will need to duplicate the above mentioned folder and script for each import job Since there will be a separate batch file for each process they can be scheduled to run separately or independent of each other 5 Generating XML for Import An XML generating utility is provided that can convert tabular text-based files into XML suitable for import into EcoSys EPC This step would be performed prior to invoking the import jobs described below To generate XML see the batchecosys_batch_templatebat file in the section called GenerateXML Refer to the EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for details on generating and importing XML

EcoSys EPC System Admin Topics Release 7604 Page 23 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Command Line Parameter Reference The following parameters need to be provided for the batch process

-a action -u user name -p password -f systemsettingsxml file

Action User Name Password Settings XML Additional Parameters

GenXML NA NA NA (refer to EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for parameters)

-a ImportActual -u username -p password -f settingsxml NA

-a ImportProject -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportReportDef -u username -p password -f settingsxml -importDir to specify the input definitions (required)

See Notes 4

-a ImportResource -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportXML -u username -p password -f settingsxml -xml path of xml file to import (required)

-a ImportDates -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportForecast -u username -p password -f settingsxml -cv cost object category_value_id (optional)

-a CloseoutMinorPeriod -u username -p password -f settingsxml

NA Note - when a close out is performed via the command line the application will not reflect the new minor period until both the Enterprise Data Cache (Global Type) has been refreshed and browsers for currently logged in userrsquos have refreshed An Enterprise Data Cache refresh can be forced by an administrator performing the following steps 1 Log into the EPC application 2 Go to System Information 3 Click the Cache Tab 4 Select Global Type in the Specify a

Data Cache to Refresh pick list 5 Click the Refresh Enterprise Data

Cache button 6 Each user in the application must

refresh their browser or log out and back in to see the new minor period

-a BulkCopy -u username -p password -f settingsxml NA

-a BulkPublish -u username -p password -f settingsxml NA

-a BulkRollup -u username -p password -f settingsxml NA

-a RunReportBatch -u username -p password NA -rb report batch short name (required)

-a RunAction -u username -p password -f settingsxml -action [action id or internal id] (required)

See Notes 3

-a RunActionBatch -u username -p password -f settingsxml -actionbatch [action id or internal id] (required)

See Notes 3

-a ImportCompletePercent -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportSpreadsheet -u username -p password NA See Notes 2

-a ExternalOperation -u username -p password -f settingsxml -o operation -xml param XML file See Notes 5

EcoSys EPC System Admin Topics Release 7604 Page 24 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

-a ImportCostAccount -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportRole -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportActivityCode -u username -p password -f settingsxml -ds datastore_id (required)

Note 1 The ndashDESFM_HOME= should refer to the new BATCH_HOME folder where the copy

of FMServerSettings and other files are being stored not the same ESFM_HOME folder where your application was originally installed since they may require different settings and options Note 2 For spreadsheet imports the following options apply -spreadsheet name or internal id of EPC spreadsheet (required) -file file path to excel spreadsheet you want to import (required) -format excelrdquo or ldquodelimited (default is ldquoexcelrdquo) -importLogic update or ldquoinsertrdquo or ldquoignorerdquo (default is ldquoinsertrdquo)

ldquoupdaterdquo means update existing rows

ldquoinsertrdquo means always insert as new

ldquoignorerdquo means ignore existing rows -runtimeparam ltparam namegt=ltparam valuegt (this parameter can appear multiple times on the command line as in bdquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc)

ltparam namegt must match the ID of a runtime parameter defined on the EPC spreadsheet

ltparam valuegt can either be the internal id or the short name of an EPC object Note 3 To use runtime parameters when running an action action batch or report batch from the command line simply add the params parameter to the command line arguments as inhelliprsquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc) Notes 4 set ACTION=ImportReportDef set ADDITIONAL_PARAMS=-importDir BATCH_HOMEimportreports For ACTION use ImportReportDefImportSpreadsheetDefImportFormulaDefImportActionDef depending upon SCARF element you want to import Notes 5 For external operations use ndasho to specify the name of the operation To pass in the parameters XML (overriding the defined parameters for that operation) use ndashxml followed by the name of the file containing the parameters XML 7 System Settings Input Value Reference The following list enumerates the input parameters used by batch processes These values will appear in the systemsettingsxml file automatically when exported from the GUI If you add or

edit them manually they need to be in XML tag format lttagnamegtvaluelttagnamegt

BULK COPY BULK_COPY_ROOT_SPREADSHEET_TYPE

BULK_COPY_SPREADSHEET_TYPE

BULK_COPY_TGT_SPREADSHEET_TYPE

BULK_COPY_SOURCE_VERSION

BULK_COPY_TARGET_VERSION

BULK_COPY_SOURCE_MAJORPERIOD

BULK_COPY_TARGET_MAJORPERIOD

BULK_COPY_SOURCE_VERSION_SHORT_NAME

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 11: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 11 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 12 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

7 Once the relying party has been created right click on its entry and choose lsquoEdit Propertiesrsquo

EcoSys EPC System Admin Topics Release 7604 Page 13 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

8 On the lsquoAdvancedrsquo tab select SHA-1 as the hash algorithm and click OK Note that SHA-

256 is not supported

9 Right click on the relying party entry again but this time choose lsquoEdit Claim Rulesrsquo

10 The following steps may not necessarily be the way you want to set up your claim rules

This example shows a two rule scenario where the first rule extracts the UPN from the

EcoSys EPC System Admin Topics Release 7604 Page 14 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Active Directory and the second transforms that UPN into the X509 Subject Name (of the

form usernamedomainsuffix)

EcoSys EPC System Admin Topics Release 7604 Page 15 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 16 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 17 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

This completes configuration on the ADFS server It has been set up in such a manner that when someone tries to access EcoSys EPC ndash

i she will be redirected to the ADFS server for authentication

ii if authentication is successful ADFS will send the user details in the form

usernamedomainsuffix back to EcoSys EPC

7 Configuring Users to Authenticate Via SAML Users authenticated by the IdP need to be further authorized in EcoSys EPC This means that in the scenario described above in step 6 where the IdP sends the user details in the form usernamedomainsuffix ndash

a user with the same login ID must exist within EcoSys EPC

the userrsquos authentication mode must be configured as custom

Follow these steps to import user details from your IdP to EcoSys EPC ndash

1 Create a new spreadsheet by selecting lsquoUserrsquo as the subject area

2 Add the following columns to it ndash

i Authentication Mode (use default value lsquoCustomrsquo)

ii First Name

iii Last Name

iv Login Name

v Main Menu (Name) (either use a default value or specify one)

vi License (use an appropriate default value)

EcoSys EPC System Admin Topics Release 7604 Page 18 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

3 Export user details from the IdP preferably in Excel format containing at least the First

Name Last Name and the Login Name (usernamesuffixcom in this example)

4 Import the Excel file into the spreadsheet created in step 1

You may need to configure security groups for these newly imported users 8 Troubleshooting SAML If the SAML exchange between EcoSys EPC and the IdP were to fail for any reason you will see an error page that looks like the following ndash

The EcoSys EPC SP produces two log files in the ESFM_HOMESAMLlogs folder on the server ndash

oiosaml-splog ndash this logs requests handled by the SP

oiosaml-sp-auditlog ndash this logs exchanges between the SP and the IdP

To configure the SPrsquos logging level edit the file ESFM_HOMESAMLoiosaml-splog4jxml The default log level for both these log files is set to ERROR which means that only error events are logged to them To see more detail in these log files set the log level to DEBUG as suggested in the lsquooiosaml-splog4jxmlrsquo file ndash ltparam name=Threshold value=ERROR gt lt-- change this to DEBUG when you want to debug

authentication issues --gt

The application will need to be restarted for the new logging level to take effect If you need to verify how SAML has been configured use the System Configuration utility and search for the term lsquosamlrsquo You should see the following ndash

EcoSys EPC System Admin Topics Release 7604 Page 19 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

9 Native user support (in SAML mode) When SAML has been enabled accessing EcoSys EPC via httpsmyservernameportecosys will always redirect you to the IdP authentication portal If you wish to login as a native user access EcoSys EPC using the URL httpsmyservernameportecosyslogin_native 10 Known issuesCommon pitfalls

1 If SSLHTTPS is being enabled through a reverse proxy arrangement ensure that the web

server is aware of the proxy so that URLs can be constructed correctly (see step 1)

2 Ensure that the application serverrsquos Java VM is configured to use unlimited encryption

strength algorithms (see step 4)

3 Ensure that the EcoSys EPC is set up to use SHA-1 hashing on your IdP (see step 6)

4 If your IdP both signs and encrypts assertions ensure that the lsquosigning signaturersquo comes

before the lsquoencryption signaturersquo in the metadata file

ESFM_HOMESAMLmetadataIdPIdPMetadataxml Restart the application if you have to make

this change The XML should be as follows in this case ndash

ltEntityDescriptorgt

hellip

ltIDPSSODescriptorgt

ltKeyDescriptor use=signinggt hellip ltKeyDescriptorgt

ltKeyDescriptor use=encryptiongt hellip ltKeyDescriptorgt

hellip

ltIDPSSODescriptorgt

hellip

ltEntityDescriptorgt

5 If your IdP uses self-signed certificates enable(uncomment) the following property in the file

ESFM_HOMESAMLoiosaml-spproperties and restart the application -

EcoSys EPC System Admin Topics Release 7604 Page 20 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

oiosaml-spcrlperiod=0

6 When you logout of EcoSys EPC (as a SAML user) you are typically taken to the IdPrsquos

authentication page If yoursquod like to be redirected to a different site instead

enable(uncomment) the following property in the file ESFM_HOMESAMLoiosaml-

spproperties and restart the application -

oiosaml-splogoutredirecturl=httpredirecturl

Command Line Batch Jobs Overview Some data import and processing jobs can be scheduled to run outside of the Java application server This is useful for long-running jobs that need to recur on a regular schedule for example importing forecasts from Primavera each week You should work with your implementation team to determine whether batch jobs need to be configured and if so what their parameters and schedules should be Note Details on the import file format for XML-based external system imports can be found in the EcoSys EPC Integration Guide Follow these steps to configure a command line batch script and job The batch job script can be scheduled to run using the scheduling tools native to your serverrsquos operating system For Windows you can use Control Panel gt Scheduled Tasks For Unix you can configure a cron job 1 Configuring the Files and Settings

1 Create folder for the batch job files Typically this is under your existing ESFM_HOME

folder perhaps called lsquobatchrsquo We will refer to this folder as BATCH_HOME in this section

2 Copy following the following files from ESFM_HOME to BATCH_HOME FMServerSettingsproperties log4jproperties FMLicenseproperties

3 Edit or add these entries to BATCH_HOMEFMServerSettingsproperties

fmdatasourcefactory=comecosysmgmtframeworkcontextFMPooledDataSourceFactory

connectionPoolminSize=2

connectionPoolmaxSize=20

datasourceJDBCUser=fmuser

datasourceJDBCPass=fmuser

datasourceJDBCDriver=oraclejdbcOracleDriver

datasourceJDBCConnectString=jdbcoraclethinMYSERVERHOSTNAME1521ESFM

4 Edit log4jproperties and change value of ldquolog4jappenderFILEFilerdquo to point to a location under your BATCH_HOME folder For example ldquoBatchImportlogrdquo

5 Begin with the template batch script located under batchecosys_batch_templatebat You may copy and modify this file to perform the specific batch commands you desire using the steps below

6 Build the CLASSPATH list for the job The following jar files are required for the import process Most of the files are already available in current ldquoecosysrdquo installation

EcoSys EPC System Admin Topics Release 7604 Page 21 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Location Library Files

CP6IntegrationAPIlib

All Oracle Primavera API jar (jar) files (excluding sqljdbcjar and ojdbcjar)

BATCH_HOMElib

ojdbcjar log4j-129jar commons-dbcpjar xworkjar ognljar commons-loggingjar commons-pool-13jar ecosysjar ppmapiabstractorjar FMXMLGeneratorjar

2 Exporting System Settings to XML For maximum flexibility batch jobs run with their own system settings file that is independent of the settings in the EcoSys EPC (ldquoESFMrdquo) database The settings are stored in an XML file which you need to export from the EcoSys EPC application To do this

1 Log on to EcoSys EPC as an administrative user 2 Configure the import settings as desired You do this by navigating to the ldquoIntegrationrdquo

menu then selecting each of the ldquoImporthelliprdquo menu items For each one configure the import settings as desired and click ldquoSaverdquo This saves the system settings to the database

3 Once you have configured all the import settings as desired use the ldquoSystem Administrationrdquo gt ldquo Export Application Settingsrdquo When prompted save the systemsettingsxml file locally

4 Copy the resulting systemsettingsxml file to the ldquoBATCH_HOMErdquo folder where your batch job will be run This file will be used when running batch jobs and the settings in that file will apply only to that batch job

5 When changes to the batch jobrsquos import settings are required you can either edit the systemsettingsxml file directly or follow the steps above to export a new file

3 Configuring Batch Job Logging

The settings for logging in batch jobs invoked from the command line (outside of the application GUI) can be controlled through the systemsettingsxml file specified for each batch command This gives full control over the details logged to the batch job log (visible in the application GUI) as well as the log file written when a batch job runs (These settings take the place of any properties specified in FMServerSettingsproperties)

Settings that begin with ldquoLOGGING_rdquo control the level of detail written to the log file These are primarily intended for system administrators

EcoSys EPC System Admin Topics Release 7604 Page 22 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Settings that begin with ldquoBATCH_JOB_LOGGING_rdquo control the level of detail written to the batch job log visible in the Reports gt Batch Job Log screen within the application These are intended for end users and application administrators

For each command line batch job you are using you may adjust the logging settings individually by editing the corresponding systemsettingsxml file The settings in question and their recommended default values are ltLOGGING_DEBUG_ENABLEDgtNltLOGGING_DEBUG_ENABLEDgt

ltLOGGING_XML_ENABLEDgtYltLOGGING_XML_ENABLEDgt

ltLOGGING_ERROR_ENABLEDgtYltLOGGING_ERROR_ENABLEDgt

ltLOGGING_INFO_ENABLEDgtYltLOGGING_INFO_ENABLEDgt

ltLOGGING_WARN_ENABLEDgtYltLOGGING_WARN_ENABLEDgt

ltLOGGING_USER_ACTION_ENABLEDgtYltLOGGING_USER_ACTION_ENABLEDgt

ltLOGGING_USER_ACTION_PARAMS_ENABLEDgtYltLOGGING_USER_ACTION_PARAMS_ENABLEDgt

ltLOGGING_METHOD_TRACE_ENABLEDgtNltLOGGING_METHOD_TRACE_ENABLEDgt

ltLOGGING_METHOD_PARAMS_ENABLEDgtNltLOGGING_METHOD_PARAMS_ENABLEDgt

ltLOGGING_DATABASE_QUERY_ENABLEDgtNltLOGGING_DATABASE_QUERY_ENABLEDgt

ltLOGGING_DB_QUERY_PARAMS_ENABLEDgtNltLOGGING_DB_QUERY_PARAMS_ENABLEDgt

ltLOGGING_INCLUDE_DATE_FLAGgtYltLOGGING_INCLUDE_DATE_FLAGgt

ltLOGGING_INCLUDE_TIMESTAMPgtYltLOGGING_INCLUDE_TIMESTAMPgt

ltLOGGING_INCLUDE_LOG_TYPEgtYltLOGGING_INCLUDE_LOG_TYPEgt

ltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgtYltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgt

ltLOGGING_INCLUDE_USER_IDENTIFIERgtYltLOGGING_INCLUDE_USER_IDENTIFIERgt

ltLOGGING_INCLUDE_CLASS_NAMEgtYltLOGGING_INCLUDE_CLASS_NAMEgt

ltBATCH_JOB_LOGGING_ACTION_ENABLEDgtYltBATCH_JOB_LOGGING_ACTION_ENABLEDgt

ltBATCH_JOB_LOGGING_DEBUG_ENABLEDgtNltBATCH_JOB_LOGGING_DEBUG_ENABLEDgt

ltBATCH_JOB_LOGGING_ERROR_ENABLEDgtYltBATCH_JOB_LOGGING_ERROR_ENABLEDgt

ltBATCH_JOB_LOGGING_INFO_ENABLEDgtYltBATCH_JOB_LOGGING_INFO_ENABLEDgt

ltBATCH_JOB_LOGGING_WARN_ENABLEDgtYltBATCH_JOB_LOGGING_WARN_ENABLEDgt

ltLOGGING_PROGRESS_ENABLEDgtYltLOGGING_PROGRESS_ENABLEDgt

ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt120ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt60ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltLOGGING_SERVER_METRICS_ENABLEDgtYltLOGGING_SERVER_METRICS_ENABLEDgt

ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt120ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt

4 Creating and Scheduling a Batch Script Scheduling of batch import process basically involves creating a batch file (or shell script under Unix) which will set up appropriate CLASSPATH then invoke the java command and using a platform dependent scheduler to execute the batch file on a predefined schedule A sample batch file for windows platform is provided ndash copy and modify batchecosys_batch_templatebat as a starting point To run several import process simultaneously you will need to duplicate the above mentioned folder and script for each import job Since there will be a separate batch file for each process they can be scheduled to run separately or independent of each other 5 Generating XML for Import An XML generating utility is provided that can convert tabular text-based files into XML suitable for import into EcoSys EPC This step would be performed prior to invoking the import jobs described below To generate XML see the batchecosys_batch_templatebat file in the section called GenerateXML Refer to the EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for details on generating and importing XML

EcoSys EPC System Admin Topics Release 7604 Page 23 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Command Line Parameter Reference The following parameters need to be provided for the batch process

-a action -u user name -p password -f systemsettingsxml file

Action User Name Password Settings XML Additional Parameters

GenXML NA NA NA (refer to EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for parameters)

-a ImportActual -u username -p password -f settingsxml NA

-a ImportProject -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportReportDef -u username -p password -f settingsxml -importDir to specify the input definitions (required)

See Notes 4

-a ImportResource -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportXML -u username -p password -f settingsxml -xml path of xml file to import (required)

-a ImportDates -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportForecast -u username -p password -f settingsxml -cv cost object category_value_id (optional)

-a CloseoutMinorPeriod -u username -p password -f settingsxml

NA Note - when a close out is performed via the command line the application will not reflect the new minor period until both the Enterprise Data Cache (Global Type) has been refreshed and browsers for currently logged in userrsquos have refreshed An Enterprise Data Cache refresh can be forced by an administrator performing the following steps 1 Log into the EPC application 2 Go to System Information 3 Click the Cache Tab 4 Select Global Type in the Specify a

Data Cache to Refresh pick list 5 Click the Refresh Enterprise Data

Cache button 6 Each user in the application must

refresh their browser or log out and back in to see the new minor period

-a BulkCopy -u username -p password -f settingsxml NA

-a BulkPublish -u username -p password -f settingsxml NA

-a BulkRollup -u username -p password -f settingsxml NA

-a RunReportBatch -u username -p password NA -rb report batch short name (required)

-a RunAction -u username -p password -f settingsxml -action [action id or internal id] (required)

See Notes 3

-a RunActionBatch -u username -p password -f settingsxml -actionbatch [action id or internal id] (required)

See Notes 3

-a ImportCompletePercent -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportSpreadsheet -u username -p password NA See Notes 2

-a ExternalOperation -u username -p password -f settingsxml -o operation -xml param XML file See Notes 5

EcoSys EPC System Admin Topics Release 7604 Page 24 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

-a ImportCostAccount -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportRole -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportActivityCode -u username -p password -f settingsxml -ds datastore_id (required)

Note 1 The ndashDESFM_HOME= should refer to the new BATCH_HOME folder where the copy

of FMServerSettings and other files are being stored not the same ESFM_HOME folder where your application was originally installed since they may require different settings and options Note 2 For spreadsheet imports the following options apply -spreadsheet name or internal id of EPC spreadsheet (required) -file file path to excel spreadsheet you want to import (required) -format excelrdquo or ldquodelimited (default is ldquoexcelrdquo) -importLogic update or ldquoinsertrdquo or ldquoignorerdquo (default is ldquoinsertrdquo)

ldquoupdaterdquo means update existing rows

ldquoinsertrdquo means always insert as new

ldquoignorerdquo means ignore existing rows -runtimeparam ltparam namegt=ltparam valuegt (this parameter can appear multiple times on the command line as in bdquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc)

ltparam namegt must match the ID of a runtime parameter defined on the EPC spreadsheet

ltparam valuegt can either be the internal id or the short name of an EPC object Note 3 To use runtime parameters when running an action action batch or report batch from the command line simply add the params parameter to the command line arguments as inhelliprsquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc) Notes 4 set ACTION=ImportReportDef set ADDITIONAL_PARAMS=-importDir BATCH_HOMEimportreports For ACTION use ImportReportDefImportSpreadsheetDefImportFormulaDefImportActionDef depending upon SCARF element you want to import Notes 5 For external operations use ndasho to specify the name of the operation To pass in the parameters XML (overriding the defined parameters for that operation) use ndashxml followed by the name of the file containing the parameters XML 7 System Settings Input Value Reference The following list enumerates the input parameters used by batch processes These values will appear in the systemsettingsxml file automatically when exported from the GUI If you add or

edit them manually they need to be in XML tag format lttagnamegtvaluelttagnamegt

BULK COPY BULK_COPY_ROOT_SPREADSHEET_TYPE

BULK_COPY_SPREADSHEET_TYPE

BULK_COPY_TGT_SPREADSHEET_TYPE

BULK_COPY_SOURCE_VERSION

BULK_COPY_TARGET_VERSION

BULK_COPY_SOURCE_MAJORPERIOD

BULK_COPY_TARGET_MAJORPERIOD

BULK_COPY_SOURCE_VERSION_SHORT_NAME

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 12: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 12 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

7 Once the relying party has been created right click on its entry and choose lsquoEdit Propertiesrsquo

EcoSys EPC System Admin Topics Release 7604 Page 13 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

8 On the lsquoAdvancedrsquo tab select SHA-1 as the hash algorithm and click OK Note that SHA-

256 is not supported

9 Right click on the relying party entry again but this time choose lsquoEdit Claim Rulesrsquo

10 The following steps may not necessarily be the way you want to set up your claim rules

This example shows a two rule scenario where the first rule extracts the UPN from the

EcoSys EPC System Admin Topics Release 7604 Page 14 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Active Directory and the second transforms that UPN into the X509 Subject Name (of the

form usernamedomainsuffix)

EcoSys EPC System Admin Topics Release 7604 Page 15 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 16 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 17 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

This completes configuration on the ADFS server It has been set up in such a manner that when someone tries to access EcoSys EPC ndash

i she will be redirected to the ADFS server for authentication

ii if authentication is successful ADFS will send the user details in the form

usernamedomainsuffix back to EcoSys EPC

7 Configuring Users to Authenticate Via SAML Users authenticated by the IdP need to be further authorized in EcoSys EPC This means that in the scenario described above in step 6 where the IdP sends the user details in the form usernamedomainsuffix ndash

a user with the same login ID must exist within EcoSys EPC

the userrsquos authentication mode must be configured as custom

Follow these steps to import user details from your IdP to EcoSys EPC ndash

1 Create a new spreadsheet by selecting lsquoUserrsquo as the subject area

2 Add the following columns to it ndash

i Authentication Mode (use default value lsquoCustomrsquo)

ii First Name

iii Last Name

iv Login Name

v Main Menu (Name) (either use a default value or specify one)

vi License (use an appropriate default value)

EcoSys EPC System Admin Topics Release 7604 Page 18 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

3 Export user details from the IdP preferably in Excel format containing at least the First

Name Last Name and the Login Name (usernamesuffixcom in this example)

4 Import the Excel file into the spreadsheet created in step 1

You may need to configure security groups for these newly imported users 8 Troubleshooting SAML If the SAML exchange between EcoSys EPC and the IdP were to fail for any reason you will see an error page that looks like the following ndash

The EcoSys EPC SP produces two log files in the ESFM_HOMESAMLlogs folder on the server ndash

oiosaml-splog ndash this logs requests handled by the SP

oiosaml-sp-auditlog ndash this logs exchanges between the SP and the IdP

To configure the SPrsquos logging level edit the file ESFM_HOMESAMLoiosaml-splog4jxml The default log level for both these log files is set to ERROR which means that only error events are logged to them To see more detail in these log files set the log level to DEBUG as suggested in the lsquooiosaml-splog4jxmlrsquo file ndash ltparam name=Threshold value=ERROR gt lt-- change this to DEBUG when you want to debug

authentication issues --gt

The application will need to be restarted for the new logging level to take effect If you need to verify how SAML has been configured use the System Configuration utility and search for the term lsquosamlrsquo You should see the following ndash

EcoSys EPC System Admin Topics Release 7604 Page 19 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

9 Native user support (in SAML mode) When SAML has been enabled accessing EcoSys EPC via httpsmyservernameportecosys will always redirect you to the IdP authentication portal If you wish to login as a native user access EcoSys EPC using the URL httpsmyservernameportecosyslogin_native 10 Known issuesCommon pitfalls

1 If SSLHTTPS is being enabled through a reverse proxy arrangement ensure that the web

server is aware of the proxy so that URLs can be constructed correctly (see step 1)

2 Ensure that the application serverrsquos Java VM is configured to use unlimited encryption

strength algorithms (see step 4)

3 Ensure that the EcoSys EPC is set up to use SHA-1 hashing on your IdP (see step 6)

4 If your IdP both signs and encrypts assertions ensure that the lsquosigning signaturersquo comes

before the lsquoencryption signaturersquo in the metadata file

ESFM_HOMESAMLmetadataIdPIdPMetadataxml Restart the application if you have to make

this change The XML should be as follows in this case ndash

ltEntityDescriptorgt

hellip

ltIDPSSODescriptorgt

ltKeyDescriptor use=signinggt hellip ltKeyDescriptorgt

ltKeyDescriptor use=encryptiongt hellip ltKeyDescriptorgt

hellip

ltIDPSSODescriptorgt

hellip

ltEntityDescriptorgt

5 If your IdP uses self-signed certificates enable(uncomment) the following property in the file

ESFM_HOMESAMLoiosaml-spproperties and restart the application -

EcoSys EPC System Admin Topics Release 7604 Page 20 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

oiosaml-spcrlperiod=0

6 When you logout of EcoSys EPC (as a SAML user) you are typically taken to the IdPrsquos

authentication page If yoursquod like to be redirected to a different site instead

enable(uncomment) the following property in the file ESFM_HOMESAMLoiosaml-

spproperties and restart the application -

oiosaml-splogoutredirecturl=httpredirecturl

Command Line Batch Jobs Overview Some data import and processing jobs can be scheduled to run outside of the Java application server This is useful for long-running jobs that need to recur on a regular schedule for example importing forecasts from Primavera each week You should work with your implementation team to determine whether batch jobs need to be configured and if so what their parameters and schedules should be Note Details on the import file format for XML-based external system imports can be found in the EcoSys EPC Integration Guide Follow these steps to configure a command line batch script and job The batch job script can be scheduled to run using the scheduling tools native to your serverrsquos operating system For Windows you can use Control Panel gt Scheduled Tasks For Unix you can configure a cron job 1 Configuring the Files and Settings

1 Create folder for the batch job files Typically this is under your existing ESFM_HOME

folder perhaps called lsquobatchrsquo We will refer to this folder as BATCH_HOME in this section

2 Copy following the following files from ESFM_HOME to BATCH_HOME FMServerSettingsproperties log4jproperties FMLicenseproperties

3 Edit or add these entries to BATCH_HOMEFMServerSettingsproperties

fmdatasourcefactory=comecosysmgmtframeworkcontextFMPooledDataSourceFactory

connectionPoolminSize=2

connectionPoolmaxSize=20

datasourceJDBCUser=fmuser

datasourceJDBCPass=fmuser

datasourceJDBCDriver=oraclejdbcOracleDriver

datasourceJDBCConnectString=jdbcoraclethinMYSERVERHOSTNAME1521ESFM

4 Edit log4jproperties and change value of ldquolog4jappenderFILEFilerdquo to point to a location under your BATCH_HOME folder For example ldquoBatchImportlogrdquo

5 Begin with the template batch script located under batchecosys_batch_templatebat You may copy and modify this file to perform the specific batch commands you desire using the steps below

6 Build the CLASSPATH list for the job The following jar files are required for the import process Most of the files are already available in current ldquoecosysrdquo installation

EcoSys EPC System Admin Topics Release 7604 Page 21 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Location Library Files

CP6IntegrationAPIlib

All Oracle Primavera API jar (jar) files (excluding sqljdbcjar and ojdbcjar)

BATCH_HOMElib

ojdbcjar log4j-129jar commons-dbcpjar xworkjar ognljar commons-loggingjar commons-pool-13jar ecosysjar ppmapiabstractorjar FMXMLGeneratorjar

2 Exporting System Settings to XML For maximum flexibility batch jobs run with their own system settings file that is independent of the settings in the EcoSys EPC (ldquoESFMrdquo) database The settings are stored in an XML file which you need to export from the EcoSys EPC application To do this

1 Log on to EcoSys EPC as an administrative user 2 Configure the import settings as desired You do this by navigating to the ldquoIntegrationrdquo

menu then selecting each of the ldquoImporthelliprdquo menu items For each one configure the import settings as desired and click ldquoSaverdquo This saves the system settings to the database

3 Once you have configured all the import settings as desired use the ldquoSystem Administrationrdquo gt ldquo Export Application Settingsrdquo When prompted save the systemsettingsxml file locally

4 Copy the resulting systemsettingsxml file to the ldquoBATCH_HOMErdquo folder where your batch job will be run This file will be used when running batch jobs and the settings in that file will apply only to that batch job

5 When changes to the batch jobrsquos import settings are required you can either edit the systemsettingsxml file directly or follow the steps above to export a new file

3 Configuring Batch Job Logging

The settings for logging in batch jobs invoked from the command line (outside of the application GUI) can be controlled through the systemsettingsxml file specified for each batch command This gives full control over the details logged to the batch job log (visible in the application GUI) as well as the log file written when a batch job runs (These settings take the place of any properties specified in FMServerSettingsproperties)

Settings that begin with ldquoLOGGING_rdquo control the level of detail written to the log file These are primarily intended for system administrators

EcoSys EPC System Admin Topics Release 7604 Page 22 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Settings that begin with ldquoBATCH_JOB_LOGGING_rdquo control the level of detail written to the batch job log visible in the Reports gt Batch Job Log screen within the application These are intended for end users and application administrators

For each command line batch job you are using you may adjust the logging settings individually by editing the corresponding systemsettingsxml file The settings in question and their recommended default values are ltLOGGING_DEBUG_ENABLEDgtNltLOGGING_DEBUG_ENABLEDgt

ltLOGGING_XML_ENABLEDgtYltLOGGING_XML_ENABLEDgt

ltLOGGING_ERROR_ENABLEDgtYltLOGGING_ERROR_ENABLEDgt

ltLOGGING_INFO_ENABLEDgtYltLOGGING_INFO_ENABLEDgt

ltLOGGING_WARN_ENABLEDgtYltLOGGING_WARN_ENABLEDgt

ltLOGGING_USER_ACTION_ENABLEDgtYltLOGGING_USER_ACTION_ENABLEDgt

ltLOGGING_USER_ACTION_PARAMS_ENABLEDgtYltLOGGING_USER_ACTION_PARAMS_ENABLEDgt

ltLOGGING_METHOD_TRACE_ENABLEDgtNltLOGGING_METHOD_TRACE_ENABLEDgt

ltLOGGING_METHOD_PARAMS_ENABLEDgtNltLOGGING_METHOD_PARAMS_ENABLEDgt

ltLOGGING_DATABASE_QUERY_ENABLEDgtNltLOGGING_DATABASE_QUERY_ENABLEDgt

ltLOGGING_DB_QUERY_PARAMS_ENABLEDgtNltLOGGING_DB_QUERY_PARAMS_ENABLEDgt

ltLOGGING_INCLUDE_DATE_FLAGgtYltLOGGING_INCLUDE_DATE_FLAGgt

ltLOGGING_INCLUDE_TIMESTAMPgtYltLOGGING_INCLUDE_TIMESTAMPgt

ltLOGGING_INCLUDE_LOG_TYPEgtYltLOGGING_INCLUDE_LOG_TYPEgt

ltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgtYltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgt

ltLOGGING_INCLUDE_USER_IDENTIFIERgtYltLOGGING_INCLUDE_USER_IDENTIFIERgt

ltLOGGING_INCLUDE_CLASS_NAMEgtYltLOGGING_INCLUDE_CLASS_NAMEgt

ltBATCH_JOB_LOGGING_ACTION_ENABLEDgtYltBATCH_JOB_LOGGING_ACTION_ENABLEDgt

ltBATCH_JOB_LOGGING_DEBUG_ENABLEDgtNltBATCH_JOB_LOGGING_DEBUG_ENABLEDgt

ltBATCH_JOB_LOGGING_ERROR_ENABLEDgtYltBATCH_JOB_LOGGING_ERROR_ENABLEDgt

ltBATCH_JOB_LOGGING_INFO_ENABLEDgtYltBATCH_JOB_LOGGING_INFO_ENABLEDgt

ltBATCH_JOB_LOGGING_WARN_ENABLEDgtYltBATCH_JOB_LOGGING_WARN_ENABLEDgt

ltLOGGING_PROGRESS_ENABLEDgtYltLOGGING_PROGRESS_ENABLEDgt

ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt120ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt60ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltLOGGING_SERVER_METRICS_ENABLEDgtYltLOGGING_SERVER_METRICS_ENABLEDgt

ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt120ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt

4 Creating and Scheduling a Batch Script Scheduling of batch import process basically involves creating a batch file (or shell script under Unix) which will set up appropriate CLASSPATH then invoke the java command and using a platform dependent scheduler to execute the batch file on a predefined schedule A sample batch file for windows platform is provided ndash copy and modify batchecosys_batch_templatebat as a starting point To run several import process simultaneously you will need to duplicate the above mentioned folder and script for each import job Since there will be a separate batch file for each process they can be scheduled to run separately or independent of each other 5 Generating XML for Import An XML generating utility is provided that can convert tabular text-based files into XML suitable for import into EcoSys EPC This step would be performed prior to invoking the import jobs described below To generate XML see the batchecosys_batch_templatebat file in the section called GenerateXML Refer to the EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for details on generating and importing XML

EcoSys EPC System Admin Topics Release 7604 Page 23 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Command Line Parameter Reference The following parameters need to be provided for the batch process

-a action -u user name -p password -f systemsettingsxml file

Action User Name Password Settings XML Additional Parameters

GenXML NA NA NA (refer to EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for parameters)

-a ImportActual -u username -p password -f settingsxml NA

-a ImportProject -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportReportDef -u username -p password -f settingsxml -importDir to specify the input definitions (required)

See Notes 4

-a ImportResource -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportXML -u username -p password -f settingsxml -xml path of xml file to import (required)

-a ImportDates -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportForecast -u username -p password -f settingsxml -cv cost object category_value_id (optional)

-a CloseoutMinorPeriod -u username -p password -f settingsxml

NA Note - when a close out is performed via the command line the application will not reflect the new minor period until both the Enterprise Data Cache (Global Type) has been refreshed and browsers for currently logged in userrsquos have refreshed An Enterprise Data Cache refresh can be forced by an administrator performing the following steps 1 Log into the EPC application 2 Go to System Information 3 Click the Cache Tab 4 Select Global Type in the Specify a

Data Cache to Refresh pick list 5 Click the Refresh Enterprise Data

Cache button 6 Each user in the application must

refresh their browser or log out and back in to see the new minor period

-a BulkCopy -u username -p password -f settingsxml NA

-a BulkPublish -u username -p password -f settingsxml NA

-a BulkRollup -u username -p password -f settingsxml NA

-a RunReportBatch -u username -p password NA -rb report batch short name (required)

-a RunAction -u username -p password -f settingsxml -action [action id or internal id] (required)

See Notes 3

-a RunActionBatch -u username -p password -f settingsxml -actionbatch [action id or internal id] (required)

See Notes 3

-a ImportCompletePercent -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportSpreadsheet -u username -p password NA See Notes 2

-a ExternalOperation -u username -p password -f settingsxml -o operation -xml param XML file See Notes 5

EcoSys EPC System Admin Topics Release 7604 Page 24 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

-a ImportCostAccount -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportRole -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportActivityCode -u username -p password -f settingsxml -ds datastore_id (required)

Note 1 The ndashDESFM_HOME= should refer to the new BATCH_HOME folder where the copy

of FMServerSettings and other files are being stored not the same ESFM_HOME folder where your application was originally installed since they may require different settings and options Note 2 For spreadsheet imports the following options apply -spreadsheet name or internal id of EPC spreadsheet (required) -file file path to excel spreadsheet you want to import (required) -format excelrdquo or ldquodelimited (default is ldquoexcelrdquo) -importLogic update or ldquoinsertrdquo or ldquoignorerdquo (default is ldquoinsertrdquo)

ldquoupdaterdquo means update existing rows

ldquoinsertrdquo means always insert as new

ldquoignorerdquo means ignore existing rows -runtimeparam ltparam namegt=ltparam valuegt (this parameter can appear multiple times on the command line as in bdquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc)

ltparam namegt must match the ID of a runtime parameter defined on the EPC spreadsheet

ltparam valuegt can either be the internal id or the short name of an EPC object Note 3 To use runtime parameters when running an action action batch or report batch from the command line simply add the params parameter to the command line arguments as inhelliprsquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc) Notes 4 set ACTION=ImportReportDef set ADDITIONAL_PARAMS=-importDir BATCH_HOMEimportreports For ACTION use ImportReportDefImportSpreadsheetDefImportFormulaDefImportActionDef depending upon SCARF element you want to import Notes 5 For external operations use ndasho to specify the name of the operation To pass in the parameters XML (overriding the defined parameters for that operation) use ndashxml followed by the name of the file containing the parameters XML 7 System Settings Input Value Reference The following list enumerates the input parameters used by batch processes These values will appear in the systemsettingsxml file automatically when exported from the GUI If you add or

edit them manually they need to be in XML tag format lttagnamegtvaluelttagnamegt

BULK COPY BULK_COPY_ROOT_SPREADSHEET_TYPE

BULK_COPY_SPREADSHEET_TYPE

BULK_COPY_TGT_SPREADSHEET_TYPE

BULK_COPY_SOURCE_VERSION

BULK_COPY_TARGET_VERSION

BULK_COPY_SOURCE_MAJORPERIOD

BULK_COPY_TARGET_MAJORPERIOD

BULK_COPY_SOURCE_VERSION_SHORT_NAME

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 13: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 13 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

8 On the lsquoAdvancedrsquo tab select SHA-1 as the hash algorithm and click OK Note that SHA-

256 is not supported

9 Right click on the relying party entry again but this time choose lsquoEdit Claim Rulesrsquo

10 The following steps may not necessarily be the way you want to set up your claim rules

This example shows a two rule scenario where the first rule extracts the UPN from the

EcoSys EPC System Admin Topics Release 7604 Page 14 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Active Directory and the second transforms that UPN into the X509 Subject Name (of the

form usernamedomainsuffix)

EcoSys EPC System Admin Topics Release 7604 Page 15 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 16 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 17 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

This completes configuration on the ADFS server It has been set up in such a manner that when someone tries to access EcoSys EPC ndash

i she will be redirected to the ADFS server for authentication

ii if authentication is successful ADFS will send the user details in the form

usernamedomainsuffix back to EcoSys EPC

7 Configuring Users to Authenticate Via SAML Users authenticated by the IdP need to be further authorized in EcoSys EPC This means that in the scenario described above in step 6 where the IdP sends the user details in the form usernamedomainsuffix ndash

a user with the same login ID must exist within EcoSys EPC

the userrsquos authentication mode must be configured as custom

Follow these steps to import user details from your IdP to EcoSys EPC ndash

1 Create a new spreadsheet by selecting lsquoUserrsquo as the subject area

2 Add the following columns to it ndash

i Authentication Mode (use default value lsquoCustomrsquo)

ii First Name

iii Last Name

iv Login Name

v Main Menu (Name) (either use a default value or specify one)

vi License (use an appropriate default value)

EcoSys EPC System Admin Topics Release 7604 Page 18 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

3 Export user details from the IdP preferably in Excel format containing at least the First

Name Last Name and the Login Name (usernamesuffixcom in this example)

4 Import the Excel file into the spreadsheet created in step 1

You may need to configure security groups for these newly imported users 8 Troubleshooting SAML If the SAML exchange between EcoSys EPC and the IdP were to fail for any reason you will see an error page that looks like the following ndash

The EcoSys EPC SP produces two log files in the ESFM_HOMESAMLlogs folder on the server ndash

oiosaml-splog ndash this logs requests handled by the SP

oiosaml-sp-auditlog ndash this logs exchanges between the SP and the IdP

To configure the SPrsquos logging level edit the file ESFM_HOMESAMLoiosaml-splog4jxml The default log level for both these log files is set to ERROR which means that only error events are logged to them To see more detail in these log files set the log level to DEBUG as suggested in the lsquooiosaml-splog4jxmlrsquo file ndash ltparam name=Threshold value=ERROR gt lt-- change this to DEBUG when you want to debug

authentication issues --gt

The application will need to be restarted for the new logging level to take effect If you need to verify how SAML has been configured use the System Configuration utility and search for the term lsquosamlrsquo You should see the following ndash

EcoSys EPC System Admin Topics Release 7604 Page 19 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

9 Native user support (in SAML mode) When SAML has been enabled accessing EcoSys EPC via httpsmyservernameportecosys will always redirect you to the IdP authentication portal If you wish to login as a native user access EcoSys EPC using the URL httpsmyservernameportecosyslogin_native 10 Known issuesCommon pitfalls

1 If SSLHTTPS is being enabled through a reverse proxy arrangement ensure that the web

server is aware of the proxy so that URLs can be constructed correctly (see step 1)

2 Ensure that the application serverrsquos Java VM is configured to use unlimited encryption

strength algorithms (see step 4)

3 Ensure that the EcoSys EPC is set up to use SHA-1 hashing on your IdP (see step 6)

4 If your IdP both signs and encrypts assertions ensure that the lsquosigning signaturersquo comes

before the lsquoencryption signaturersquo in the metadata file

ESFM_HOMESAMLmetadataIdPIdPMetadataxml Restart the application if you have to make

this change The XML should be as follows in this case ndash

ltEntityDescriptorgt

hellip

ltIDPSSODescriptorgt

ltKeyDescriptor use=signinggt hellip ltKeyDescriptorgt

ltKeyDescriptor use=encryptiongt hellip ltKeyDescriptorgt

hellip

ltIDPSSODescriptorgt

hellip

ltEntityDescriptorgt

5 If your IdP uses self-signed certificates enable(uncomment) the following property in the file

ESFM_HOMESAMLoiosaml-spproperties and restart the application -

EcoSys EPC System Admin Topics Release 7604 Page 20 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

oiosaml-spcrlperiod=0

6 When you logout of EcoSys EPC (as a SAML user) you are typically taken to the IdPrsquos

authentication page If yoursquod like to be redirected to a different site instead

enable(uncomment) the following property in the file ESFM_HOMESAMLoiosaml-

spproperties and restart the application -

oiosaml-splogoutredirecturl=httpredirecturl

Command Line Batch Jobs Overview Some data import and processing jobs can be scheduled to run outside of the Java application server This is useful for long-running jobs that need to recur on a regular schedule for example importing forecasts from Primavera each week You should work with your implementation team to determine whether batch jobs need to be configured and if so what their parameters and schedules should be Note Details on the import file format for XML-based external system imports can be found in the EcoSys EPC Integration Guide Follow these steps to configure a command line batch script and job The batch job script can be scheduled to run using the scheduling tools native to your serverrsquos operating system For Windows you can use Control Panel gt Scheduled Tasks For Unix you can configure a cron job 1 Configuring the Files and Settings

1 Create folder for the batch job files Typically this is under your existing ESFM_HOME

folder perhaps called lsquobatchrsquo We will refer to this folder as BATCH_HOME in this section

2 Copy following the following files from ESFM_HOME to BATCH_HOME FMServerSettingsproperties log4jproperties FMLicenseproperties

3 Edit or add these entries to BATCH_HOMEFMServerSettingsproperties

fmdatasourcefactory=comecosysmgmtframeworkcontextFMPooledDataSourceFactory

connectionPoolminSize=2

connectionPoolmaxSize=20

datasourceJDBCUser=fmuser

datasourceJDBCPass=fmuser

datasourceJDBCDriver=oraclejdbcOracleDriver

datasourceJDBCConnectString=jdbcoraclethinMYSERVERHOSTNAME1521ESFM

4 Edit log4jproperties and change value of ldquolog4jappenderFILEFilerdquo to point to a location under your BATCH_HOME folder For example ldquoBatchImportlogrdquo

5 Begin with the template batch script located under batchecosys_batch_templatebat You may copy and modify this file to perform the specific batch commands you desire using the steps below

6 Build the CLASSPATH list for the job The following jar files are required for the import process Most of the files are already available in current ldquoecosysrdquo installation

EcoSys EPC System Admin Topics Release 7604 Page 21 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Location Library Files

CP6IntegrationAPIlib

All Oracle Primavera API jar (jar) files (excluding sqljdbcjar and ojdbcjar)

BATCH_HOMElib

ojdbcjar log4j-129jar commons-dbcpjar xworkjar ognljar commons-loggingjar commons-pool-13jar ecosysjar ppmapiabstractorjar FMXMLGeneratorjar

2 Exporting System Settings to XML For maximum flexibility batch jobs run with their own system settings file that is independent of the settings in the EcoSys EPC (ldquoESFMrdquo) database The settings are stored in an XML file which you need to export from the EcoSys EPC application To do this

1 Log on to EcoSys EPC as an administrative user 2 Configure the import settings as desired You do this by navigating to the ldquoIntegrationrdquo

menu then selecting each of the ldquoImporthelliprdquo menu items For each one configure the import settings as desired and click ldquoSaverdquo This saves the system settings to the database

3 Once you have configured all the import settings as desired use the ldquoSystem Administrationrdquo gt ldquo Export Application Settingsrdquo When prompted save the systemsettingsxml file locally

4 Copy the resulting systemsettingsxml file to the ldquoBATCH_HOMErdquo folder where your batch job will be run This file will be used when running batch jobs and the settings in that file will apply only to that batch job

5 When changes to the batch jobrsquos import settings are required you can either edit the systemsettingsxml file directly or follow the steps above to export a new file

3 Configuring Batch Job Logging

The settings for logging in batch jobs invoked from the command line (outside of the application GUI) can be controlled through the systemsettingsxml file specified for each batch command This gives full control over the details logged to the batch job log (visible in the application GUI) as well as the log file written when a batch job runs (These settings take the place of any properties specified in FMServerSettingsproperties)

Settings that begin with ldquoLOGGING_rdquo control the level of detail written to the log file These are primarily intended for system administrators

EcoSys EPC System Admin Topics Release 7604 Page 22 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Settings that begin with ldquoBATCH_JOB_LOGGING_rdquo control the level of detail written to the batch job log visible in the Reports gt Batch Job Log screen within the application These are intended for end users and application administrators

For each command line batch job you are using you may adjust the logging settings individually by editing the corresponding systemsettingsxml file The settings in question and their recommended default values are ltLOGGING_DEBUG_ENABLEDgtNltLOGGING_DEBUG_ENABLEDgt

ltLOGGING_XML_ENABLEDgtYltLOGGING_XML_ENABLEDgt

ltLOGGING_ERROR_ENABLEDgtYltLOGGING_ERROR_ENABLEDgt

ltLOGGING_INFO_ENABLEDgtYltLOGGING_INFO_ENABLEDgt

ltLOGGING_WARN_ENABLEDgtYltLOGGING_WARN_ENABLEDgt

ltLOGGING_USER_ACTION_ENABLEDgtYltLOGGING_USER_ACTION_ENABLEDgt

ltLOGGING_USER_ACTION_PARAMS_ENABLEDgtYltLOGGING_USER_ACTION_PARAMS_ENABLEDgt

ltLOGGING_METHOD_TRACE_ENABLEDgtNltLOGGING_METHOD_TRACE_ENABLEDgt

ltLOGGING_METHOD_PARAMS_ENABLEDgtNltLOGGING_METHOD_PARAMS_ENABLEDgt

ltLOGGING_DATABASE_QUERY_ENABLEDgtNltLOGGING_DATABASE_QUERY_ENABLEDgt

ltLOGGING_DB_QUERY_PARAMS_ENABLEDgtNltLOGGING_DB_QUERY_PARAMS_ENABLEDgt

ltLOGGING_INCLUDE_DATE_FLAGgtYltLOGGING_INCLUDE_DATE_FLAGgt

ltLOGGING_INCLUDE_TIMESTAMPgtYltLOGGING_INCLUDE_TIMESTAMPgt

ltLOGGING_INCLUDE_LOG_TYPEgtYltLOGGING_INCLUDE_LOG_TYPEgt

ltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgtYltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgt

ltLOGGING_INCLUDE_USER_IDENTIFIERgtYltLOGGING_INCLUDE_USER_IDENTIFIERgt

ltLOGGING_INCLUDE_CLASS_NAMEgtYltLOGGING_INCLUDE_CLASS_NAMEgt

ltBATCH_JOB_LOGGING_ACTION_ENABLEDgtYltBATCH_JOB_LOGGING_ACTION_ENABLEDgt

ltBATCH_JOB_LOGGING_DEBUG_ENABLEDgtNltBATCH_JOB_LOGGING_DEBUG_ENABLEDgt

ltBATCH_JOB_LOGGING_ERROR_ENABLEDgtYltBATCH_JOB_LOGGING_ERROR_ENABLEDgt

ltBATCH_JOB_LOGGING_INFO_ENABLEDgtYltBATCH_JOB_LOGGING_INFO_ENABLEDgt

ltBATCH_JOB_LOGGING_WARN_ENABLEDgtYltBATCH_JOB_LOGGING_WARN_ENABLEDgt

ltLOGGING_PROGRESS_ENABLEDgtYltLOGGING_PROGRESS_ENABLEDgt

ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt120ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt60ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltLOGGING_SERVER_METRICS_ENABLEDgtYltLOGGING_SERVER_METRICS_ENABLEDgt

ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt120ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt

4 Creating and Scheduling a Batch Script Scheduling of batch import process basically involves creating a batch file (or shell script under Unix) which will set up appropriate CLASSPATH then invoke the java command and using a platform dependent scheduler to execute the batch file on a predefined schedule A sample batch file for windows platform is provided ndash copy and modify batchecosys_batch_templatebat as a starting point To run several import process simultaneously you will need to duplicate the above mentioned folder and script for each import job Since there will be a separate batch file for each process they can be scheduled to run separately or independent of each other 5 Generating XML for Import An XML generating utility is provided that can convert tabular text-based files into XML suitable for import into EcoSys EPC This step would be performed prior to invoking the import jobs described below To generate XML see the batchecosys_batch_templatebat file in the section called GenerateXML Refer to the EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for details on generating and importing XML

EcoSys EPC System Admin Topics Release 7604 Page 23 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Command Line Parameter Reference The following parameters need to be provided for the batch process

-a action -u user name -p password -f systemsettingsxml file

Action User Name Password Settings XML Additional Parameters

GenXML NA NA NA (refer to EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for parameters)

-a ImportActual -u username -p password -f settingsxml NA

-a ImportProject -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportReportDef -u username -p password -f settingsxml -importDir to specify the input definitions (required)

See Notes 4

-a ImportResource -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportXML -u username -p password -f settingsxml -xml path of xml file to import (required)

-a ImportDates -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportForecast -u username -p password -f settingsxml -cv cost object category_value_id (optional)

-a CloseoutMinorPeriod -u username -p password -f settingsxml

NA Note - when a close out is performed via the command line the application will not reflect the new minor period until both the Enterprise Data Cache (Global Type) has been refreshed and browsers for currently logged in userrsquos have refreshed An Enterprise Data Cache refresh can be forced by an administrator performing the following steps 1 Log into the EPC application 2 Go to System Information 3 Click the Cache Tab 4 Select Global Type in the Specify a

Data Cache to Refresh pick list 5 Click the Refresh Enterprise Data

Cache button 6 Each user in the application must

refresh their browser or log out and back in to see the new minor period

-a BulkCopy -u username -p password -f settingsxml NA

-a BulkPublish -u username -p password -f settingsxml NA

-a BulkRollup -u username -p password -f settingsxml NA

-a RunReportBatch -u username -p password NA -rb report batch short name (required)

-a RunAction -u username -p password -f settingsxml -action [action id or internal id] (required)

See Notes 3

-a RunActionBatch -u username -p password -f settingsxml -actionbatch [action id or internal id] (required)

See Notes 3

-a ImportCompletePercent -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportSpreadsheet -u username -p password NA See Notes 2

-a ExternalOperation -u username -p password -f settingsxml -o operation -xml param XML file See Notes 5

EcoSys EPC System Admin Topics Release 7604 Page 24 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

-a ImportCostAccount -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportRole -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportActivityCode -u username -p password -f settingsxml -ds datastore_id (required)

Note 1 The ndashDESFM_HOME= should refer to the new BATCH_HOME folder where the copy

of FMServerSettings and other files are being stored not the same ESFM_HOME folder where your application was originally installed since they may require different settings and options Note 2 For spreadsheet imports the following options apply -spreadsheet name or internal id of EPC spreadsheet (required) -file file path to excel spreadsheet you want to import (required) -format excelrdquo or ldquodelimited (default is ldquoexcelrdquo) -importLogic update or ldquoinsertrdquo or ldquoignorerdquo (default is ldquoinsertrdquo)

ldquoupdaterdquo means update existing rows

ldquoinsertrdquo means always insert as new

ldquoignorerdquo means ignore existing rows -runtimeparam ltparam namegt=ltparam valuegt (this parameter can appear multiple times on the command line as in bdquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc)

ltparam namegt must match the ID of a runtime parameter defined on the EPC spreadsheet

ltparam valuegt can either be the internal id or the short name of an EPC object Note 3 To use runtime parameters when running an action action batch or report batch from the command line simply add the params parameter to the command line arguments as inhelliprsquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc) Notes 4 set ACTION=ImportReportDef set ADDITIONAL_PARAMS=-importDir BATCH_HOMEimportreports For ACTION use ImportReportDefImportSpreadsheetDefImportFormulaDefImportActionDef depending upon SCARF element you want to import Notes 5 For external operations use ndasho to specify the name of the operation To pass in the parameters XML (overriding the defined parameters for that operation) use ndashxml followed by the name of the file containing the parameters XML 7 System Settings Input Value Reference The following list enumerates the input parameters used by batch processes These values will appear in the systemsettingsxml file automatically when exported from the GUI If you add or

edit them manually they need to be in XML tag format lttagnamegtvaluelttagnamegt

BULK COPY BULK_COPY_ROOT_SPREADSHEET_TYPE

BULK_COPY_SPREADSHEET_TYPE

BULK_COPY_TGT_SPREADSHEET_TYPE

BULK_COPY_SOURCE_VERSION

BULK_COPY_TARGET_VERSION

BULK_COPY_SOURCE_MAJORPERIOD

BULK_COPY_TARGET_MAJORPERIOD

BULK_COPY_SOURCE_VERSION_SHORT_NAME

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 14: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 14 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Active Directory and the second transforms that UPN into the X509 Subject Name (of the

form usernamedomainsuffix)

EcoSys EPC System Admin Topics Release 7604 Page 15 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 16 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 17 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

This completes configuration on the ADFS server It has been set up in such a manner that when someone tries to access EcoSys EPC ndash

i she will be redirected to the ADFS server for authentication

ii if authentication is successful ADFS will send the user details in the form

usernamedomainsuffix back to EcoSys EPC

7 Configuring Users to Authenticate Via SAML Users authenticated by the IdP need to be further authorized in EcoSys EPC This means that in the scenario described above in step 6 where the IdP sends the user details in the form usernamedomainsuffix ndash

a user with the same login ID must exist within EcoSys EPC

the userrsquos authentication mode must be configured as custom

Follow these steps to import user details from your IdP to EcoSys EPC ndash

1 Create a new spreadsheet by selecting lsquoUserrsquo as the subject area

2 Add the following columns to it ndash

i Authentication Mode (use default value lsquoCustomrsquo)

ii First Name

iii Last Name

iv Login Name

v Main Menu (Name) (either use a default value or specify one)

vi License (use an appropriate default value)

EcoSys EPC System Admin Topics Release 7604 Page 18 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

3 Export user details from the IdP preferably in Excel format containing at least the First

Name Last Name and the Login Name (usernamesuffixcom in this example)

4 Import the Excel file into the spreadsheet created in step 1

You may need to configure security groups for these newly imported users 8 Troubleshooting SAML If the SAML exchange between EcoSys EPC and the IdP were to fail for any reason you will see an error page that looks like the following ndash

The EcoSys EPC SP produces two log files in the ESFM_HOMESAMLlogs folder on the server ndash

oiosaml-splog ndash this logs requests handled by the SP

oiosaml-sp-auditlog ndash this logs exchanges between the SP and the IdP

To configure the SPrsquos logging level edit the file ESFM_HOMESAMLoiosaml-splog4jxml The default log level for both these log files is set to ERROR which means that only error events are logged to them To see more detail in these log files set the log level to DEBUG as suggested in the lsquooiosaml-splog4jxmlrsquo file ndash ltparam name=Threshold value=ERROR gt lt-- change this to DEBUG when you want to debug

authentication issues --gt

The application will need to be restarted for the new logging level to take effect If you need to verify how SAML has been configured use the System Configuration utility and search for the term lsquosamlrsquo You should see the following ndash

EcoSys EPC System Admin Topics Release 7604 Page 19 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

9 Native user support (in SAML mode) When SAML has been enabled accessing EcoSys EPC via httpsmyservernameportecosys will always redirect you to the IdP authentication portal If you wish to login as a native user access EcoSys EPC using the URL httpsmyservernameportecosyslogin_native 10 Known issuesCommon pitfalls

1 If SSLHTTPS is being enabled through a reverse proxy arrangement ensure that the web

server is aware of the proxy so that URLs can be constructed correctly (see step 1)

2 Ensure that the application serverrsquos Java VM is configured to use unlimited encryption

strength algorithms (see step 4)

3 Ensure that the EcoSys EPC is set up to use SHA-1 hashing on your IdP (see step 6)

4 If your IdP both signs and encrypts assertions ensure that the lsquosigning signaturersquo comes

before the lsquoencryption signaturersquo in the metadata file

ESFM_HOMESAMLmetadataIdPIdPMetadataxml Restart the application if you have to make

this change The XML should be as follows in this case ndash

ltEntityDescriptorgt

hellip

ltIDPSSODescriptorgt

ltKeyDescriptor use=signinggt hellip ltKeyDescriptorgt

ltKeyDescriptor use=encryptiongt hellip ltKeyDescriptorgt

hellip

ltIDPSSODescriptorgt

hellip

ltEntityDescriptorgt

5 If your IdP uses self-signed certificates enable(uncomment) the following property in the file

ESFM_HOMESAMLoiosaml-spproperties and restart the application -

EcoSys EPC System Admin Topics Release 7604 Page 20 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

oiosaml-spcrlperiod=0

6 When you logout of EcoSys EPC (as a SAML user) you are typically taken to the IdPrsquos

authentication page If yoursquod like to be redirected to a different site instead

enable(uncomment) the following property in the file ESFM_HOMESAMLoiosaml-

spproperties and restart the application -

oiosaml-splogoutredirecturl=httpredirecturl

Command Line Batch Jobs Overview Some data import and processing jobs can be scheduled to run outside of the Java application server This is useful for long-running jobs that need to recur on a regular schedule for example importing forecasts from Primavera each week You should work with your implementation team to determine whether batch jobs need to be configured and if so what their parameters and schedules should be Note Details on the import file format for XML-based external system imports can be found in the EcoSys EPC Integration Guide Follow these steps to configure a command line batch script and job The batch job script can be scheduled to run using the scheduling tools native to your serverrsquos operating system For Windows you can use Control Panel gt Scheduled Tasks For Unix you can configure a cron job 1 Configuring the Files and Settings

1 Create folder for the batch job files Typically this is under your existing ESFM_HOME

folder perhaps called lsquobatchrsquo We will refer to this folder as BATCH_HOME in this section

2 Copy following the following files from ESFM_HOME to BATCH_HOME FMServerSettingsproperties log4jproperties FMLicenseproperties

3 Edit or add these entries to BATCH_HOMEFMServerSettingsproperties

fmdatasourcefactory=comecosysmgmtframeworkcontextFMPooledDataSourceFactory

connectionPoolminSize=2

connectionPoolmaxSize=20

datasourceJDBCUser=fmuser

datasourceJDBCPass=fmuser

datasourceJDBCDriver=oraclejdbcOracleDriver

datasourceJDBCConnectString=jdbcoraclethinMYSERVERHOSTNAME1521ESFM

4 Edit log4jproperties and change value of ldquolog4jappenderFILEFilerdquo to point to a location under your BATCH_HOME folder For example ldquoBatchImportlogrdquo

5 Begin with the template batch script located under batchecosys_batch_templatebat You may copy and modify this file to perform the specific batch commands you desire using the steps below

6 Build the CLASSPATH list for the job The following jar files are required for the import process Most of the files are already available in current ldquoecosysrdquo installation

EcoSys EPC System Admin Topics Release 7604 Page 21 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Location Library Files

CP6IntegrationAPIlib

All Oracle Primavera API jar (jar) files (excluding sqljdbcjar and ojdbcjar)

BATCH_HOMElib

ojdbcjar log4j-129jar commons-dbcpjar xworkjar ognljar commons-loggingjar commons-pool-13jar ecosysjar ppmapiabstractorjar FMXMLGeneratorjar

2 Exporting System Settings to XML For maximum flexibility batch jobs run with their own system settings file that is independent of the settings in the EcoSys EPC (ldquoESFMrdquo) database The settings are stored in an XML file which you need to export from the EcoSys EPC application To do this

1 Log on to EcoSys EPC as an administrative user 2 Configure the import settings as desired You do this by navigating to the ldquoIntegrationrdquo

menu then selecting each of the ldquoImporthelliprdquo menu items For each one configure the import settings as desired and click ldquoSaverdquo This saves the system settings to the database

3 Once you have configured all the import settings as desired use the ldquoSystem Administrationrdquo gt ldquo Export Application Settingsrdquo When prompted save the systemsettingsxml file locally

4 Copy the resulting systemsettingsxml file to the ldquoBATCH_HOMErdquo folder where your batch job will be run This file will be used when running batch jobs and the settings in that file will apply only to that batch job

5 When changes to the batch jobrsquos import settings are required you can either edit the systemsettingsxml file directly or follow the steps above to export a new file

3 Configuring Batch Job Logging

The settings for logging in batch jobs invoked from the command line (outside of the application GUI) can be controlled through the systemsettingsxml file specified for each batch command This gives full control over the details logged to the batch job log (visible in the application GUI) as well as the log file written when a batch job runs (These settings take the place of any properties specified in FMServerSettingsproperties)

Settings that begin with ldquoLOGGING_rdquo control the level of detail written to the log file These are primarily intended for system administrators

EcoSys EPC System Admin Topics Release 7604 Page 22 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Settings that begin with ldquoBATCH_JOB_LOGGING_rdquo control the level of detail written to the batch job log visible in the Reports gt Batch Job Log screen within the application These are intended for end users and application administrators

For each command line batch job you are using you may adjust the logging settings individually by editing the corresponding systemsettingsxml file The settings in question and their recommended default values are ltLOGGING_DEBUG_ENABLEDgtNltLOGGING_DEBUG_ENABLEDgt

ltLOGGING_XML_ENABLEDgtYltLOGGING_XML_ENABLEDgt

ltLOGGING_ERROR_ENABLEDgtYltLOGGING_ERROR_ENABLEDgt

ltLOGGING_INFO_ENABLEDgtYltLOGGING_INFO_ENABLEDgt

ltLOGGING_WARN_ENABLEDgtYltLOGGING_WARN_ENABLEDgt

ltLOGGING_USER_ACTION_ENABLEDgtYltLOGGING_USER_ACTION_ENABLEDgt

ltLOGGING_USER_ACTION_PARAMS_ENABLEDgtYltLOGGING_USER_ACTION_PARAMS_ENABLEDgt

ltLOGGING_METHOD_TRACE_ENABLEDgtNltLOGGING_METHOD_TRACE_ENABLEDgt

ltLOGGING_METHOD_PARAMS_ENABLEDgtNltLOGGING_METHOD_PARAMS_ENABLEDgt

ltLOGGING_DATABASE_QUERY_ENABLEDgtNltLOGGING_DATABASE_QUERY_ENABLEDgt

ltLOGGING_DB_QUERY_PARAMS_ENABLEDgtNltLOGGING_DB_QUERY_PARAMS_ENABLEDgt

ltLOGGING_INCLUDE_DATE_FLAGgtYltLOGGING_INCLUDE_DATE_FLAGgt

ltLOGGING_INCLUDE_TIMESTAMPgtYltLOGGING_INCLUDE_TIMESTAMPgt

ltLOGGING_INCLUDE_LOG_TYPEgtYltLOGGING_INCLUDE_LOG_TYPEgt

ltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgtYltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgt

ltLOGGING_INCLUDE_USER_IDENTIFIERgtYltLOGGING_INCLUDE_USER_IDENTIFIERgt

ltLOGGING_INCLUDE_CLASS_NAMEgtYltLOGGING_INCLUDE_CLASS_NAMEgt

ltBATCH_JOB_LOGGING_ACTION_ENABLEDgtYltBATCH_JOB_LOGGING_ACTION_ENABLEDgt

ltBATCH_JOB_LOGGING_DEBUG_ENABLEDgtNltBATCH_JOB_LOGGING_DEBUG_ENABLEDgt

ltBATCH_JOB_LOGGING_ERROR_ENABLEDgtYltBATCH_JOB_LOGGING_ERROR_ENABLEDgt

ltBATCH_JOB_LOGGING_INFO_ENABLEDgtYltBATCH_JOB_LOGGING_INFO_ENABLEDgt

ltBATCH_JOB_LOGGING_WARN_ENABLEDgtYltBATCH_JOB_LOGGING_WARN_ENABLEDgt

ltLOGGING_PROGRESS_ENABLEDgtYltLOGGING_PROGRESS_ENABLEDgt

ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt120ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt60ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltLOGGING_SERVER_METRICS_ENABLEDgtYltLOGGING_SERVER_METRICS_ENABLEDgt

ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt120ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt

4 Creating and Scheduling a Batch Script Scheduling of batch import process basically involves creating a batch file (or shell script under Unix) which will set up appropriate CLASSPATH then invoke the java command and using a platform dependent scheduler to execute the batch file on a predefined schedule A sample batch file for windows platform is provided ndash copy and modify batchecosys_batch_templatebat as a starting point To run several import process simultaneously you will need to duplicate the above mentioned folder and script for each import job Since there will be a separate batch file for each process they can be scheduled to run separately or independent of each other 5 Generating XML for Import An XML generating utility is provided that can convert tabular text-based files into XML suitable for import into EcoSys EPC This step would be performed prior to invoking the import jobs described below To generate XML see the batchecosys_batch_templatebat file in the section called GenerateXML Refer to the EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for details on generating and importing XML

EcoSys EPC System Admin Topics Release 7604 Page 23 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Command Line Parameter Reference The following parameters need to be provided for the batch process

-a action -u user name -p password -f systemsettingsxml file

Action User Name Password Settings XML Additional Parameters

GenXML NA NA NA (refer to EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for parameters)

-a ImportActual -u username -p password -f settingsxml NA

-a ImportProject -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportReportDef -u username -p password -f settingsxml -importDir to specify the input definitions (required)

See Notes 4

-a ImportResource -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportXML -u username -p password -f settingsxml -xml path of xml file to import (required)

-a ImportDates -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportForecast -u username -p password -f settingsxml -cv cost object category_value_id (optional)

-a CloseoutMinorPeriod -u username -p password -f settingsxml

NA Note - when a close out is performed via the command line the application will not reflect the new minor period until both the Enterprise Data Cache (Global Type) has been refreshed and browsers for currently logged in userrsquos have refreshed An Enterprise Data Cache refresh can be forced by an administrator performing the following steps 1 Log into the EPC application 2 Go to System Information 3 Click the Cache Tab 4 Select Global Type in the Specify a

Data Cache to Refresh pick list 5 Click the Refresh Enterprise Data

Cache button 6 Each user in the application must

refresh their browser or log out and back in to see the new minor period

-a BulkCopy -u username -p password -f settingsxml NA

-a BulkPublish -u username -p password -f settingsxml NA

-a BulkRollup -u username -p password -f settingsxml NA

-a RunReportBatch -u username -p password NA -rb report batch short name (required)

-a RunAction -u username -p password -f settingsxml -action [action id or internal id] (required)

See Notes 3

-a RunActionBatch -u username -p password -f settingsxml -actionbatch [action id or internal id] (required)

See Notes 3

-a ImportCompletePercent -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportSpreadsheet -u username -p password NA See Notes 2

-a ExternalOperation -u username -p password -f settingsxml -o operation -xml param XML file See Notes 5

EcoSys EPC System Admin Topics Release 7604 Page 24 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

-a ImportCostAccount -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportRole -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportActivityCode -u username -p password -f settingsxml -ds datastore_id (required)

Note 1 The ndashDESFM_HOME= should refer to the new BATCH_HOME folder where the copy

of FMServerSettings and other files are being stored not the same ESFM_HOME folder where your application was originally installed since they may require different settings and options Note 2 For spreadsheet imports the following options apply -spreadsheet name or internal id of EPC spreadsheet (required) -file file path to excel spreadsheet you want to import (required) -format excelrdquo or ldquodelimited (default is ldquoexcelrdquo) -importLogic update or ldquoinsertrdquo or ldquoignorerdquo (default is ldquoinsertrdquo)

ldquoupdaterdquo means update existing rows

ldquoinsertrdquo means always insert as new

ldquoignorerdquo means ignore existing rows -runtimeparam ltparam namegt=ltparam valuegt (this parameter can appear multiple times on the command line as in bdquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc)

ltparam namegt must match the ID of a runtime parameter defined on the EPC spreadsheet

ltparam valuegt can either be the internal id or the short name of an EPC object Note 3 To use runtime parameters when running an action action batch or report batch from the command line simply add the params parameter to the command line arguments as inhelliprsquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc) Notes 4 set ACTION=ImportReportDef set ADDITIONAL_PARAMS=-importDir BATCH_HOMEimportreports For ACTION use ImportReportDefImportSpreadsheetDefImportFormulaDefImportActionDef depending upon SCARF element you want to import Notes 5 For external operations use ndasho to specify the name of the operation To pass in the parameters XML (overriding the defined parameters for that operation) use ndashxml followed by the name of the file containing the parameters XML 7 System Settings Input Value Reference The following list enumerates the input parameters used by batch processes These values will appear in the systemsettingsxml file automatically when exported from the GUI If you add or

edit them manually they need to be in XML tag format lttagnamegtvaluelttagnamegt

BULK COPY BULK_COPY_ROOT_SPREADSHEET_TYPE

BULK_COPY_SPREADSHEET_TYPE

BULK_COPY_TGT_SPREADSHEET_TYPE

BULK_COPY_SOURCE_VERSION

BULK_COPY_TARGET_VERSION

BULK_COPY_SOURCE_MAJORPERIOD

BULK_COPY_TARGET_MAJORPERIOD

BULK_COPY_SOURCE_VERSION_SHORT_NAME

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 15: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 15 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 16 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 17 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

This completes configuration on the ADFS server It has been set up in such a manner that when someone tries to access EcoSys EPC ndash

i she will be redirected to the ADFS server for authentication

ii if authentication is successful ADFS will send the user details in the form

usernamedomainsuffix back to EcoSys EPC

7 Configuring Users to Authenticate Via SAML Users authenticated by the IdP need to be further authorized in EcoSys EPC This means that in the scenario described above in step 6 where the IdP sends the user details in the form usernamedomainsuffix ndash

a user with the same login ID must exist within EcoSys EPC

the userrsquos authentication mode must be configured as custom

Follow these steps to import user details from your IdP to EcoSys EPC ndash

1 Create a new spreadsheet by selecting lsquoUserrsquo as the subject area

2 Add the following columns to it ndash

i Authentication Mode (use default value lsquoCustomrsquo)

ii First Name

iii Last Name

iv Login Name

v Main Menu (Name) (either use a default value or specify one)

vi License (use an appropriate default value)

EcoSys EPC System Admin Topics Release 7604 Page 18 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

3 Export user details from the IdP preferably in Excel format containing at least the First

Name Last Name and the Login Name (usernamesuffixcom in this example)

4 Import the Excel file into the spreadsheet created in step 1

You may need to configure security groups for these newly imported users 8 Troubleshooting SAML If the SAML exchange between EcoSys EPC and the IdP were to fail for any reason you will see an error page that looks like the following ndash

The EcoSys EPC SP produces two log files in the ESFM_HOMESAMLlogs folder on the server ndash

oiosaml-splog ndash this logs requests handled by the SP

oiosaml-sp-auditlog ndash this logs exchanges between the SP and the IdP

To configure the SPrsquos logging level edit the file ESFM_HOMESAMLoiosaml-splog4jxml The default log level for both these log files is set to ERROR which means that only error events are logged to them To see more detail in these log files set the log level to DEBUG as suggested in the lsquooiosaml-splog4jxmlrsquo file ndash ltparam name=Threshold value=ERROR gt lt-- change this to DEBUG when you want to debug

authentication issues --gt

The application will need to be restarted for the new logging level to take effect If you need to verify how SAML has been configured use the System Configuration utility and search for the term lsquosamlrsquo You should see the following ndash

EcoSys EPC System Admin Topics Release 7604 Page 19 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

9 Native user support (in SAML mode) When SAML has been enabled accessing EcoSys EPC via httpsmyservernameportecosys will always redirect you to the IdP authentication portal If you wish to login as a native user access EcoSys EPC using the URL httpsmyservernameportecosyslogin_native 10 Known issuesCommon pitfalls

1 If SSLHTTPS is being enabled through a reverse proxy arrangement ensure that the web

server is aware of the proxy so that URLs can be constructed correctly (see step 1)

2 Ensure that the application serverrsquos Java VM is configured to use unlimited encryption

strength algorithms (see step 4)

3 Ensure that the EcoSys EPC is set up to use SHA-1 hashing on your IdP (see step 6)

4 If your IdP both signs and encrypts assertions ensure that the lsquosigning signaturersquo comes

before the lsquoencryption signaturersquo in the metadata file

ESFM_HOMESAMLmetadataIdPIdPMetadataxml Restart the application if you have to make

this change The XML should be as follows in this case ndash

ltEntityDescriptorgt

hellip

ltIDPSSODescriptorgt

ltKeyDescriptor use=signinggt hellip ltKeyDescriptorgt

ltKeyDescriptor use=encryptiongt hellip ltKeyDescriptorgt

hellip

ltIDPSSODescriptorgt

hellip

ltEntityDescriptorgt

5 If your IdP uses self-signed certificates enable(uncomment) the following property in the file

ESFM_HOMESAMLoiosaml-spproperties and restart the application -

EcoSys EPC System Admin Topics Release 7604 Page 20 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

oiosaml-spcrlperiod=0

6 When you logout of EcoSys EPC (as a SAML user) you are typically taken to the IdPrsquos

authentication page If yoursquod like to be redirected to a different site instead

enable(uncomment) the following property in the file ESFM_HOMESAMLoiosaml-

spproperties and restart the application -

oiosaml-splogoutredirecturl=httpredirecturl

Command Line Batch Jobs Overview Some data import and processing jobs can be scheduled to run outside of the Java application server This is useful for long-running jobs that need to recur on a regular schedule for example importing forecasts from Primavera each week You should work with your implementation team to determine whether batch jobs need to be configured and if so what their parameters and schedules should be Note Details on the import file format for XML-based external system imports can be found in the EcoSys EPC Integration Guide Follow these steps to configure a command line batch script and job The batch job script can be scheduled to run using the scheduling tools native to your serverrsquos operating system For Windows you can use Control Panel gt Scheduled Tasks For Unix you can configure a cron job 1 Configuring the Files and Settings

1 Create folder for the batch job files Typically this is under your existing ESFM_HOME

folder perhaps called lsquobatchrsquo We will refer to this folder as BATCH_HOME in this section

2 Copy following the following files from ESFM_HOME to BATCH_HOME FMServerSettingsproperties log4jproperties FMLicenseproperties

3 Edit or add these entries to BATCH_HOMEFMServerSettingsproperties

fmdatasourcefactory=comecosysmgmtframeworkcontextFMPooledDataSourceFactory

connectionPoolminSize=2

connectionPoolmaxSize=20

datasourceJDBCUser=fmuser

datasourceJDBCPass=fmuser

datasourceJDBCDriver=oraclejdbcOracleDriver

datasourceJDBCConnectString=jdbcoraclethinMYSERVERHOSTNAME1521ESFM

4 Edit log4jproperties and change value of ldquolog4jappenderFILEFilerdquo to point to a location under your BATCH_HOME folder For example ldquoBatchImportlogrdquo

5 Begin with the template batch script located under batchecosys_batch_templatebat You may copy and modify this file to perform the specific batch commands you desire using the steps below

6 Build the CLASSPATH list for the job The following jar files are required for the import process Most of the files are already available in current ldquoecosysrdquo installation

EcoSys EPC System Admin Topics Release 7604 Page 21 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Location Library Files

CP6IntegrationAPIlib

All Oracle Primavera API jar (jar) files (excluding sqljdbcjar and ojdbcjar)

BATCH_HOMElib

ojdbcjar log4j-129jar commons-dbcpjar xworkjar ognljar commons-loggingjar commons-pool-13jar ecosysjar ppmapiabstractorjar FMXMLGeneratorjar

2 Exporting System Settings to XML For maximum flexibility batch jobs run with their own system settings file that is independent of the settings in the EcoSys EPC (ldquoESFMrdquo) database The settings are stored in an XML file which you need to export from the EcoSys EPC application To do this

1 Log on to EcoSys EPC as an administrative user 2 Configure the import settings as desired You do this by navigating to the ldquoIntegrationrdquo

menu then selecting each of the ldquoImporthelliprdquo menu items For each one configure the import settings as desired and click ldquoSaverdquo This saves the system settings to the database

3 Once you have configured all the import settings as desired use the ldquoSystem Administrationrdquo gt ldquo Export Application Settingsrdquo When prompted save the systemsettingsxml file locally

4 Copy the resulting systemsettingsxml file to the ldquoBATCH_HOMErdquo folder where your batch job will be run This file will be used when running batch jobs and the settings in that file will apply only to that batch job

5 When changes to the batch jobrsquos import settings are required you can either edit the systemsettingsxml file directly or follow the steps above to export a new file

3 Configuring Batch Job Logging

The settings for logging in batch jobs invoked from the command line (outside of the application GUI) can be controlled through the systemsettingsxml file specified for each batch command This gives full control over the details logged to the batch job log (visible in the application GUI) as well as the log file written when a batch job runs (These settings take the place of any properties specified in FMServerSettingsproperties)

Settings that begin with ldquoLOGGING_rdquo control the level of detail written to the log file These are primarily intended for system administrators

EcoSys EPC System Admin Topics Release 7604 Page 22 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Settings that begin with ldquoBATCH_JOB_LOGGING_rdquo control the level of detail written to the batch job log visible in the Reports gt Batch Job Log screen within the application These are intended for end users and application administrators

For each command line batch job you are using you may adjust the logging settings individually by editing the corresponding systemsettingsxml file The settings in question and their recommended default values are ltLOGGING_DEBUG_ENABLEDgtNltLOGGING_DEBUG_ENABLEDgt

ltLOGGING_XML_ENABLEDgtYltLOGGING_XML_ENABLEDgt

ltLOGGING_ERROR_ENABLEDgtYltLOGGING_ERROR_ENABLEDgt

ltLOGGING_INFO_ENABLEDgtYltLOGGING_INFO_ENABLEDgt

ltLOGGING_WARN_ENABLEDgtYltLOGGING_WARN_ENABLEDgt

ltLOGGING_USER_ACTION_ENABLEDgtYltLOGGING_USER_ACTION_ENABLEDgt

ltLOGGING_USER_ACTION_PARAMS_ENABLEDgtYltLOGGING_USER_ACTION_PARAMS_ENABLEDgt

ltLOGGING_METHOD_TRACE_ENABLEDgtNltLOGGING_METHOD_TRACE_ENABLEDgt

ltLOGGING_METHOD_PARAMS_ENABLEDgtNltLOGGING_METHOD_PARAMS_ENABLEDgt

ltLOGGING_DATABASE_QUERY_ENABLEDgtNltLOGGING_DATABASE_QUERY_ENABLEDgt

ltLOGGING_DB_QUERY_PARAMS_ENABLEDgtNltLOGGING_DB_QUERY_PARAMS_ENABLEDgt

ltLOGGING_INCLUDE_DATE_FLAGgtYltLOGGING_INCLUDE_DATE_FLAGgt

ltLOGGING_INCLUDE_TIMESTAMPgtYltLOGGING_INCLUDE_TIMESTAMPgt

ltLOGGING_INCLUDE_LOG_TYPEgtYltLOGGING_INCLUDE_LOG_TYPEgt

ltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgtYltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgt

ltLOGGING_INCLUDE_USER_IDENTIFIERgtYltLOGGING_INCLUDE_USER_IDENTIFIERgt

ltLOGGING_INCLUDE_CLASS_NAMEgtYltLOGGING_INCLUDE_CLASS_NAMEgt

ltBATCH_JOB_LOGGING_ACTION_ENABLEDgtYltBATCH_JOB_LOGGING_ACTION_ENABLEDgt

ltBATCH_JOB_LOGGING_DEBUG_ENABLEDgtNltBATCH_JOB_LOGGING_DEBUG_ENABLEDgt

ltBATCH_JOB_LOGGING_ERROR_ENABLEDgtYltBATCH_JOB_LOGGING_ERROR_ENABLEDgt

ltBATCH_JOB_LOGGING_INFO_ENABLEDgtYltBATCH_JOB_LOGGING_INFO_ENABLEDgt

ltBATCH_JOB_LOGGING_WARN_ENABLEDgtYltBATCH_JOB_LOGGING_WARN_ENABLEDgt

ltLOGGING_PROGRESS_ENABLEDgtYltLOGGING_PROGRESS_ENABLEDgt

ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt120ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt60ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltLOGGING_SERVER_METRICS_ENABLEDgtYltLOGGING_SERVER_METRICS_ENABLEDgt

ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt120ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt

4 Creating and Scheduling a Batch Script Scheduling of batch import process basically involves creating a batch file (or shell script under Unix) which will set up appropriate CLASSPATH then invoke the java command and using a platform dependent scheduler to execute the batch file on a predefined schedule A sample batch file for windows platform is provided ndash copy and modify batchecosys_batch_templatebat as a starting point To run several import process simultaneously you will need to duplicate the above mentioned folder and script for each import job Since there will be a separate batch file for each process they can be scheduled to run separately or independent of each other 5 Generating XML for Import An XML generating utility is provided that can convert tabular text-based files into XML suitable for import into EcoSys EPC This step would be performed prior to invoking the import jobs described below To generate XML see the batchecosys_batch_templatebat file in the section called GenerateXML Refer to the EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for details on generating and importing XML

EcoSys EPC System Admin Topics Release 7604 Page 23 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Command Line Parameter Reference The following parameters need to be provided for the batch process

-a action -u user name -p password -f systemsettingsxml file

Action User Name Password Settings XML Additional Parameters

GenXML NA NA NA (refer to EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for parameters)

-a ImportActual -u username -p password -f settingsxml NA

-a ImportProject -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportReportDef -u username -p password -f settingsxml -importDir to specify the input definitions (required)

See Notes 4

-a ImportResource -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportXML -u username -p password -f settingsxml -xml path of xml file to import (required)

-a ImportDates -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportForecast -u username -p password -f settingsxml -cv cost object category_value_id (optional)

-a CloseoutMinorPeriod -u username -p password -f settingsxml

NA Note - when a close out is performed via the command line the application will not reflect the new minor period until both the Enterprise Data Cache (Global Type) has been refreshed and browsers for currently logged in userrsquos have refreshed An Enterprise Data Cache refresh can be forced by an administrator performing the following steps 1 Log into the EPC application 2 Go to System Information 3 Click the Cache Tab 4 Select Global Type in the Specify a

Data Cache to Refresh pick list 5 Click the Refresh Enterprise Data

Cache button 6 Each user in the application must

refresh their browser or log out and back in to see the new minor period

-a BulkCopy -u username -p password -f settingsxml NA

-a BulkPublish -u username -p password -f settingsxml NA

-a BulkRollup -u username -p password -f settingsxml NA

-a RunReportBatch -u username -p password NA -rb report batch short name (required)

-a RunAction -u username -p password -f settingsxml -action [action id or internal id] (required)

See Notes 3

-a RunActionBatch -u username -p password -f settingsxml -actionbatch [action id or internal id] (required)

See Notes 3

-a ImportCompletePercent -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportSpreadsheet -u username -p password NA See Notes 2

-a ExternalOperation -u username -p password -f settingsxml -o operation -xml param XML file See Notes 5

EcoSys EPC System Admin Topics Release 7604 Page 24 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

-a ImportCostAccount -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportRole -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportActivityCode -u username -p password -f settingsxml -ds datastore_id (required)

Note 1 The ndashDESFM_HOME= should refer to the new BATCH_HOME folder where the copy

of FMServerSettings and other files are being stored not the same ESFM_HOME folder where your application was originally installed since they may require different settings and options Note 2 For spreadsheet imports the following options apply -spreadsheet name or internal id of EPC spreadsheet (required) -file file path to excel spreadsheet you want to import (required) -format excelrdquo or ldquodelimited (default is ldquoexcelrdquo) -importLogic update or ldquoinsertrdquo or ldquoignorerdquo (default is ldquoinsertrdquo)

ldquoupdaterdquo means update existing rows

ldquoinsertrdquo means always insert as new

ldquoignorerdquo means ignore existing rows -runtimeparam ltparam namegt=ltparam valuegt (this parameter can appear multiple times on the command line as in bdquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc)

ltparam namegt must match the ID of a runtime parameter defined on the EPC spreadsheet

ltparam valuegt can either be the internal id or the short name of an EPC object Note 3 To use runtime parameters when running an action action batch or report batch from the command line simply add the params parameter to the command line arguments as inhelliprsquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc) Notes 4 set ACTION=ImportReportDef set ADDITIONAL_PARAMS=-importDir BATCH_HOMEimportreports For ACTION use ImportReportDefImportSpreadsheetDefImportFormulaDefImportActionDef depending upon SCARF element you want to import Notes 5 For external operations use ndasho to specify the name of the operation To pass in the parameters XML (overriding the defined parameters for that operation) use ndashxml followed by the name of the file containing the parameters XML 7 System Settings Input Value Reference The following list enumerates the input parameters used by batch processes These values will appear in the systemsettingsxml file automatically when exported from the GUI If you add or

edit them manually they need to be in XML tag format lttagnamegtvaluelttagnamegt

BULK COPY BULK_COPY_ROOT_SPREADSHEET_TYPE

BULK_COPY_SPREADSHEET_TYPE

BULK_COPY_TGT_SPREADSHEET_TYPE

BULK_COPY_SOURCE_VERSION

BULK_COPY_TARGET_VERSION

BULK_COPY_SOURCE_MAJORPERIOD

BULK_COPY_TARGET_MAJORPERIOD

BULK_COPY_SOURCE_VERSION_SHORT_NAME

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 16: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 16 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EcoSys EPC System Admin Topics Release 7604 Page 17 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

This completes configuration on the ADFS server It has been set up in such a manner that when someone tries to access EcoSys EPC ndash

i she will be redirected to the ADFS server for authentication

ii if authentication is successful ADFS will send the user details in the form

usernamedomainsuffix back to EcoSys EPC

7 Configuring Users to Authenticate Via SAML Users authenticated by the IdP need to be further authorized in EcoSys EPC This means that in the scenario described above in step 6 where the IdP sends the user details in the form usernamedomainsuffix ndash

a user with the same login ID must exist within EcoSys EPC

the userrsquos authentication mode must be configured as custom

Follow these steps to import user details from your IdP to EcoSys EPC ndash

1 Create a new spreadsheet by selecting lsquoUserrsquo as the subject area

2 Add the following columns to it ndash

i Authentication Mode (use default value lsquoCustomrsquo)

ii First Name

iii Last Name

iv Login Name

v Main Menu (Name) (either use a default value or specify one)

vi License (use an appropriate default value)

EcoSys EPC System Admin Topics Release 7604 Page 18 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

3 Export user details from the IdP preferably in Excel format containing at least the First

Name Last Name and the Login Name (usernamesuffixcom in this example)

4 Import the Excel file into the spreadsheet created in step 1

You may need to configure security groups for these newly imported users 8 Troubleshooting SAML If the SAML exchange between EcoSys EPC and the IdP were to fail for any reason you will see an error page that looks like the following ndash

The EcoSys EPC SP produces two log files in the ESFM_HOMESAMLlogs folder on the server ndash

oiosaml-splog ndash this logs requests handled by the SP

oiosaml-sp-auditlog ndash this logs exchanges between the SP and the IdP

To configure the SPrsquos logging level edit the file ESFM_HOMESAMLoiosaml-splog4jxml The default log level for both these log files is set to ERROR which means that only error events are logged to them To see more detail in these log files set the log level to DEBUG as suggested in the lsquooiosaml-splog4jxmlrsquo file ndash ltparam name=Threshold value=ERROR gt lt-- change this to DEBUG when you want to debug

authentication issues --gt

The application will need to be restarted for the new logging level to take effect If you need to verify how SAML has been configured use the System Configuration utility and search for the term lsquosamlrsquo You should see the following ndash

EcoSys EPC System Admin Topics Release 7604 Page 19 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

9 Native user support (in SAML mode) When SAML has been enabled accessing EcoSys EPC via httpsmyservernameportecosys will always redirect you to the IdP authentication portal If you wish to login as a native user access EcoSys EPC using the URL httpsmyservernameportecosyslogin_native 10 Known issuesCommon pitfalls

1 If SSLHTTPS is being enabled through a reverse proxy arrangement ensure that the web

server is aware of the proxy so that URLs can be constructed correctly (see step 1)

2 Ensure that the application serverrsquos Java VM is configured to use unlimited encryption

strength algorithms (see step 4)

3 Ensure that the EcoSys EPC is set up to use SHA-1 hashing on your IdP (see step 6)

4 If your IdP both signs and encrypts assertions ensure that the lsquosigning signaturersquo comes

before the lsquoencryption signaturersquo in the metadata file

ESFM_HOMESAMLmetadataIdPIdPMetadataxml Restart the application if you have to make

this change The XML should be as follows in this case ndash

ltEntityDescriptorgt

hellip

ltIDPSSODescriptorgt

ltKeyDescriptor use=signinggt hellip ltKeyDescriptorgt

ltKeyDescriptor use=encryptiongt hellip ltKeyDescriptorgt

hellip

ltIDPSSODescriptorgt

hellip

ltEntityDescriptorgt

5 If your IdP uses self-signed certificates enable(uncomment) the following property in the file

ESFM_HOMESAMLoiosaml-spproperties and restart the application -

EcoSys EPC System Admin Topics Release 7604 Page 20 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

oiosaml-spcrlperiod=0

6 When you logout of EcoSys EPC (as a SAML user) you are typically taken to the IdPrsquos

authentication page If yoursquod like to be redirected to a different site instead

enable(uncomment) the following property in the file ESFM_HOMESAMLoiosaml-

spproperties and restart the application -

oiosaml-splogoutredirecturl=httpredirecturl

Command Line Batch Jobs Overview Some data import and processing jobs can be scheduled to run outside of the Java application server This is useful for long-running jobs that need to recur on a regular schedule for example importing forecasts from Primavera each week You should work with your implementation team to determine whether batch jobs need to be configured and if so what their parameters and schedules should be Note Details on the import file format for XML-based external system imports can be found in the EcoSys EPC Integration Guide Follow these steps to configure a command line batch script and job The batch job script can be scheduled to run using the scheduling tools native to your serverrsquos operating system For Windows you can use Control Panel gt Scheduled Tasks For Unix you can configure a cron job 1 Configuring the Files and Settings

1 Create folder for the batch job files Typically this is under your existing ESFM_HOME

folder perhaps called lsquobatchrsquo We will refer to this folder as BATCH_HOME in this section

2 Copy following the following files from ESFM_HOME to BATCH_HOME FMServerSettingsproperties log4jproperties FMLicenseproperties

3 Edit or add these entries to BATCH_HOMEFMServerSettingsproperties

fmdatasourcefactory=comecosysmgmtframeworkcontextFMPooledDataSourceFactory

connectionPoolminSize=2

connectionPoolmaxSize=20

datasourceJDBCUser=fmuser

datasourceJDBCPass=fmuser

datasourceJDBCDriver=oraclejdbcOracleDriver

datasourceJDBCConnectString=jdbcoraclethinMYSERVERHOSTNAME1521ESFM

4 Edit log4jproperties and change value of ldquolog4jappenderFILEFilerdquo to point to a location under your BATCH_HOME folder For example ldquoBatchImportlogrdquo

5 Begin with the template batch script located under batchecosys_batch_templatebat You may copy and modify this file to perform the specific batch commands you desire using the steps below

6 Build the CLASSPATH list for the job The following jar files are required for the import process Most of the files are already available in current ldquoecosysrdquo installation

EcoSys EPC System Admin Topics Release 7604 Page 21 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Location Library Files

CP6IntegrationAPIlib

All Oracle Primavera API jar (jar) files (excluding sqljdbcjar and ojdbcjar)

BATCH_HOMElib

ojdbcjar log4j-129jar commons-dbcpjar xworkjar ognljar commons-loggingjar commons-pool-13jar ecosysjar ppmapiabstractorjar FMXMLGeneratorjar

2 Exporting System Settings to XML For maximum flexibility batch jobs run with their own system settings file that is independent of the settings in the EcoSys EPC (ldquoESFMrdquo) database The settings are stored in an XML file which you need to export from the EcoSys EPC application To do this

1 Log on to EcoSys EPC as an administrative user 2 Configure the import settings as desired You do this by navigating to the ldquoIntegrationrdquo

menu then selecting each of the ldquoImporthelliprdquo menu items For each one configure the import settings as desired and click ldquoSaverdquo This saves the system settings to the database

3 Once you have configured all the import settings as desired use the ldquoSystem Administrationrdquo gt ldquo Export Application Settingsrdquo When prompted save the systemsettingsxml file locally

4 Copy the resulting systemsettingsxml file to the ldquoBATCH_HOMErdquo folder where your batch job will be run This file will be used when running batch jobs and the settings in that file will apply only to that batch job

5 When changes to the batch jobrsquos import settings are required you can either edit the systemsettingsxml file directly or follow the steps above to export a new file

3 Configuring Batch Job Logging

The settings for logging in batch jobs invoked from the command line (outside of the application GUI) can be controlled through the systemsettingsxml file specified for each batch command This gives full control over the details logged to the batch job log (visible in the application GUI) as well as the log file written when a batch job runs (These settings take the place of any properties specified in FMServerSettingsproperties)

Settings that begin with ldquoLOGGING_rdquo control the level of detail written to the log file These are primarily intended for system administrators

EcoSys EPC System Admin Topics Release 7604 Page 22 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Settings that begin with ldquoBATCH_JOB_LOGGING_rdquo control the level of detail written to the batch job log visible in the Reports gt Batch Job Log screen within the application These are intended for end users and application administrators

For each command line batch job you are using you may adjust the logging settings individually by editing the corresponding systemsettingsxml file The settings in question and their recommended default values are ltLOGGING_DEBUG_ENABLEDgtNltLOGGING_DEBUG_ENABLEDgt

ltLOGGING_XML_ENABLEDgtYltLOGGING_XML_ENABLEDgt

ltLOGGING_ERROR_ENABLEDgtYltLOGGING_ERROR_ENABLEDgt

ltLOGGING_INFO_ENABLEDgtYltLOGGING_INFO_ENABLEDgt

ltLOGGING_WARN_ENABLEDgtYltLOGGING_WARN_ENABLEDgt

ltLOGGING_USER_ACTION_ENABLEDgtYltLOGGING_USER_ACTION_ENABLEDgt

ltLOGGING_USER_ACTION_PARAMS_ENABLEDgtYltLOGGING_USER_ACTION_PARAMS_ENABLEDgt

ltLOGGING_METHOD_TRACE_ENABLEDgtNltLOGGING_METHOD_TRACE_ENABLEDgt

ltLOGGING_METHOD_PARAMS_ENABLEDgtNltLOGGING_METHOD_PARAMS_ENABLEDgt

ltLOGGING_DATABASE_QUERY_ENABLEDgtNltLOGGING_DATABASE_QUERY_ENABLEDgt

ltLOGGING_DB_QUERY_PARAMS_ENABLEDgtNltLOGGING_DB_QUERY_PARAMS_ENABLEDgt

ltLOGGING_INCLUDE_DATE_FLAGgtYltLOGGING_INCLUDE_DATE_FLAGgt

ltLOGGING_INCLUDE_TIMESTAMPgtYltLOGGING_INCLUDE_TIMESTAMPgt

ltLOGGING_INCLUDE_LOG_TYPEgtYltLOGGING_INCLUDE_LOG_TYPEgt

ltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgtYltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgt

ltLOGGING_INCLUDE_USER_IDENTIFIERgtYltLOGGING_INCLUDE_USER_IDENTIFIERgt

ltLOGGING_INCLUDE_CLASS_NAMEgtYltLOGGING_INCLUDE_CLASS_NAMEgt

ltBATCH_JOB_LOGGING_ACTION_ENABLEDgtYltBATCH_JOB_LOGGING_ACTION_ENABLEDgt

ltBATCH_JOB_LOGGING_DEBUG_ENABLEDgtNltBATCH_JOB_LOGGING_DEBUG_ENABLEDgt

ltBATCH_JOB_LOGGING_ERROR_ENABLEDgtYltBATCH_JOB_LOGGING_ERROR_ENABLEDgt

ltBATCH_JOB_LOGGING_INFO_ENABLEDgtYltBATCH_JOB_LOGGING_INFO_ENABLEDgt

ltBATCH_JOB_LOGGING_WARN_ENABLEDgtYltBATCH_JOB_LOGGING_WARN_ENABLEDgt

ltLOGGING_PROGRESS_ENABLEDgtYltLOGGING_PROGRESS_ENABLEDgt

ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt120ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt60ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltLOGGING_SERVER_METRICS_ENABLEDgtYltLOGGING_SERVER_METRICS_ENABLEDgt

ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt120ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt

4 Creating and Scheduling a Batch Script Scheduling of batch import process basically involves creating a batch file (or shell script under Unix) which will set up appropriate CLASSPATH then invoke the java command and using a platform dependent scheduler to execute the batch file on a predefined schedule A sample batch file for windows platform is provided ndash copy and modify batchecosys_batch_templatebat as a starting point To run several import process simultaneously you will need to duplicate the above mentioned folder and script for each import job Since there will be a separate batch file for each process they can be scheduled to run separately or independent of each other 5 Generating XML for Import An XML generating utility is provided that can convert tabular text-based files into XML suitable for import into EcoSys EPC This step would be performed prior to invoking the import jobs described below To generate XML see the batchecosys_batch_templatebat file in the section called GenerateXML Refer to the EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for details on generating and importing XML

EcoSys EPC System Admin Topics Release 7604 Page 23 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Command Line Parameter Reference The following parameters need to be provided for the batch process

-a action -u user name -p password -f systemsettingsxml file

Action User Name Password Settings XML Additional Parameters

GenXML NA NA NA (refer to EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for parameters)

-a ImportActual -u username -p password -f settingsxml NA

-a ImportProject -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportReportDef -u username -p password -f settingsxml -importDir to specify the input definitions (required)

See Notes 4

-a ImportResource -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportXML -u username -p password -f settingsxml -xml path of xml file to import (required)

-a ImportDates -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportForecast -u username -p password -f settingsxml -cv cost object category_value_id (optional)

-a CloseoutMinorPeriod -u username -p password -f settingsxml

NA Note - when a close out is performed via the command line the application will not reflect the new minor period until both the Enterprise Data Cache (Global Type) has been refreshed and browsers for currently logged in userrsquos have refreshed An Enterprise Data Cache refresh can be forced by an administrator performing the following steps 1 Log into the EPC application 2 Go to System Information 3 Click the Cache Tab 4 Select Global Type in the Specify a

Data Cache to Refresh pick list 5 Click the Refresh Enterprise Data

Cache button 6 Each user in the application must

refresh their browser or log out and back in to see the new minor period

-a BulkCopy -u username -p password -f settingsxml NA

-a BulkPublish -u username -p password -f settingsxml NA

-a BulkRollup -u username -p password -f settingsxml NA

-a RunReportBatch -u username -p password NA -rb report batch short name (required)

-a RunAction -u username -p password -f settingsxml -action [action id or internal id] (required)

See Notes 3

-a RunActionBatch -u username -p password -f settingsxml -actionbatch [action id or internal id] (required)

See Notes 3

-a ImportCompletePercent -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportSpreadsheet -u username -p password NA See Notes 2

-a ExternalOperation -u username -p password -f settingsxml -o operation -xml param XML file See Notes 5

EcoSys EPC System Admin Topics Release 7604 Page 24 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

-a ImportCostAccount -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportRole -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportActivityCode -u username -p password -f settingsxml -ds datastore_id (required)

Note 1 The ndashDESFM_HOME= should refer to the new BATCH_HOME folder where the copy

of FMServerSettings and other files are being stored not the same ESFM_HOME folder where your application was originally installed since they may require different settings and options Note 2 For spreadsheet imports the following options apply -spreadsheet name or internal id of EPC spreadsheet (required) -file file path to excel spreadsheet you want to import (required) -format excelrdquo or ldquodelimited (default is ldquoexcelrdquo) -importLogic update or ldquoinsertrdquo or ldquoignorerdquo (default is ldquoinsertrdquo)

ldquoupdaterdquo means update existing rows

ldquoinsertrdquo means always insert as new

ldquoignorerdquo means ignore existing rows -runtimeparam ltparam namegt=ltparam valuegt (this parameter can appear multiple times on the command line as in bdquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc)

ltparam namegt must match the ID of a runtime parameter defined on the EPC spreadsheet

ltparam valuegt can either be the internal id or the short name of an EPC object Note 3 To use runtime parameters when running an action action batch or report batch from the command line simply add the params parameter to the command line arguments as inhelliprsquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc) Notes 4 set ACTION=ImportReportDef set ADDITIONAL_PARAMS=-importDir BATCH_HOMEimportreports For ACTION use ImportReportDefImportSpreadsheetDefImportFormulaDefImportActionDef depending upon SCARF element you want to import Notes 5 For external operations use ndasho to specify the name of the operation To pass in the parameters XML (overriding the defined parameters for that operation) use ndashxml followed by the name of the file containing the parameters XML 7 System Settings Input Value Reference The following list enumerates the input parameters used by batch processes These values will appear in the systemsettingsxml file automatically when exported from the GUI If you add or

edit them manually they need to be in XML tag format lttagnamegtvaluelttagnamegt

BULK COPY BULK_COPY_ROOT_SPREADSHEET_TYPE

BULK_COPY_SPREADSHEET_TYPE

BULK_COPY_TGT_SPREADSHEET_TYPE

BULK_COPY_SOURCE_VERSION

BULK_COPY_TARGET_VERSION

BULK_COPY_SOURCE_MAJORPERIOD

BULK_COPY_TARGET_MAJORPERIOD

BULK_COPY_SOURCE_VERSION_SHORT_NAME

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 17: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 17 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

This completes configuration on the ADFS server It has been set up in such a manner that when someone tries to access EcoSys EPC ndash

i she will be redirected to the ADFS server for authentication

ii if authentication is successful ADFS will send the user details in the form

usernamedomainsuffix back to EcoSys EPC

7 Configuring Users to Authenticate Via SAML Users authenticated by the IdP need to be further authorized in EcoSys EPC This means that in the scenario described above in step 6 where the IdP sends the user details in the form usernamedomainsuffix ndash

a user with the same login ID must exist within EcoSys EPC

the userrsquos authentication mode must be configured as custom

Follow these steps to import user details from your IdP to EcoSys EPC ndash

1 Create a new spreadsheet by selecting lsquoUserrsquo as the subject area

2 Add the following columns to it ndash

i Authentication Mode (use default value lsquoCustomrsquo)

ii First Name

iii Last Name

iv Login Name

v Main Menu (Name) (either use a default value or specify one)

vi License (use an appropriate default value)

EcoSys EPC System Admin Topics Release 7604 Page 18 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

3 Export user details from the IdP preferably in Excel format containing at least the First

Name Last Name and the Login Name (usernamesuffixcom in this example)

4 Import the Excel file into the spreadsheet created in step 1

You may need to configure security groups for these newly imported users 8 Troubleshooting SAML If the SAML exchange between EcoSys EPC and the IdP were to fail for any reason you will see an error page that looks like the following ndash

The EcoSys EPC SP produces two log files in the ESFM_HOMESAMLlogs folder on the server ndash

oiosaml-splog ndash this logs requests handled by the SP

oiosaml-sp-auditlog ndash this logs exchanges between the SP and the IdP

To configure the SPrsquos logging level edit the file ESFM_HOMESAMLoiosaml-splog4jxml The default log level for both these log files is set to ERROR which means that only error events are logged to them To see more detail in these log files set the log level to DEBUG as suggested in the lsquooiosaml-splog4jxmlrsquo file ndash ltparam name=Threshold value=ERROR gt lt-- change this to DEBUG when you want to debug

authentication issues --gt

The application will need to be restarted for the new logging level to take effect If you need to verify how SAML has been configured use the System Configuration utility and search for the term lsquosamlrsquo You should see the following ndash

EcoSys EPC System Admin Topics Release 7604 Page 19 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

9 Native user support (in SAML mode) When SAML has been enabled accessing EcoSys EPC via httpsmyservernameportecosys will always redirect you to the IdP authentication portal If you wish to login as a native user access EcoSys EPC using the URL httpsmyservernameportecosyslogin_native 10 Known issuesCommon pitfalls

1 If SSLHTTPS is being enabled through a reverse proxy arrangement ensure that the web

server is aware of the proxy so that URLs can be constructed correctly (see step 1)

2 Ensure that the application serverrsquos Java VM is configured to use unlimited encryption

strength algorithms (see step 4)

3 Ensure that the EcoSys EPC is set up to use SHA-1 hashing on your IdP (see step 6)

4 If your IdP both signs and encrypts assertions ensure that the lsquosigning signaturersquo comes

before the lsquoencryption signaturersquo in the metadata file

ESFM_HOMESAMLmetadataIdPIdPMetadataxml Restart the application if you have to make

this change The XML should be as follows in this case ndash

ltEntityDescriptorgt

hellip

ltIDPSSODescriptorgt

ltKeyDescriptor use=signinggt hellip ltKeyDescriptorgt

ltKeyDescriptor use=encryptiongt hellip ltKeyDescriptorgt

hellip

ltIDPSSODescriptorgt

hellip

ltEntityDescriptorgt

5 If your IdP uses self-signed certificates enable(uncomment) the following property in the file

ESFM_HOMESAMLoiosaml-spproperties and restart the application -

EcoSys EPC System Admin Topics Release 7604 Page 20 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

oiosaml-spcrlperiod=0

6 When you logout of EcoSys EPC (as a SAML user) you are typically taken to the IdPrsquos

authentication page If yoursquod like to be redirected to a different site instead

enable(uncomment) the following property in the file ESFM_HOMESAMLoiosaml-

spproperties and restart the application -

oiosaml-splogoutredirecturl=httpredirecturl

Command Line Batch Jobs Overview Some data import and processing jobs can be scheduled to run outside of the Java application server This is useful for long-running jobs that need to recur on a regular schedule for example importing forecasts from Primavera each week You should work with your implementation team to determine whether batch jobs need to be configured and if so what their parameters and schedules should be Note Details on the import file format for XML-based external system imports can be found in the EcoSys EPC Integration Guide Follow these steps to configure a command line batch script and job The batch job script can be scheduled to run using the scheduling tools native to your serverrsquos operating system For Windows you can use Control Panel gt Scheduled Tasks For Unix you can configure a cron job 1 Configuring the Files and Settings

1 Create folder for the batch job files Typically this is under your existing ESFM_HOME

folder perhaps called lsquobatchrsquo We will refer to this folder as BATCH_HOME in this section

2 Copy following the following files from ESFM_HOME to BATCH_HOME FMServerSettingsproperties log4jproperties FMLicenseproperties

3 Edit or add these entries to BATCH_HOMEFMServerSettingsproperties

fmdatasourcefactory=comecosysmgmtframeworkcontextFMPooledDataSourceFactory

connectionPoolminSize=2

connectionPoolmaxSize=20

datasourceJDBCUser=fmuser

datasourceJDBCPass=fmuser

datasourceJDBCDriver=oraclejdbcOracleDriver

datasourceJDBCConnectString=jdbcoraclethinMYSERVERHOSTNAME1521ESFM

4 Edit log4jproperties and change value of ldquolog4jappenderFILEFilerdquo to point to a location under your BATCH_HOME folder For example ldquoBatchImportlogrdquo

5 Begin with the template batch script located under batchecosys_batch_templatebat You may copy and modify this file to perform the specific batch commands you desire using the steps below

6 Build the CLASSPATH list for the job The following jar files are required for the import process Most of the files are already available in current ldquoecosysrdquo installation

EcoSys EPC System Admin Topics Release 7604 Page 21 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Location Library Files

CP6IntegrationAPIlib

All Oracle Primavera API jar (jar) files (excluding sqljdbcjar and ojdbcjar)

BATCH_HOMElib

ojdbcjar log4j-129jar commons-dbcpjar xworkjar ognljar commons-loggingjar commons-pool-13jar ecosysjar ppmapiabstractorjar FMXMLGeneratorjar

2 Exporting System Settings to XML For maximum flexibility batch jobs run with their own system settings file that is independent of the settings in the EcoSys EPC (ldquoESFMrdquo) database The settings are stored in an XML file which you need to export from the EcoSys EPC application To do this

1 Log on to EcoSys EPC as an administrative user 2 Configure the import settings as desired You do this by navigating to the ldquoIntegrationrdquo

menu then selecting each of the ldquoImporthelliprdquo menu items For each one configure the import settings as desired and click ldquoSaverdquo This saves the system settings to the database

3 Once you have configured all the import settings as desired use the ldquoSystem Administrationrdquo gt ldquo Export Application Settingsrdquo When prompted save the systemsettingsxml file locally

4 Copy the resulting systemsettingsxml file to the ldquoBATCH_HOMErdquo folder where your batch job will be run This file will be used when running batch jobs and the settings in that file will apply only to that batch job

5 When changes to the batch jobrsquos import settings are required you can either edit the systemsettingsxml file directly or follow the steps above to export a new file

3 Configuring Batch Job Logging

The settings for logging in batch jobs invoked from the command line (outside of the application GUI) can be controlled through the systemsettingsxml file specified for each batch command This gives full control over the details logged to the batch job log (visible in the application GUI) as well as the log file written when a batch job runs (These settings take the place of any properties specified in FMServerSettingsproperties)

Settings that begin with ldquoLOGGING_rdquo control the level of detail written to the log file These are primarily intended for system administrators

EcoSys EPC System Admin Topics Release 7604 Page 22 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Settings that begin with ldquoBATCH_JOB_LOGGING_rdquo control the level of detail written to the batch job log visible in the Reports gt Batch Job Log screen within the application These are intended for end users and application administrators

For each command line batch job you are using you may adjust the logging settings individually by editing the corresponding systemsettingsxml file The settings in question and their recommended default values are ltLOGGING_DEBUG_ENABLEDgtNltLOGGING_DEBUG_ENABLEDgt

ltLOGGING_XML_ENABLEDgtYltLOGGING_XML_ENABLEDgt

ltLOGGING_ERROR_ENABLEDgtYltLOGGING_ERROR_ENABLEDgt

ltLOGGING_INFO_ENABLEDgtYltLOGGING_INFO_ENABLEDgt

ltLOGGING_WARN_ENABLEDgtYltLOGGING_WARN_ENABLEDgt

ltLOGGING_USER_ACTION_ENABLEDgtYltLOGGING_USER_ACTION_ENABLEDgt

ltLOGGING_USER_ACTION_PARAMS_ENABLEDgtYltLOGGING_USER_ACTION_PARAMS_ENABLEDgt

ltLOGGING_METHOD_TRACE_ENABLEDgtNltLOGGING_METHOD_TRACE_ENABLEDgt

ltLOGGING_METHOD_PARAMS_ENABLEDgtNltLOGGING_METHOD_PARAMS_ENABLEDgt

ltLOGGING_DATABASE_QUERY_ENABLEDgtNltLOGGING_DATABASE_QUERY_ENABLEDgt

ltLOGGING_DB_QUERY_PARAMS_ENABLEDgtNltLOGGING_DB_QUERY_PARAMS_ENABLEDgt

ltLOGGING_INCLUDE_DATE_FLAGgtYltLOGGING_INCLUDE_DATE_FLAGgt

ltLOGGING_INCLUDE_TIMESTAMPgtYltLOGGING_INCLUDE_TIMESTAMPgt

ltLOGGING_INCLUDE_LOG_TYPEgtYltLOGGING_INCLUDE_LOG_TYPEgt

ltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgtYltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgt

ltLOGGING_INCLUDE_USER_IDENTIFIERgtYltLOGGING_INCLUDE_USER_IDENTIFIERgt

ltLOGGING_INCLUDE_CLASS_NAMEgtYltLOGGING_INCLUDE_CLASS_NAMEgt

ltBATCH_JOB_LOGGING_ACTION_ENABLEDgtYltBATCH_JOB_LOGGING_ACTION_ENABLEDgt

ltBATCH_JOB_LOGGING_DEBUG_ENABLEDgtNltBATCH_JOB_LOGGING_DEBUG_ENABLEDgt

ltBATCH_JOB_LOGGING_ERROR_ENABLEDgtYltBATCH_JOB_LOGGING_ERROR_ENABLEDgt

ltBATCH_JOB_LOGGING_INFO_ENABLEDgtYltBATCH_JOB_LOGGING_INFO_ENABLEDgt

ltBATCH_JOB_LOGGING_WARN_ENABLEDgtYltBATCH_JOB_LOGGING_WARN_ENABLEDgt

ltLOGGING_PROGRESS_ENABLEDgtYltLOGGING_PROGRESS_ENABLEDgt

ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt120ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt60ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltLOGGING_SERVER_METRICS_ENABLEDgtYltLOGGING_SERVER_METRICS_ENABLEDgt

ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt120ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt

4 Creating and Scheduling a Batch Script Scheduling of batch import process basically involves creating a batch file (or shell script under Unix) which will set up appropriate CLASSPATH then invoke the java command and using a platform dependent scheduler to execute the batch file on a predefined schedule A sample batch file for windows platform is provided ndash copy and modify batchecosys_batch_templatebat as a starting point To run several import process simultaneously you will need to duplicate the above mentioned folder and script for each import job Since there will be a separate batch file for each process they can be scheduled to run separately or independent of each other 5 Generating XML for Import An XML generating utility is provided that can convert tabular text-based files into XML suitable for import into EcoSys EPC This step would be performed prior to invoking the import jobs described below To generate XML see the batchecosys_batch_templatebat file in the section called GenerateXML Refer to the EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for details on generating and importing XML

EcoSys EPC System Admin Topics Release 7604 Page 23 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Command Line Parameter Reference The following parameters need to be provided for the batch process

-a action -u user name -p password -f systemsettingsxml file

Action User Name Password Settings XML Additional Parameters

GenXML NA NA NA (refer to EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for parameters)

-a ImportActual -u username -p password -f settingsxml NA

-a ImportProject -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportReportDef -u username -p password -f settingsxml -importDir to specify the input definitions (required)

See Notes 4

-a ImportResource -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportXML -u username -p password -f settingsxml -xml path of xml file to import (required)

-a ImportDates -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportForecast -u username -p password -f settingsxml -cv cost object category_value_id (optional)

-a CloseoutMinorPeriod -u username -p password -f settingsxml

NA Note - when a close out is performed via the command line the application will not reflect the new minor period until both the Enterprise Data Cache (Global Type) has been refreshed and browsers for currently logged in userrsquos have refreshed An Enterprise Data Cache refresh can be forced by an administrator performing the following steps 1 Log into the EPC application 2 Go to System Information 3 Click the Cache Tab 4 Select Global Type in the Specify a

Data Cache to Refresh pick list 5 Click the Refresh Enterprise Data

Cache button 6 Each user in the application must

refresh their browser or log out and back in to see the new minor period

-a BulkCopy -u username -p password -f settingsxml NA

-a BulkPublish -u username -p password -f settingsxml NA

-a BulkRollup -u username -p password -f settingsxml NA

-a RunReportBatch -u username -p password NA -rb report batch short name (required)

-a RunAction -u username -p password -f settingsxml -action [action id or internal id] (required)

See Notes 3

-a RunActionBatch -u username -p password -f settingsxml -actionbatch [action id or internal id] (required)

See Notes 3

-a ImportCompletePercent -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportSpreadsheet -u username -p password NA See Notes 2

-a ExternalOperation -u username -p password -f settingsxml -o operation -xml param XML file See Notes 5

EcoSys EPC System Admin Topics Release 7604 Page 24 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

-a ImportCostAccount -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportRole -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportActivityCode -u username -p password -f settingsxml -ds datastore_id (required)

Note 1 The ndashDESFM_HOME= should refer to the new BATCH_HOME folder where the copy

of FMServerSettings and other files are being stored not the same ESFM_HOME folder where your application was originally installed since they may require different settings and options Note 2 For spreadsheet imports the following options apply -spreadsheet name or internal id of EPC spreadsheet (required) -file file path to excel spreadsheet you want to import (required) -format excelrdquo or ldquodelimited (default is ldquoexcelrdquo) -importLogic update or ldquoinsertrdquo or ldquoignorerdquo (default is ldquoinsertrdquo)

ldquoupdaterdquo means update existing rows

ldquoinsertrdquo means always insert as new

ldquoignorerdquo means ignore existing rows -runtimeparam ltparam namegt=ltparam valuegt (this parameter can appear multiple times on the command line as in bdquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc)

ltparam namegt must match the ID of a runtime parameter defined on the EPC spreadsheet

ltparam valuegt can either be the internal id or the short name of an EPC object Note 3 To use runtime parameters when running an action action batch or report batch from the command line simply add the params parameter to the command line arguments as inhelliprsquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc) Notes 4 set ACTION=ImportReportDef set ADDITIONAL_PARAMS=-importDir BATCH_HOMEimportreports For ACTION use ImportReportDefImportSpreadsheetDefImportFormulaDefImportActionDef depending upon SCARF element you want to import Notes 5 For external operations use ndasho to specify the name of the operation To pass in the parameters XML (overriding the defined parameters for that operation) use ndashxml followed by the name of the file containing the parameters XML 7 System Settings Input Value Reference The following list enumerates the input parameters used by batch processes These values will appear in the systemsettingsxml file automatically when exported from the GUI If you add or

edit them manually they need to be in XML tag format lttagnamegtvaluelttagnamegt

BULK COPY BULK_COPY_ROOT_SPREADSHEET_TYPE

BULK_COPY_SPREADSHEET_TYPE

BULK_COPY_TGT_SPREADSHEET_TYPE

BULK_COPY_SOURCE_VERSION

BULK_COPY_TARGET_VERSION

BULK_COPY_SOURCE_MAJORPERIOD

BULK_COPY_TARGET_MAJORPERIOD

BULK_COPY_SOURCE_VERSION_SHORT_NAME

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 18: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 18 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

3 Export user details from the IdP preferably in Excel format containing at least the First

Name Last Name and the Login Name (usernamesuffixcom in this example)

4 Import the Excel file into the spreadsheet created in step 1

You may need to configure security groups for these newly imported users 8 Troubleshooting SAML If the SAML exchange between EcoSys EPC and the IdP were to fail for any reason you will see an error page that looks like the following ndash

The EcoSys EPC SP produces two log files in the ESFM_HOMESAMLlogs folder on the server ndash

oiosaml-splog ndash this logs requests handled by the SP

oiosaml-sp-auditlog ndash this logs exchanges between the SP and the IdP

To configure the SPrsquos logging level edit the file ESFM_HOMESAMLoiosaml-splog4jxml The default log level for both these log files is set to ERROR which means that only error events are logged to them To see more detail in these log files set the log level to DEBUG as suggested in the lsquooiosaml-splog4jxmlrsquo file ndash ltparam name=Threshold value=ERROR gt lt-- change this to DEBUG when you want to debug

authentication issues --gt

The application will need to be restarted for the new logging level to take effect If you need to verify how SAML has been configured use the System Configuration utility and search for the term lsquosamlrsquo You should see the following ndash

EcoSys EPC System Admin Topics Release 7604 Page 19 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

9 Native user support (in SAML mode) When SAML has been enabled accessing EcoSys EPC via httpsmyservernameportecosys will always redirect you to the IdP authentication portal If you wish to login as a native user access EcoSys EPC using the URL httpsmyservernameportecosyslogin_native 10 Known issuesCommon pitfalls

1 If SSLHTTPS is being enabled through a reverse proxy arrangement ensure that the web

server is aware of the proxy so that URLs can be constructed correctly (see step 1)

2 Ensure that the application serverrsquos Java VM is configured to use unlimited encryption

strength algorithms (see step 4)

3 Ensure that the EcoSys EPC is set up to use SHA-1 hashing on your IdP (see step 6)

4 If your IdP both signs and encrypts assertions ensure that the lsquosigning signaturersquo comes

before the lsquoencryption signaturersquo in the metadata file

ESFM_HOMESAMLmetadataIdPIdPMetadataxml Restart the application if you have to make

this change The XML should be as follows in this case ndash

ltEntityDescriptorgt

hellip

ltIDPSSODescriptorgt

ltKeyDescriptor use=signinggt hellip ltKeyDescriptorgt

ltKeyDescriptor use=encryptiongt hellip ltKeyDescriptorgt

hellip

ltIDPSSODescriptorgt

hellip

ltEntityDescriptorgt

5 If your IdP uses self-signed certificates enable(uncomment) the following property in the file

ESFM_HOMESAMLoiosaml-spproperties and restart the application -

EcoSys EPC System Admin Topics Release 7604 Page 20 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

oiosaml-spcrlperiod=0

6 When you logout of EcoSys EPC (as a SAML user) you are typically taken to the IdPrsquos

authentication page If yoursquod like to be redirected to a different site instead

enable(uncomment) the following property in the file ESFM_HOMESAMLoiosaml-

spproperties and restart the application -

oiosaml-splogoutredirecturl=httpredirecturl

Command Line Batch Jobs Overview Some data import and processing jobs can be scheduled to run outside of the Java application server This is useful for long-running jobs that need to recur on a regular schedule for example importing forecasts from Primavera each week You should work with your implementation team to determine whether batch jobs need to be configured and if so what their parameters and schedules should be Note Details on the import file format for XML-based external system imports can be found in the EcoSys EPC Integration Guide Follow these steps to configure a command line batch script and job The batch job script can be scheduled to run using the scheduling tools native to your serverrsquos operating system For Windows you can use Control Panel gt Scheduled Tasks For Unix you can configure a cron job 1 Configuring the Files and Settings

1 Create folder for the batch job files Typically this is under your existing ESFM_HOME

folder perhaps called lsquobatchrsquo We will refer to this folder as BATCH_HOME in this section

2 Copy following the following files from ESFM_HOME to BATCH_HOME FMServerSettingsproperties log4jproperties FMLicenseproperties

3 Edit or add these entries to BATCH_HOMEFMServerSettingsproperties

fmdatasourcefactory=comecosysmgmtframeworkcontextFMPooledDataSourceFactory

connectionPoolminSize=2

connectionPoolmaxSize=20

datasourceJDBCUser=fmuser

datasourceJDBCPass=fmuser

datasourceJDBCDriver=oraclejdbcOracleDriver

datasourceJDBCConnectString=jdbcoraclethinMYSERVERHOSTNAME1521ESFM

4 Edit log4jproperties and change value of ldquolog4jappenderFILEFilerdquo to point to a location under your BATCH_HOME folder For example ldquoBatchImportlogrdquo

5 Begin with the template batch script located under batchecosys_batch_templatebat You may copy and modify this file to perform the specific batch commands you desire using the steps below

6 Build the CLASSPATH list for the job The following jar files are required for the import process Most of the files are already available in current ldquoecosysrdquo installation

EcoSys EPC System Admin Topics Release 7604 Page 21 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Location Library Files

CP6IntegrationAPIlib

All Oracle Primavera API jar (jar) files (excluding sqljdbcjar and ojdbcjar)

BATCH_HOMElib

ojdbcjar log4j-129jar commons-dbcpjar xworkjar ognljar commons-loggingjar commons-pool-13jar ecosysjar ppmapiabstractorjar FMXMLGeneratorjar

2 Exporting System Settings to XML For maximum flexibility batch jobs run with their own system settings file that is independent of the settings in the EcoSys EPC (ldquoESFMrdquo) database The settings are stored in an XML file which you need to export from the EcoSys EPC application To do this

1 Log on to EcoSys EPC as an administrative user 2 Configure the import settings as desired You do this by navigating to the ldquoIntegrationrdquo

menu then selecting each of the ldquoImporthelliprdquo menu items For each one configure the import settings as desired and click ldquoSaverdquo This saves the system settings to the database

3 Once you have configured all the import settings as desired use the ldquoSystem Administrationrdquo gt ldquo Export Application Settingsrdquo When prompted save the systemsettingsxml file locally

4 Copy the resulting systemsettingsxml file to the ldquoBATCH_HOMErdquo folder where your batch job will be run This file will be used when running batch jobs and the settings in that file will apply only to that batch job

5 When changes to the batch jobrsquos import settings are required you can either edit the systemsettingsxml file directly or follow the steps above to export a new file

3 Configuring Batch Job Logging

The settings for logging in batch jobs invoked from the command line (outside of the application GUI) can be controlled through the systemsettingsxml file specified for each batch command This gives full control over the details logged to the batch job log (visible in the application GUI) as well as the log file written when a batch job runs (These settings take the place of any properties specified in FMServerSettingsproperties)

Settings that begin with ldquoLOGGING_rdquo control the level of detail written to the log file These are primarily intended for system administrators

EcoSys EPC System Admin Topics Release 7604 Page 22 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Settings that begin with ldquoBATCH_JOB_LOGGING_rdquo control the level of detail written to the batch job log visible in the Reports gt Batch Job Log screen within the application These are intended for end users and application administrators

For each command line batch job you are using you may adjust the logging settings individually by editing the corresponding systemsettingsxml file The settings in question and their recommended default values are ltLOGGING_DEBUG_ENABLEDgtNltLOGGING_DEBUG_ENABLEDgt

ltLOGGING_XML_ENABLEDgtYltLOGGING_XML_ENABLEDgt

ltLOGGING_ERROR_ENABLEDgtYltLOGGING_ERROR_ENABLEDgt

ltLOGGING_INFO_ENABLEDgtYltLOGGING_INFO_ENABLEDgt

ltLOGGING_WARN_ENABLEDgtYltLOGGING_WARN_ENABLEDgt

ltLOGGING_USER_ACTION_ENABLEDgtYltLOGGING_USER_ACTION_ENABLEDgt

ltLOGGING_USER_ACTION_PARAMS_ENABLEDgtYltLOGGING_USER_ACTION_PARAMS_ENABLEDgt

ltLOGGING_METHOD_TRACE_ENABLEDgtNltLOGGING_METHOD_TRACE_ENABLEDgt

ltLOGGING_METHOD_PARAMS_ENABLEDgtNltLOGGING_METHOD_PARAMS_ENABLEDgt

ltLOGGING_DATABASE_QUERY_ENABLEDgtNltLOGGING_DATABASE_QUERY_ENABLEDgt

ltLOGGING_DB_QUERY_PARAMS_ENABLEDgtNltLOGGING_DB_QUERY_PARAMS_ENABLEDgt

ltLOGGING_INCLUDE_DATE_FLAGgtYltLOGGING_INCLUDE_DATE_FLAGgt

ltLOGGING_INCLUDE_TIMESTAMPgtYltLOGGING_INCLUDE_TIMESTAMPgt

ltLOGGING_INCLUDE_LOG_TYPEgtYltLOGGING_INCLUDE_LOG_TYPEgt

ltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgtYltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgt

ltLOGGING_INCLUDE_USER_IDENTIFIERgtYltLOGGING_INCLUDE_USER_IDENTIFIERgt

ltLOGGING_INCLUDE_CLASS_NAMEgtYltLOGGING_INCLUDE_CLASS_NAMEgt

ltBATCH_JOB_LOGGING_ACTION_ENABLEDgtYltBATCH_JOB_LOGGING_ACTION_ENABLEDgt

ltBATCH_JOB_LOGGING_DEBUG_ENABLEDgtNltBATCH_JOB_LOGGING_DEBUG_ENABLEDgt

ltBATCH_JOB_LOGGING_ERROR_ENABLEDgtYltBATCH_JOB_LOGGING_ERROR_ENABLEDgt

ltBATCH_JOB_LOGGING_INFO_ENABLEDgtYltBATCH_JOB_LOGGING_INFO_ENABLEDgt

ltBATCH_JOB_LOGGING_WARN_ENABLEDgtYltBATCH_JOB_LOGGING_WARN_ENABLEDgt

ltLOGGING_PROGRESS_ENABLEDgtYltLOGGING_PROGRESS_ENABLEDgt

ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt120ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt60ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltLOGGING_SERVER_METRICS_ENABLEDgtYltLOGGING_SERVER_METRICS_ENABLEDgt

ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt120ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt

4 Creating and Scheduling a Batch Script Scheduling of batch import process basically involves creating a batch file (or shell script under Unix) which will set up appropriate CLASSPATH then invoke the java command and using a platform dependent scheduler to execute the batch file on a predefined schedule A sample batch file for windows platform is provided ndash copy and modify batchecosys_batch_templatebat as a starting point To run several import process simultaneously you will need to duplicate the above mentioned folder and script for each import job Since there will be a separate batch file for each process they can be scheduled to run separately or independent of each other 5 Generating XML for Import An XML generating utility is provided that can convert tabular text-based files into XML suitable for import into EcoSys EPC This step would be performed prior to invoking the import jobs described below To generate XML see the batchecosys_batch_templatebat file in the section called GenerateXML Refer to the EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for details on generating and importing XML

EcoSys EPC System Admin Topics Release 7604 Page 23 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Command Line Parameter Reference The following parameters need to be provided for the batch process

-a action -u user name -p password -f systemsettingsxml file

Action User Name Password Settings XML Additional Parameters

GenXML NA NA NA (refer to EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for parameters)

-a ImportActual -u username -p password -f settingsxml NA

-a ImportProject -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportReportDef -u username -p password -f settingsxml -importDir to specify the input definitions (required)

See Notes 4

-a ImportResource -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportXML -u username -p password -f settingsxml -xml path of xml file to import (required)

-a ImportDates -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportForecast -u username -p password -f settingsxml -cv cost object category_value_id (optional)

-a CloseoutMinorPeriod -u username -p password -f settingsxml

NA Note - when a close out is performed via the command line the application will not reflect the new minor period until both the Enterprise Data Cache (Global Type) has been refreshed and browsers for currently logged in userrsquos have refreshed An Enterprise Data Cache refresh can be forced by an administrator performing the following steps 1 Log into the EPC application 2 Go to System Information 3 Click the Cache Tab 4 Select Global Type in the Specify a

Data Cache to Refresh pick list 5 Click the Refresh Enterprise Data

Cache button 6 Each user in the application must

refresh their browser or log out and back in to see the new minor period

-a BulkCopy -u username -p password -f settingsxml NA

-a BulkPublish -u username -p password -f settingsxml NA

-a BulkRollup -u username -p password -f settingsxml NA

-a RunReportBatch -u username -p password NA -rb report batch short name (required)

-a RunAction -u username -p password -f settingsxml -action [action id or internal id] (required)

See Notes 3

-a RunActionBatch -u username -p password -f settingsxml -actionbatch [action id or internal id] (required)

See Notes 3

-a ImportCompletePercent -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportSpreadsheet -u username -p password NA See Notes 2

-a ExternalOperation -u username -p password -f settingsxml -o operation -xml param XML file See Notes 5

EcoSys EPC System Admin Topics Release 7604 Page 24 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

-a ImportCostAccount -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportRole -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportActivityCode -u username -p password -f settingsxml -ds datastore_id (required)

Note 1 The ndashDESFM_HOME= should refer to the new BATCH_HOME folder where the copy

of FMServerSettings and other files are being stored not the same ESFM_HOME folder where your application was originally installed since they may require different settings and options Note 2 For spreadsheet imports the following options apply -spreadsheet name or internal id of EPC spreadsheet (required) -file file path to excel spreadsheet you want to import (required) -format excelrdquo or ldquodelimited (default is ldquoexcelrdquo) -importLogic update or ldquoinsertrdquo or ldquoignorerdquo (default is ldquoinsertrdquo)

ldquoupdaterdquo means update existing rows

ldquoinsertrdquo means always insert as new

ldquoignorerdquo means ignore existing rows -runtimeparam ltparam namegt=ltparam valuegt (this parameter can appear multiple times on the command line as in bdquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc)

ltparam namegt must match the ID of a runtime parameter defined on the EPC spreadsheet

ltparam valuegt can either be the internal id or the short name of an EPC object Note 3 To use runtime parameters when running an action action batch or report batch from the command line simply add the params parameter to the command line arguments as inhelliprsquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc) Notes 4 set ACTION=ImportReportDef set ADDITIONAL_PARAMS=-importDir BATCH_HOMEimportreports For ACTION use ImportReportDefImportSpreadsheetDefImportFormulaDefImportActionDef depending upon SCARF element you want to import Notes 5 For external operations use ndasho to specify the name of the operation To pass in the parameters XML (overriding the defined parameters for that operation) use ndashxml followed by the name of the file containing the parameters XML 7 System Settings Input Value Reference The following list enumerates the input parameters used by batch processes These values will appear in the systemsettingsxml file automatically when exported from the GUI If you add or

edit them manually they need to be in XML tag format lttagnamegtvaluelttagnamegt

BULK COPY BULK_COPY_ROOT_SPREADSHEET_TYPE

BULK_COPY_SPREADSHEET_TYPE

BULK_COPY_TGT_SPREADSHEET_TYPE

BULK_COPY_SOURCE_VERSION

BULK_COPY_TARGET_VERSION

BULK_COPY_SOURCE_MAJORPERIOD

BULK_COPY_TARGET_MAJORPERIOD

BULK_COPY_SOURCE_VERSION_SHORT_NAME

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 19: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 19 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

9 Native user support (in SAML mode) When SAML has been enabled accessing EcoSys EPC via httpsmyservernameportecosys will always redirect you to the IdP authentication portal If you wish to login as a native user access EcoSys EPC using the URL httpsmyservernameportecosyslogin_native 10 Known issuesCommon pitfalls

1 If SSLHTTPS is being enabled through a reverse proxy arrangement ensure that the web

server is aware of the proxy so that URLs can be constructed correctly (see step 1)

2 Ensure that the application serverrsquos Java VM is configured to use unlimited encryption

strength algorithms (see step 4)

3 Ensure that the EcoSys EPC is set up to use SHA-1 hashing on your IdP (see step 6)

4 If your IdP both signs and encrypts assertions ensure that the lsquosigning signaturersquo comes

before the lsquoencryption signaturersquo in the metadata file

ESFM_HOMESAMLmetadataIdPIdPMetadataxml Restart the application if you have to make

this change The XML should be as follows in this case ndash

ltEntityDescriptorgt

hellip

ltIDPSSODescriptorgt

ltKeyDescriptor use=signinggt hellip ltKeyDescriptorgt

ltKeyDescriptor use=encryptiongt hellip ltKeyDescriptorgt

hellip

ltIDPSSODescriptorgt

hellip

ltEntityDescriptorgt

5 If your IdP uses self-signed certificates enable(uncomment) the following property in the file

ESFM_HOMESAMLoiosaml-spproperties and restart the application -

EcoSys EPC System Admin Topics Release 7604 Page 20 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

oiosaml-spcrlperiod=0

6 When you logout of EcoSys EPC (as a SAML user) you are typically taken to the IdPrsquos

authentication page If yoursquod like to be redirected to a different site instead

enable(uncomment) the following property in the file ESFM_HOMESAMLoiosaml-

spproperties and restart the application -

oiosaml-splogoutredirecturl=httpredirecturl

Command Line Batch Jobs Overview Some data import and processing jobs can be scheduled to run outside of the Java application server This is useful for long-running jobs that need to recur on a regular schedule for example importing forecasts from Primavera each week You should work with your implementation team to determine whether batch jobs need to be configured and if so what their parameters and schedules should be Note Details on the import file format for XML-based external system imports can be found in the EcoSys EPC Integration Guide Follow these steps to configure a command line batch script and job The batch job script can be scheduled to run using the scheduling tools native to your serverrsquos operating system For Windows you can use Control Panel gt Scheduled Tasks For Unix you can configure a cron job 1 Configuring the Files and Settings

1 Create folder for the batch job files Typically this is under your existing ESFM_HOME

folder perhaps called lsquobatchrsquo We will refer to this folder as BATCH_HOME in this section

2 Copy following the following files from ESFM_HOME to BATCH_HOME FMServerSettingsproperties log4jproperties FMLicenseproperties

3 Edit or add these entries to BATCH_HOMEFMServerSettingsproperties

fmdatasourcefactory=comecosysmgmtframeworkcontextFMPooledDataSourceFactory

connectionPoolminSize=2

connectionPoolmaxSize=20

datasourceJDBCUser=fmuser

datasourceJDBCPass=fmuser

datasourceJDBCDriver=oraclejdbcOracleDriver

datasourceJDBCConnectString=jdbcoraclethinMYSERVERHOSTNAME1521ESFM

4 Edit log4jproperties and change value of ldquolog4jappenderFILEFilerdquo to point to a location under your BATCH_HOME folder For example ldquoBatchImportlogrdquo

5 Begin with the template batch script located under batchecosys_batch_templatebat You may copy and modify this file to perform the specific batch commands you desire using the steps below

6 Build the CLASSPATH list for the job The following jar files are required for the import process Most of the files are already available in current ldquoecosysrdquo installation

EcoSys EPC System Admin Topics Release 7604 Page 21 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Location Library Files

CP6IntegrationAPIlib

All Oracle Primavera API jar (jar) files (excluding sqljdbcjar and ojdbcjar)

BATCH_HOMElib

ojdbcjar log4j-129jar commons-dbcpjar xworkjar ognljar commons-loggingjar commons-pool-13jar ecosysjar ppmapiabstractorjar FMXMLGeneratorjar

2 Exporting System Settings to XML For maximum flexibility batch jobs run with their own system settings file that is independent of the settings in the EcoSys EPC (ldquoESFMrdquo) database The settings are stored in an XML file which you need to export from the EcoSys EPC application To do this

1 Log on to EcoSys EPC as an administrative user 2 Configure the import settings as desired You do this by navigating to the ldquoIntegrationrdquo

menu then selecting each of the ldquoImporthelliprdquo menu items For each one configure the import settings as desired and click ldquoSaverdquo This saves the system settings to the database

3 Once you have configured all the import settings as desired use the ldquoSystem Administrationrdquo gt ldquo Export Application Settingsrdquo When prompted save the systemsettingsxml file locally

4 Copy the resulting systemsettingsxml file to the ldquoBATCH_HOMErdquo folder where your batch job will be run This file will be used when running batch jobs and the settings in that file will apply only to that batch job

5 When changes to the batch jobrsquos import settings are required you can either edit the systemsettingsxml file directly or follow the steps above to export a new file

3 Configuring Batch Job Logging

The settings for logging in batch jobs invoked from the command line (outside of the application GUI) can be controlled through the systemsettingsxml file specified for each batch command This gives full control over the details logged to the batch job log (visible in the application GUI) as well as the log file written when a batch job runs (These settings take the place of any properties specified in FMServerSettingsproperties)

Settings that begin with ldquoLOGGING_rdquo control the level of detail written to the log file These are primarily intended for system administrators

EcoSys EPC System Admin Topics Release 7604 Page 22 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Settings that begin with ldquoBATCH_JOB_LOGGING_rdquo control the level of detail written to the batch job log visible in the Reports gt Batch Job Log screen within the application These are intended for end users and application administrators

For each command line batch job you are using you may adjust the logging settings individually by editing the corresponding systemsettingsxml file The settings in question and their recommended default values are ltLOGGING_DEBUG_ENABLEDgtNltLOGGING_DEBUG_ENABLEDgt

ltLOGGING_XML_ENABLEDgtYltLOGGING_XML_ENABLEDgt

ltLOGGING_ERROR_ENABLEDgtYltLOGGING_ERROR_ENABLEDgt

ltLOGGING_INFO_ENABLEDgtYltLOGGING_INFO_ENABLEDgt

ltLOGGING_WARN_ENABLEDgtYltLOGGING_WARN_ENABLEDgt

ltLOGGING_USER_ACTION_ENABLEDgtYltLOGGING_USER_ACTION_ENABLEDgt

ltLOGGING_USER_ACTION_PARAMS_ENABLEDgtYltLOGGING_USER_ACTION_PARAMS_ENABLEDgt

ltLOGGING_METHOD_TRACE_ENABLEDgtNltLOGGING_METHOD_TRACE_ENABLEDgt

ltLOGGING_METHOD_PARAMS_ENABLEDgtNltLOGGING_METHOD_PARAMS_ENABLEDgt

ltLOGGING_DATABASE_QUERY_ENABLEDgtNltLOGGING_DATABASE_QUERY_ENABLEDgt

ltLOGGING_DB_QUERY_PARAMS_ENABLEDgtNltLOGGING_DB_QUERY_PARAMS_ENABLEDgt

ltLOGGING_INCLUDE_DATE_FLAGgtYltLOGGING_INCLUDE_DATE_FLAGgt

ltLOGGING_INCLUDE_TIMESTAMPgtYltLOGGING_INCLUDE_TIMESTAMPgt

ltLOGGING_INCLUDE_LOG_TYPEgtYltLOGGING_INCLUDE_LOG_TYPEgt

ltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgtYltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgt

ltLOGGING_INCLUDE_USER_IDENTIFIERgtYltLOGGING_INCLUDE_USER_IDENTIFIERgt

ltLOGGING_INCLUDE_CLASS_NAMEgtYltLOGGING_INCLUDE_CLASS_NAMEgt

ltBATCH_JOB_LOGGING_ACTION_ENABLEDgtYltBATCH_JOB_LOGGING_ACTION_ENABLEDgt

ltBATCH_JOB_LOGGING_DEBUG_ENABLEDgtNltBATCH_JOB_LOGGING_DEBUG_ENABLEDgt

ltBATCH_JOB_LOGGING_ERROR_ENABLEDgtYltBATCH_JOB_LOGGING_ERROR_ENABLEDgt

ltBATCH_JOB_LOGGING_INFO_ENABLEDgtYltBATCH_JOB_LOGGING_INFO_ENABLEDgt

ltBATCH_JOB_LOGGING_WARN_ENABLEDgtYltBATCH_JOB_LOGGING_WARN_ENABLEDgt

ltLOGGING_PROGRESS_ENABLEDgtYltLOGGING_PROGRESS_ENABLEDgt

ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt120ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt60ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltLOGGING_SERVER_METRICS_ENABLEDgtYltLOGGING_SERVER_METRICS_ENABLEDgt

ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt120ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt

4 Creating and Scheduling a Batch Script Scheduling of batch import process basically involves creating a batch file (or shell script under Unix) which will set up appropriate CLASSPATH then invoke the java command and using a platform dependent scheduler to execute the batch file on a predefined schedule A sample batch file for windows platform is provided ndash copy and modify batchecosys_batch_templatebat as a starting point To run several import process simultaneously you will need to duplicate the above mentioned folder and script for each import job Since there will be a separate batch file for each process they can be scheduled to run separately or independent of each other 5 Generating XML for Import An XML generating utility is provided that can convert tabular text-based files into XML suitable for import into EcoSys EPC This step would be performed prior to invoking the import jobs described below To generate XML see the batchecosys_batch_templatebat file in the section called GenerateXML Refer to the EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for details on generating and importing XML

EcoSys EPC System Admin Topics Release 7604 Page 23 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Command Line Parameter Reference The following parameters need to be provided for the batch process

-a action -u user name -p password -f systemsettingsxml file

Action User Name Password Settings XML Additional Parameters

GenXML NA NA NA (refer to EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for parameters)

-a ImportActual -u username -p password -f settingsxml NA

-a ImportProject -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportReportDef -u username -p password -f settingsxml -importDir to specify the input definitions (required)

See Notes 4

-a ImportResource -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportXML -u username -p password -f settingsxml -xml path of xml file to import (required)

-a ImportDates -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportForecast -u username -p password -f settingsxml -cv cost object category_value_id (optional)

-a CloseoutMinorPeriod -u username -p password -f settingsxml

NA Note - when a close out is performed via the command line the application will not reflect the new minor period until both the Enterprise Data Cache (Global Type) has been refreshed and browsers for currently logged in userrsquos have refreshed An Enterprise Data Cache refresh can be forced by an administrator performing the following steps 1 Log into the EPC application 2 Go to System Information 3 Click the Cache Tab 4 Select Global Type in the Specify a

Data Cache to Refresh pick list 5 Click the Refresh Enterprise Data

Cache button 6 Each user in the application must

refresh their browser or log out and back in to see the new minor period

-a BulkCopy -u username -p password -f settingsxml NA

-a BulkPublish -u username -p password -f settingsxml NA

-a BulkRollup -u username -p password -f settingsxml NA

-a RunReportBatch -u username -p password NA -rb report batch short name (required)

-a RunAction -u username -p password -f settingsxml -action [action id or internal id] (required)

See Notes 3

-a RunActionBatch -u username -p password -f settingsxml -actionbatch [action id or internal id] (required)

See Notes 3

-a ImportCompletePercent -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportSpreadsheet -u username -p password NA See Notes 2

-a ExternalOperation -u username -p password -f settingsxml -o operation -xml param XML file See Notes 5

EcoSys EPC System Admin Topics Release 7604 Page 24 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

-a ImportCostAccount -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportRole -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportActivityCode -u username -p password -f settingsxml -ds datastore_id (required)

Note 1 The ndashDESFM_HOME= should refer to the new BATCH_HOME folder where the copy

of FMServerSettings and other files are being stored not the same ESFM_HOME folder where your application was originally installed since they may require different settings and options Note 2 For spreadsheet imports the following options apply -spreadsheet name or internal id of EPC spreadsheet (required) -file file path to excel spreadsheet you want to import (required) -format excelrdquo or ldquodelimited (default is ldquoexcelrdquo) -importLogic update or ldquoinsertrdquo or ldquoignorerdquo (default is ldquoinsertrdquo)

ldquoupdaterdquo means update existing rows

ldquoinsertrdquo means always insert as new

ldquoignorerdquo means ignore existing rows -runtimeparam ltparam namegt=ltparam valuegt (this parameter can appear multiple times on the command line as in bdquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc)

ltparam namegt must match the ID of a runtime parameter defined on the EPC spreadsheet

ltparam valuegt can either be the internal id or the short name of an EPC object Note 3 To use runtime parameters when running an action action batch or report batch from the command line simply add the params parameter to the command line arguments as inhelliprsquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc) Notes 4 set ACTION=ImportReportDef set ADDITIONAL_PARAMS=-importDir BATCH_HOMEimportreports For ACTION use ImportReportDefImportSpreadsheetDefImportFormulaDefImportActionDef depending upon SCARF element you want to import Notes 5 For external operations use ndasho to specify the name of the operation To pass in the parameters XML (overriding the defined parameters for that operation) use ndashxml followed by the name of the file containing the parameters XML 7 System Settings Input Value Reference The following list enumerates the input parameters used by batch processes These values will appear in the systemsettingsxml file automatically when exported from the GUI If you add or

edit them manually they need to be in XML tag format lttagnamegtvaluelttagnamegt

BULK COPY BULK_COPY_ROOT_SPREADSHEET_TYPE

BULK_COPY_SPREADSHEET_TYPE

BULK_COPY_TGT_SPREADSHEET_TYPE

BULK_COPY_SOURCE_VERSION

BULK_COPY_TARGET_VERSION

BULK_COPY_SOURCE_MAJORPERIOD

BULK_COPY_TARGET_MAJORPERIOD

BULK_COPY_SOURCE_VERSION_SHORT_NAME

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 20: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 20 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

oiosaml-spcrlperiod=0

6 When you logout of EcoSys EPC (as a SAML user) you are typically taken to the IdPrsquos

authentication page If yoursquod like to be redirected to a different site instead

enable(uncomment) the following property in the file ESFM_HOMESAMLoiosaml-

spproperties and restart the application -

oiosaml-splogoutredirecturl=httpredirecturl

Command Line Batch Jobs Overview Some data import and processing jobs can be scheduled to run outside of the Java application server This is useful for long-running jobs that need to recur on a regular schedule for example importing forecasts from Primavera each week You should work with your implementation team to determine whether batch jobs need to be configured and if so what their parameters and schedules should be Note Details on the import file format for XML-based external system imports can be found in the EcoSys EPC Integration Guide Follow these steps to configure a command line batch script and job The batch job script can be scheduled to run using the scheduling tools native to your serverrsquos operating system For Windows you can use Control Panel gt Scheduled Tasks For Unix you can configure a cron job 1 Configuring the Files and Settings

1 Create folder for the batch job files Typically this is under your existing ESFM_HOME

folder perhaps called lsquobatchrsquo We will refer to this folder as BATCH_HOME in this section

2 Copy following the following files from ESFM_HOME to BATCH_HOME FMServerSettingsproperties log4jproperties FMLicenseproperties

3 Edit or add these entries to BATCH_HOMEFMServerSettingsproperties

fmdatasourcefactory=comecosysmgmtframeworkcontextFMPooledDataSourceFactory

connectionPoolminSize=2

connectionPoolmaxSize=20

datasourceJDBCUser=fmuser

datasourceJDBCPass=fmuser

datasourceJDBCDriver=oraclejdbcOracleDriver

datasourceJDBCConnectString=jdbcoraclethinMYSERVERHOSTNAME1521ESFM

4 Edit log4jproperties and change value of ldquolog4jappenderFILEFilerdquo to point to a location under your BATCH_HOME folder For example ldquoBatchImportlogrdquo

5 Begin with the template batch script located under batchecosys_batch_templatebat You may copy and modify this file to perform the specific batch commands you desire using the steps below

6 Build the CLASSPATH list for the job The following jar files are required for the import process Most of the files are already available in current ldquoecosysrdquo installation

EcoSys EPC System Admin Topics Release 7604 Page 21 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Location Library Files

CP6IntegrationAPIlib

All Oracle Primavera API jar (jar) files (excluding sqljdbcjar and ojdbcjar)

BATCH_HOMElib

ojdbcjar log4j-129jar commons-dbcpjar xworkjar ognljar commons-loggingjar commons-pool-13jar ecosysjar ppmapiabstractorjar FMXMLGeneratorjar

2 Exporting System Settings to XML For maximum flexibility batch jobs run with their own system settings file that is independent of the settings in the EcoSys EPC (ldquoESFMrdquo) database The settings are stored in an XML file which you need to export from the EcoSys EPC application To do this

1 Log on to EcoSys EPC as an administrative user 2 Configure the import settings as desired You do this by navigating to the ldquoIntegrationrdquo

menu then selecting each of the ldquoImporthelliprdquo menu items For each one configure the import settings as desired and click ldquoSaverdquo This saves the system settings to the database

3 Once you have configured all the import settings as desired use the ldquoSystem Administrationrdquo gt ldquo Export Application Settingsrdquo When prompted save the systemsettingsxml file locally

4 Copy the resulting systemsettingsxml file to the ldquoBATCH_HOMErdquo folder where your batch job will be run This file will be used when running batch jobs and the settings in that file will apply only to that batch job

5 When changes to the batch jobrsquos import settings are required you can either edit the systemsettingsxml file directly or follow the steps above to export a new file

3 Configuring Batch Job Logging

The settings for logging in batch jobs invoked from the command line (outside of the application GUI) can be controlled through the systemsettingsxml file specified for each batch command This gives full control over the details logged to the batch job log (visible in the application GUI) as well as the log file written when a batch job runs (These settings take the place of any properties specified in FMServerSettingsproperties)

Settings that begin with ldquoLOGGING_rdquo control the level of detail written to the log file These are primarily intended for system administrators

EcoSys EPC System Admin Topics Release 7604 Page 22 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Settings that begin with ldquoBATCH_JOB_LOGGING_rdquo control the level of detail written to the batch job log visible in the Reports gt Batch Job Log screen within the application These are intended for end users and application administrators

For each command line batch job you are using you may adjust the logging settings individually by editing the corresponding systemsettingsxml file The settings in question and their recommended default values are ltLOGGING_DEBUG_ENABLEDgtNltLOGGING_DEBUG_ENABLEDgt

ltLOGGING_XML_ENABLEDgtYltLOGGING_XML_ENABLEDgt

ltLOGGING_ERROR_ENABLEDgtYltLOGGING_ERROR_ENABLEDgt

ltLOGGING_INFO_ENABLEDgtYltLOGGING_INFO_ENABLEDgt

ltLOGGING_WARN_ENABLEDgtYltLOGGING_WARN_ENABLEDgt

ltLOGGING_USER_ACTION_ENABLEDgtYltLOGGING_USER_ACTION_ENABLEDgt

ltLOGGING_USER_ACTION_PARAMS_ENABLEDgtYltLOGGING_USER_ACTION_PARAMS_ENABLEDgt

ltLOGGING_METHOD_TRACE_ENABLEDgtNltLOGGING_METHOD_TRACE_ENABLEDgt

ltLOGGING_METHOD_PARAMS_ENABLEDgtNltLOGGING_METHOD_PARAMS_ENABLEDgt

ltLOGGING_DATABASE_QUERY_ENABLEDgtNltLOGGING_DATABASE_QUERY_ENABLEDgt

ltLOGGING_DB_QUERY_PARAMS_ENABLEDgtNltLOGGING_DB_QUERY_PARAMS_ENABLEDgt

ltLOGGING_INCLUDE_DATE_FLAGgtYltLOGGING_INCLUDE_DATE_FLAGgt

ltLOGGING_INCLUDE_TIMESTAMPgtYltLOGGING_INCLUDE_TIMESTAMPgt

ltLOGGING_INCLUDE_LOG_TYPEgtYltLOGGING_INCLUDE_LOG_TYPEgt

ltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgtYltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgt

ltLOGGING_INCLUDE_USER_IDENTIFIERgtYltLOGGING_INCLUDE_USER_IDENTIFIERgt

ltLOGGING_INCLUDE_CLASS_NAMEgtYltLOGGING_INCLUDE_CLASS_NAMEgt

ltBATCH_JOB_LOGGING_ACTION_ENABLEDgtYltBATCH_JOB_LOGGING_ACTION_ENABLEDgt

ltBATCH_JOB_LOGGING_DEBUG_ENABLEDgtNltBATCH_JOB_LOGGING_DEBUG_ENABLEDgt

ltBATCH_JOB_LOGGING_ERROR_ENABLEDgtYltBATCH_JOB_LOGGING_ERROR_ENABLEDgt

ltBATCH_JOB_LOGGING_INFO_ENABLEDgtYltBATCH_JOB_LOGGING_INFO_ENABLEDgt

ltBATCH_JOB_LOGGING_WARN_ENABLEDgtYltBATCH_JOB_LOGGING_WARN_ENABLEDgt

ltLOGGING_PROGRESS_ENABLEDgtYltLOGGING_PROGRESS_ENABLEDgt

ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt120ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt60ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltLOGGING_SERVER_METRICS_ENABLEDgtYltLOGGING_SERVER_METRICS_ENABLEDgt

ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt120ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt

4 Creating and Scheduling a Batch Script Scheduling of batch import process basically involves creating a batch file (or shell script under Unix) which will set up appropriate CLASSPATH then invoke the java command and using a platform dependent scheduler to execute the batch file on a predefined schedule A sample batch file for windows platform is provided ndash copy and modify batchecosys_batch_templatebat as a starting point To run several import process simultaneously you will need to duplicate the above mentioned folder and script for each import job Since there will be a separate batch file for each process they can be scheduled to run separately or independent of each other 5 Generating XML for Import An XML generating utility is provided that can convert tabular text-based files into XML suitable for import into EcoSys EPC This step would be performed prior to invoking the import jobs described below To generate XML see the batchecosys_batch_templatebat file in the section called GenerateXML Refer to the EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for details on generating and importing XML

EcoSys EPC System Admin Topics Release 7604 Page 23 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Command Line Parameter Reference The following parameters need to be provided for the batch process

-a action -u user name -p password -f systemsettingsxml file

Action User Name Password Settings XML Additional Parameters

GenXML NA NA NA (refer to EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for parameters)

-a ImportActual -u username -p password -f settingsxml NA

-a ImportProject -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportReportDef -u username -p password -f settingsxml -importDir to specify the input definitions (required)

See Notes 4

-a ImportResource -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportXML -u username -p password -f settingsxml -xml path of xml file to import (required)

-a ImportDates -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportForecast -u username -p password -f settingsxml -cv cost object category_value_id (optional)

-a CloseoutMinorPeriod -u username -p password -f settingsxml

NA Note - when a close out is performed via the command line the application will not reflect the new minor period until both the Enterprise Data Cache (Global Type) has been refreshed and browsers for currently logged in userrsquos have refreshed An Enterprise Data Cache refresh can be forced by an administrator performing the following steps 1 Log into the EPC application 2 Go to System Information 3 Click the Cache Tab 4 Select Global Type in the Specify a

Data Cache to Refresh pick list 5 Click the Refresh Enterprise Data

Cache button 6 Each user in the application must

refresh their browser or log out and back in to see the new minor period

-a BulkCopy -u username -p password -f settingsxml NA

-a BulkPublish -u username -p password -f settingsxml NA

-a BulkRollup -u username -p password -f settingsxml NA

-a RunReportBatch -u username -p password NA -rb report batch short name (required)

-a RunAction -u username -p password -f settingsxml -action [action id or internal id] (required)

See Notes 3

-a RunActionBatch -u username -p password -f settingsxml -actionbatch [action id or internal id] (required)

See Notes 3

-a ImportCompletePercent -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportSpreadsheet -u username -p password NA See Notes 2

-a ExternalOperation -u username -p password -f settingsxml -o operation -xml param XML file See Notes 5

EcoSys EPC System Admin Topics Release 7604 Page 24 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

-a ImportCostAccount -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportRole -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportActivityCode -u username -p password -f settingsxml -ds datastore_id (required)

Note 1 The ndashDESFM_HOME= should refer to the new BATCH_HOME folder where the copy

of FMServerSettings and other files are being stored not the same ESFM_HOME folder where your application was originally installed since they may require different settings and options Note 2 For spreadsheet imports the following options apply -spreadsheet name or internal id of EPC spreadsheet (required) -file file path to excel spreadsheet you want to import (required) -format excelrdquo or ldquodelimited (default is ldquoexcelrdquo) -importLogic update or ldquoinsertrdquo or ldquoignorerdquo (default is ldquoinsertrdquo)

ldquoupdaterdquo means update existing rows

ldquoinsertrdquo means always insert as new

ldquoignorerdquo means ignore existing rows -runtimeparam ltparam namegt=ltparam valuegt (this parameter can appear multiple times on the command line as in bdquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc)

ltparam namegt must match the ID of a runtime parameter defined on the EPC spreadsheet

ltparam valuegt can either be the internal id or the short name of an EPC object Note 3 To use runtime parameters when running an action action batch or report batch from the command line simply add the params parameter to the command line arguments as inhelliprsquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc) Notes 4 set ACTION=ImportReportDef set ADDITIONAL_PARAMS=-importDir BATCH_HOMEimportreports For ACTION use ImportReportDefImportSpreadsheetDefImportFormulaDefImportActionDef depending upon SCARF element you want to import Notes 5 For external operations use ndasho to specify the name of the operation To pass in the parameters XML (overriding the defined parameters for that operation) use ndashxml followed by the name of the file containing the parameters XML 7 System Settings Input Value Reference The following list enumerates the input parameters used by batch processes These values will appear in the systemsettingsxml file automatically when exported from the GUI If you add or

edit them manually they need to be in XML tag format lttagnamegtvaluelttagnamegt

BULK COPY BULK_COPY_ROOT_SPREADSHEET_TYPE

BULK_COPY_SPREADSHEET_TYPE

BULK_COPY_TGT_SPREADSHEET_TYPE

BULK_COPY_SOURCE_VERSION

BULK_COPY_TARGET_VERSION

BULK_COPY_SOURCE_MAJORPERIOD

BULK_COPY_TARGET_MAJORPERIOD

BULK_COPY_SOURCE_VERSION_SHORT_NAME

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 21: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 21 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Location Library Files

CP6IntegrationAPIlib

All Oracle Primavera API jar (jar) files (excluding sqljdbcjar and ojdbcjar)

BATCH_HOMElib

ojdbcjar log4j-129jar commons-dbcpjar xworkjar ognljar commons-loggingjar commons-pool-13jar ecosysjar ppmapiabstractorjar FMXMLGeneratorjar

2 Exporting System Settings to XML For maximum flexibility batch jobs run with their own system settings file that is independent of the settings in the EcoSys EPC (ldquoESFMrdquo) database The settings are stored in an XML file which you need to export from the EcoSys EPC application To do this

1 Log on to EcoSys EPC as an administrative user 2 Configure the import settings as desired You do this by navigating to the ldquoIntegrationrdquo

menu then selecting each of the ldquoImporthelliprdquo menu items For each one configure the import settings as desired and click ldquoSaverdquo This saves the system settings to the database

3 Once you have configured all the import settings as desired use the ldquoSystem Administrationrdquo gt ldquo Export Application Settingsrdquo When prompted save the systemsettingsxml file locally

4 Copy the resulting systemsettingsxml file to the ldquoBATCH_HOMErdquo folder where your batch job will be run This file will be used when running batch jobs and the settings in that file will apply only to that batch job

5 When changes to the batch jobrsquos import settings are required you can either edit the systemsettingsxml file directly or follow the steps above to export a new file

3 Configuring Batch Job Logging

The settings for logging in batch jobs invoked from the command line (outside of the application GUI) can be controlled through the systemsettingsxml file specified for each batch command This gives full control over the details logged to the batch job log (visible in the application GUI) as well as the log file written when a batch job runs (These settings take the place of any properties specified in FMServerSettingsproperties)

Settings that begin with ldquoLOGGING_rdquo control the level of detail written to the log file These are primarily intended for system administrators

EcoSys EPC System Admin Topics Release 7604 Page 22 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Settings that begin with ldquoBATCH_JOB_LOGGING_rdquo control the level of detail written to the batch job log visible in the Reports gt Batch Job Log screen within the application These are intended for end users and application administrators

For each command line batch job you are using you may adjust the logging settings individually by editing the corresponding systemsettingsxml file The settings in question and their recommended default values are ltLOGGING_DEBUG_ENABLEDgtNltLOGGING_DEBUG_ENABLEDgt

ltLOGGING_XML_ENABLEDgtYltLOGGING_XML_ENABLEDgt

ltLOGGING_ERROR_ENABLEDgtYltLOGGING_ERROR_ENABLEDgt

ltLOGGING_INFO_ENABLEDgtYltLOGGING_INFO_ENABLEDgt

ltLOGGING_WARN_ENABLEDgtYltLOGGING_WARN_ENABLEDgt

ltLOGGING_USER_ACTION_ENABLEDgtYltLOGGING_USER_ACTION_ENABLEDgt

ltLOGGING_USER_ACTION_PARAMS_ENABLEDgtYltLOGGING_USER_ACTION_PARAMS_ENABLEDgt

ltLOGGING_METHOD_TRACE_ENABLEDgtNltLOGGING_METHOD_TRACE_ENABLEDgt

ltLOGGING_METHOD_PARAMS_ENABLEDgtNltLOGGING_METHOD_PARAMS_ENABLEDgt

ltLOGGING_DATABASE_QUERY_ENABLEDgtNltLOGGING_DATABASE_QUERY_ENABLEDgt

ltLOGGING_DB_QUERY_PARAMS_ENABLEDgtNltLOGGING_DB_QUERY_PARAMS_ENABLEDgt

ltLOGGING_INCLUDE_DATE_FLAGgtYltLOGGING_INCLUDE_DATE_FLAGgt

ltLOGGING_INCLUDE_TIMESTAMPgtYltLOGGING_INCLUDE_TIMESTAMPgt

ltLOGGING_INCLUDE_LOG_TYPEgtYltLOGGING_INCLUDE_LOG_TYPEgt

ltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgtYltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgt

ltLOGGING_INCLUDE_USER_IDENTIFIERgtYltLOGGING_INCLUDE_USER_IDENTIFIERgt

ltLOGGING_INCLUDE_CLASS_NAMEgtYltLOGGING_INCLUDE_CLASS_NAMEgt

ltBATCH_JOB_LOGGING_ACTION_ENABLEDgtYltBATCH_JOB_LOGGING_ACTION_ENABLEDgt

ltBATCH_JOB_LOGGING_DEBUG_ENABLEDgtNltBATCH_JOB_LOGGING_DEBUG_ENABLEDgt

ltBATCH_JOB_LOGGING_ERROR_ENABLEDgtYltBATCH_JOB_LOGGING_ERROR_ENABLEDgt

ltBATCH_JOB_LOGGING_INFO_ENABLEDgtYltBATCH_JOB_LOGGING_INFO_ENABLEDgt

ltBATCH_JOB_LOGGING_WARN_ENABLEDgtYltBATCH_JOB_LOGGING_WARN_ENABLEDgt

ltLOGGING_PROGRESS_ENABLEDgtYltLOGGING_PROGRESS_ENABLEDgt

ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt120ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt60ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltLOGGING_SERVER_METRICS_ENABLEDgtYltLOGGING_SERVER_METRICS_ENABLEDgt

ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt120ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt

4 Creating and Scheduling a Batch Script Scheduling of batch import process basically involves creating a batch file (or shell script under Unix) which will set up appropriate CLASSPATH then invoke the java command and using a platform dependent scheduler to execute the batch file on a predefined schedule A sample batch file for windows platform is provided ndash copy and modify batchecosys_batch_templatebat as a starting point To run several import process simultaneously you will need to duplicate the above mentioned folder and script for each import job Since there will be a separate batch file for each process they can be scheduled to run separately or independent of each other 5 Generating XML for Import An XML generating utility is provided that can convert tabular text-based files into XML suitable for import into EcoSys EPC This step would be performed prior to invoking the import jobs described below To generate XML see the batchecosys_batch_templatebat file in the section called GenerateXML Refer to the EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for details on generating and importing XML

EcoSys EPC System Admin Topics Release 7604 Page 23 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Command Line Parameter Reference The following parameters need to be provided for the batch process

-a action -u user name -p password -f systemsettingsxml file

Action User Name Password Settings XML Additional Parameters

GenXML NA NA NA (refer to EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for parameters)

-a ImportActual -u username -p password -f settingsxml NA

-a ImportProject -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportReportDef -u username -p password -f settingsxml -importDir to specify the input definitions (required)

See Notes 4

-a ImportResource -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportXML -u username -p password -f settingsxml -xml path of xml file to import (required)

-a ImportDates -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportForecast -u username -p password -f settingsxml -cv cost object category_value_id (optional)

-a CloseoutMinorPeriod -u username -p password -f settingsxml

NA Note - when a close out is performed via the command line the application will not reflect the new minor period until both the Enterprise Data Cache (Global Type) has been refreshed and browsers for currently logged in userrsquos have refreshed An Enterprise Data Cache refresh can be forced by an administrator performing the following steps 1 Log into the EPC application 2 Go to System Information 3 Click the Cache Tab 4 Select Global Type in the Specify a

Data Cache to Refresh pick list 5 Click the Refresh Enterprise Data

Cache button 6 Each user in the application must

refresh their browser or log out and back in to see the new minor period

-a BulkCopy -u username -p password -f settingsxml NA

-a BulkPublish -u username -p password -f settingsxml NA

-a BulkRollup -u username -p password -f settingsxml NA

-a RunReportBatch -u username -p password NA -rb report batch short name (required)

-a RunAction -u username -p password -f settingsxml -action [action id or internal id] (required)

See Notes 3

-a RunActionBatch -u username -p password -f settingsxml -actionbatch [action id or internal id] (required)

See Notes 3

-a ImportCompletePercent -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportSpreadsheet -u username -p password NA See Notes 2

-a ExternalOperation -u username -p password -f settingsxml -o operation -xml param XML file See Notes 5

EcoSys EPC System Admin Topics Release 7604 Page 24 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

-a ImportCostAccount -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportRole -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportActivityCode -u username -p password -f settingsxml -ds datastore_id (required)

Note 1 The ndashDESFM_HOME= should refer to the new BATCH_HOME folder where the copy

of FMServerSettings and other files are being stored not the same ESFM_HOME folder where your application was originally installed since they may require different settings and options Note 2 For spreadsheet imports the following options apply -spreadsheet name or internal id of EPC spreadsheet (required) -file file path to excel spreadsheet you want to import (required) -format excelrdquo or ldquodelimited (default is ldquoexcelrdquo) -importLogic update or ldquoinsertrdquo or ldquoignorerdquo (default is ldquoinsertrdquo)

ldquoupdaterdquo means update existing rows

ldquoinsertrdquo means always insert as new

ldquoignorerdquo means ignore existing rows -runtimeparam ltparam namegt=ltparam valuegt (this parameter can appear multiple times on the command line as in bdquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc)

ltparam namegt must match the ID of a runtime parameter defined on the EPC spreadsheet

ltparam valuegt can either be the internal id or the short name of an EPC object Note 3 To use runtime parameters when running an action action batch or report batch from the command line simply add the params parameter to the command line arguments as inhelliprsquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc) Notes 4 set ACTION=ImportReportDef set ADDITIONAL_PARAMS=-importDir BATCH_HOMEimportreports For ACTION use ImportReportDefImportSpreadsheetDefImportFormulaDefImportActionDef depending upon SCARF element you want to import Notes 5 For external operations use ndasho to specify the name of the operation To pass in the parameters XML (overriding the defined parameters for that operation) use ndashxml followed by the name of the file containing the parameters XML 7 System Settings Input Value Reference The following list enumerates the input parameters used by batch processes These values will appear in the systemsettingsxml file automatically when exported from the GUI If you add or

edit them manually they need to be in XML tag format lttagnamegtvaluelttagnamegt

BULK COPY BULK_COPY_ROOT_SPREADSHEET_TYPE

BULK_COPY_SPREADSHEET_TYPE

BULK_COPY_TGT_SPREADSHEET_TYPE

BULK_COPY_SOURCE_VERSION

BULK_COPY_TARGET_VERSION

BULK_COPY_SOURCE_MAJORPERIOD

BULK_COPY_TARGET_MAJORPERIOD

BULK_COPY_SOURCE_VERSION_SHORT_NAME

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 22: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 22 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Settings that begin with ldquoBATCH_JOB_LOGGING_rdquo control the level of detail written to the batch job log visible in the Reports gt Batch Job Log screen within the application These are intended for end users and application administrators

For each command line batch job you are using you may adjust the logging settings individually by editing the corresponding systemsettingsxml file The settings in question and their recommended default values are ltLOGGING_DEBUG_ENABLEDgtNltLOGGING_DEBUG_ENABLEDgt

ltLOGGING_XML_ENABLEDgtYltLOGGING_XML_ENABLEDgt

ltLOGGING_ERROR_ENABLEDgtYltLOGGING_ERROR_ENABLEDgt

ltLOGGING_INFO_ENABLEDgtYltLOGGING_INFO_ENABLEDgt

ltLOGGING_WARN_ENABLEDgtYltLOGGING_WARN_ENABLEDgt

ltLOGGING_USER_ACTION_ENABLEDgtYltLOGGING_USER_ACTION_ENABLEDgt

ltLOGGING_USER_ACTION_PARAMS_ENABLEDgtYltLOGGING_USER_ACTION_PARAMS_ENABLEDgt

ltLOGGING_METHOD_TRACE_ENABLEDgtNltLOGGING_METHOD_TRACE_ENABLEDgt

ltLOGGING_METHOD_PARAMS_ENABLEDgtNltLOGGING_METHOD_PARAMS_ENABLEDgt

ltLOGGING_DATABASE_QUERY_ENABLEDgtNltLOGGING_DATABASE_QUERY_ENABLEDgt

ltLOGGING_DB_QUERY_PARAMS_ENABLEDgtNltLOGGING_DB_QUERY_PARAMS_ENABLEDgt

ltLOGGING_INCLUDE_DATE_FLAGgtYltLOGGING_INCLUDE_DATE_FLAGgt

ltLOGGING_INCLUDE_TIMESTAMPgtYltLOGGING_INCLUDE_TIMESTAMPgt

ltLOGGING_INCLUDE_LOG_TYPEgtYltLOGGING_INCLUDE_LOG_TYPEgt

ltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgtYltLOGGING_INCLUDE_SERVER_THREAD_IDENTIFIERgt

ltLOGGING_INCLUDE_USER_IDENTIFIERgtYltLOGGING_INCLUDE_USER_IDENTIFIERgt

ltLOGGING_INCLUDE_CLASS_NAMEgtYltLOGGING_INCLUDE_CLASS_NAMEgt

ltBATCH_JOB_LOGGING_ACTION_ENABLEDgtYltBATCH_JOB_LOGGING_ACTION_ENABLEDgt

ltBATCH_JOB_LOGGING_DEBUG_ENABLEDgtNltBATCH_JOB_LOGGING_DEBUG_ENABLEDgt

ltBATCH_JOB_LOGGING_ERROR_ENABLEDgtYltBATCH_JOB_LOGGING_ERROR_ENABLEDgt

ltBATCH_JOB_LOGGING_INFO_ENABLEDgtYltBATCH_JOB_LOGGING_INFO_ENABLEDgt

ltBATCH_JOB_LOGGING_WARN_ENABLEDgtYltBATCH_JOB_LOGGING_WARN_ENABLEDgt

ltLOGGING_PROGRESS_ENABLEDgtYltLOGGING_PROGRESS_ENABLEDgt

ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt120ltLOGGING_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt60ltBATCH_PROGRESS_REPORT_INTERVAL_SECONDSgt

ltLOGGING_SERVER_METRICS_ENABLEDgtYltLOGGING_SERVER_METRICS_ENABLEDgt

ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt120ltLOGGING_SERVER_METRICS_INTERVAL_SECONDSgt

4 Creating and Scheduling a Batch Script Scheduling of batch import process basically involves creating a batch file (or shell script under Unix) which will set up appropriate CLASSPATH then invoke the java command and using a platform dependent scheduler to execute the batch file on a predefined schedule A sample batch file for windows platform is provided ndash copy and modify batchecosys_batch_templatebat as a starting point To run several import process simultaneously you will need to duplicate the above mentioned folder and script for each import job Since there will be a separate batch file for each process they can be scheduled to run separately or independent of each other 5 Generating XML for Import An XML generating utility is provided that can convert tabular text-based files into XML suitable for import into EcoSys EPC This step would be performed prior to invoking the import jobs described below To generate XML see the batchecosys_batch_templatebat file in the section called GenerateXML Refer to the EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for details on generating and importing XML

EcoSys EPC System Admin Topics Release 7604 Page 23 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Command Line Parameter Reference The following parameters need to be provided for the batch process

-a action -u user name -p password -f systemsettingsxml file

Action User Name Password Settings XML Additional Parameters

GenXML NA NA NA (refer to EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for parameters)

-a ImportActual -u username -p password -f settingsxml NA

-a ImportProject -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportReportDef -u username -p password -f settingsxml -importDir to specify the input definitions (required)

See Notes 4

-a ImportResource -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportXML -u username -p password -f settingsxml -xml path of xml file to import (required)

-a ImportDates -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportForecast -u username -p password -f settingsxml -cv cost object category_value_id (optional)

-a CloseoutMinorPeriod -u username -p password -f settingsxml

NA Note - when a close out is performed via the command line the application will not reflect the new minor period until both the Enterprise Data Cache (Global Type) has been refreshed and browsers for currently logged in userrsquos have refreshed An Enterprise Data Cache refresh can be forced by an administrator performing the following steps 1 Log into the EPC application 2 Go to System Information 3 Click the Cache Tab 4 Select Global Type in the Specify a

Data Cache to Refresh pick list 5 Click the Refresh Enterprise Data

Cache button 6 Each user in the application must

refresh their browser or log out and back in to see the new minor period

-a BulkCopy -u username -p password -f settingsxml NA

-a BulkPublish -u username -p password -f settingsxml NA

-a BulkRollup -u username -p password -f settingsxml NA

-a RunReportBatch -u username -p password NA -rb report batch short name (required)

-a RunAction -u username -p password -f settingsxml -action [action id or internal id] (required)

See Notes 3

-a RunActionBatch -u username -p password -f settingsxml -actionbatch [action id or internal id] (required)

See Notes 3

-a ImportCompletePercent -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportSpreadsheet -u username -p password NA See Notes 2

-a ExternalOperation -u username -p password -f settingsxml -o operation -xml param XML file See Notes 5

EcoSys EPC System Admin Topics Release 7604 Page 24 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

-a ImportCostAccount -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportRole -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportActivityCode -u username -p password -f settingsxml -ds datastore_id (required)

Note 1 The ndashDESFM_HOME= should refer to the new BATCH_HOME folder where the copy

of FMServerSettings and other files are being stored not the same ESFM_HOME folder where your application was originally installed since they may require different settings and options Note 2 For spreadsheet imports the following options apply -spreadsheet name or internal id of EPC spreadsheet (required) -file file path to excel spreadsheet you want to import (required) -format excelrdquo or ldquodelimited (default is ldquoexcelrdquo) -importLogic update or ldquoinsertrdquo or ldquoignorerdquo (default is ldquoinsertrdquo)

ldquoupdaterdquo means update existing rows

ldquoinsertrdquo means always insert as new

ldquoignorerdquo means ignore existing rows -runtimeparam ltparam namegt=ltparam valuegt (this parameter can appear multiple times on the command line as in bdquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc)

ltparam namegt must match the ID of a runtime parameter defined on the EPC spreadsheet

ltparam valuegt can either be the internal id or the short name of an EPC object Note 3 To use runtime parameters when running an action action batch or report batch from the command line simply add the params parameter to the command line arguments as inhelliprsquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc) Notes 4 set ACTION=ImportReportDef set ADDITIONAL_PARAMS=-importDir BATCH_HOMEimportreports For ACTION use ImportReportDefImportSpreadsheetDefImportFormulaDefImportActionDef depending upon SCARF element you want to import Notes 5 For external operations use ndasho to specify the name of the operation To pass in the parameters XML (overriding the defined parameters for that operation) use ndashxml followed by the name of the file containing the parameters XML 7 System Settings Input Value Reference The following list enumerates the input parameters used by batch processes These values will appear in the systemsettingsxml file automatically when exported from the GUI If you add or

edit them manually they need to be in XML tag format lttagnamegtvaluelttagnamegt

BULK COPY BULK_COPY_ROOT_SPREADSHEET_TYPE

BULK_COPY_SPREADSHEET_TYPE

BULK_COPY_TGT_SPREADSHEET_TYPE

BULK_COPY_SOURCE_VERSION

BULK_COPY_TARGET_VERSION

BULK_COPY_SOURCE_MAJORPERIOD

BULK_COPY_TARGET_MAJORPERIOD

BULK_COPY_SOURCE_VERSION_SHORT_NAME

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 23: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 23 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

6 Command Line Parameter Reference The following parameters need to be provided for the batch process

-a action -u user name -p password -f systemsettingsxml file

Action User Name Password Settings XML Additional Parameters

GenXML NA NA NA (refer to EcoSys EPC Integration Guide =gt Section A EXTERNAL DATA INTEGRATION for parameters)

-a ImportActual -u username -p password -f settingsxml NA

-a ImportProject -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportReportDef -u username -p password -f settingsxml -importDir to specify the input definitions (required)

See Notes 4

-a ImportResource -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportXML -u username -p password -f settingsxml -xml path of xml file to import (required)

-a ImportDates -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportForecast -u username -p password -f settingsxml -cv cost object category_value_id (optional)

-a CloseoutMinorPeriod -u username -p password -f settingsxml

NA Note - when a close out is performed via the command line the application will not reflect the new minor period until both the Enterprise Data Cache (Global Type) has been refreshed and browsers for currently logged in userrsquos have refreshed An Enterprise Data Cache refresh can be forced by an administrator performing the following steps 1 Log into the EPC application 2 Go to System Information 3 Click the Cache Tab 4 Select Global Type in the Specify a

Data Cache to Refresh pick list 5 Click the Refresh Enterprise Data

Cache button 6 Each user in the application must

refresh their browser or log out and back in to see the new minor period

-a BulkCopy -u username -p password -f settingsxml NA

-a BulkPublish -u username -p password -f settingsxml NA

-a BulkRollup -u username -p password -f settingsxml NA

-a RunReportBatch -u username -p password NA -rb report batch short name (required)

-a RunAction -u username -p password -f settingsxml -action [action id or internal id] (required)

See Notes 3

-a RunActionBatch -u username -p password -f settingsxml -actionbatch [action id or internal id] (required)

See Notes 3

-a ImportCompletePercent -u username -p password -f settingsxml -cv cost obj category_value_id (optional)

-a ImportSpreadsheet -u username -p password NA See Notes 2

-a ExternalOperation -u username -p password -f settingsxml -o operation -xml param XML file See Notes 5

EcoSys EPC System Admin Topics Release 7604 Page 24 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

-a ImportCostAccount -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportRole -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportActivityCode -u username -p password -f settingsxml -ds datastore_id (required)

Note 1 The ndashDESFM_HOME= should refer to the new BATCH_HOME folder where the copy

of FMServerSettings and other files are being stored not the same ESFM_HOME folder where your application was originally installed since they may require different settings and options Note 2 For spreadsheet imports the following options apply -spreadsheet name or internal id of EPC spreadsheet (required) -file file path to excel spreadsheet you want to import (required) -format excelrdquo or ldquodelimited (default is ldquoexcelrdquo) -importLogic update or ldquoinsertrdquo or ldquoignorerdquo (default is ldquoinsertrdquo)

ldquoupdaterdquo means update existing rows

ldquoinsertrdquo means always insert as new

ldquoignorerdquo means ignore existing rows -runtimeparam ltparam namegt=ltparam valuegt (this parameter can appear multiple times on the command line as in bdquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc)

ltparam namegt must match the ID of a runtime parameter defined on the EPC spreadsheet

ltparam valuegt can either be the internal id or the short name of an EPC object Note 3 To use runtime parameters when running an action action batch or report batch from the command line simply add the params parameter to the command line arguments as inhelliprsquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc) Notes 4 set ACTION=ImportReportDef set ADDITIONAL_PARAMS=-importDir BATCH_HOMEimportreports For ACTION use ImportReportDefImportSpreadsheetDefImportFormulaDefImportActionDef depending upon SCARF element you want to import Notes 5 For external operations use ndasho to specify the name of the operation To pass in the parameters XML (overriding the defined parameters for that operation) use ndashxml followed by the name of the file containing the parameters XML 7 System Settings Input Value Reference The following list enumerates the input parameters used by batch processes These values will appear in the systemsettingsxml file automatically when exported from the GUI If you add or

edit them manually they need to be in XML tag format lttagnamegtvaluelttagnamegt

BULK COPY BULK_COPY_ROOT_SPREADSHEET_TYPE

BULK_COPY_SPREADSHEET_TYPE

BULK_COPY_TGT_SPREADSHEET_TYPE

BULK_COPY_SOURCE_VERSION

BULK_COPY_TARGET_VERSION

BULK_COPY_SOURCE_MAJORPERIOD

BULK_COPY_TARGET_MAJORPERIOD

BULK_COPY_SOURCE_VERSION_SHORT_NAME

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 24: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 24 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

-a ImportCostAccount -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportRole -u username -p password -f settingsxml -ds datastore_id (required)

-a ImportActivityCode -u username -p password -f settingsxml -ds datastore_id (required)

Note 1 The ndashDESFM_HOME= should refer to the new BATCH_HOME folder where the copy

of FMServerSettings and other files are being stored not the same ESFM_HOME folder where your application was originally installed since they may require different settings and options Note 2 For spreadsheet imports the following options apply -spreadsheet name or internal id of EPC spreadsheet (required) -file file path to excel spreadsheet you want to import (required) -format excelrdquo or ldquodelimited (default is ldquoexcelrdquo) -importLogic update or ldquoinsertrdquo or ldquoignorerdquo (default is ldquoinsertrdquo)

ldquoupdaterdquo means update existing rows

ldquoinsertrdquo means always insert as new

ldquoignorerdquo means ignore existing rows -runtimeparam ltparam namegt=ltparam valuegt (this parameter can appear multiple times on the command line as in bdquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc)

ltparam namegt must match the ID of a runtime parameter defined on the EPC spreadsheet

ltparam valuegt can either be the internal id or the short name of an EPC object Note 3 To use runtime parameters when running an action action batch or report batch from the command line simply add the params parameter to the command line arguments as inhelliprsquo-runtimeparam ldquolocation=SArdquo ndashruntimeparam ldquoversion=345rdquo etc) Notes 4 set ACTION=ImportReportDef set ADDITIONAL_PARAMS=-importDir BATCH_HOMEimportreports For ACTION use ImportReportDefImportSpreadsheetDefImportFormulaDefImportActionDef depending upon SCARF element you want to import Notes 5 For external operations use ndasho to specify the name of the operation To pass in the parameters XML (overriding the defined parameters for that operation) use ndashxml followed by the name of the file containing the parameters XML 7 System Settings Input Value Reference The following list enumerates the input parameters used by batch processes These values will appear in the systemsettingsxml file automatically when exported from the GUI If you add or

edit them manually they need to be in XML tag format lttagnamegtvaluelttagnamegt

BULK COPY BULK_COPY_ROOT_SPREADSHEET_TYPE

BULK_COPY_SPREADSHEET_TYPE

BULK_COPY_TGT_SPREADSHEET_TYPE

BULK_COPY_SOURCE_VERSION

BULK_COPY_TARGET_VERSION

BULK_COPY_SOURCE_MAJORPERIOD

BULK_COPY_TARGET_MAJORPERIOD

BULK_COPY_SOURCE_VERSION_SHORT_NAME

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 25: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 25 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

BULK_COPY_TARGET_VERSION_SHORT_NAME

BULK_COPY_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_COPY_TARGET_MAJORPERIOD_SHORT_NAME

BULK_COPY_FUNDING_SOURCE_ID

BULK_COPY_FUNDING_SOURCE_SHORT_NAME

BULK_COPY_INCLUDE_FS_DESCENDANTS

BULK_COPY_CATEGORY_TYPE_ID

BULK_COPY_CATEGORY_TYPE_SHORT_NAME

BULK_COPY_ADJUST_VALUES_FLAG

BULK_COPY_ADJUST_VALUES_BY

BULK_COPY_DELETE_TARGET

BULK_COPY_RETAIN_STATUS

BULK_COPY_CO_STATUS_FILTER

BULK_COPY_CO_STATUS_FILTER_FLAG

BULK_COPY_CO_CAT_VAL_FILTER

BULK_COPY_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_COPY_CO_CAT_VAL_FILTER_FLAG

BULK_COPY_CO_FS_FILTER

BULK_COPY_CO_FS_FILTER_SHORT_NAME

BULK_COPY_CO_FS_FILTER_FLAG

BULK_COPY_CO_FS_FILTER_RELATION

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_ID

BULK_COPY_CO_FS_FILTER_RELATION_VERSION_SHO

RT_NAME

BULK_COPY_PHASE_FILTER

BULK_COPY_PHASE_FILTER_SHORT_NAME

BULK_COPY_PHASE_FILTER_FLAG

BULK_COPY_NUM_MAJOR_PERIOD

BULK PUBLISH BULK_PUBLISH_SOURCE_VERSION

BULK_PUBLISH_TARGET_VERSION

BULK_PUBLISH_SOURCE_MAJORPERIOD

BULK_PUBLISH_TARGET_MAJORPERIOD

BULK_PUBLISH_SOURCE_VERSION_SHORT_NAME

BULK_PUBLISH_TARGET_VERSION_SHORT_NAME

BULK_PUBLISH_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_TARGET_MAJORPERIOD_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER

BULK_PUBLISH_CO_FS_FILTER

BULK_PUBLISH_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_PUBLISH_CO_FS_FILTER_SHORT_NAME

BULK_PUBLISH_CO_STATUS_FILTER_FLAG

BULK_PUBLISH_CO_CAT_VAL_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_FLAG

BULK_PUBLISH_CO_FS_FILTER_RELATION

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

ID

BULK_PUBLISH_CO_FS_FILTER_RELATION_VERSION_

SHORT_NAME

BULK_PUBLISH_PHASE_FILTER

BULK_PUBLISH_PHASE_FILTER_SHORT_NAME

BULK_PUBLISH_PHASE_FILTER_FLAG

BULK_PUBLISH_CURRENT_PHASE_ONLY

BULK_PUBLISH_NUM_MAJOR_PERIOD

BULK ROLLUP BULK_ROLLUP_SPREADSHEET_TYPE

BULK_ROLLUP_TGT_SPREADSHEET_TYPE

BULK_ROLLUP_SOURCE_VERSION

BULK_ROLLUP_TARGET_VERSION

BULK_ROLLUP_SOURCE_MAJORPERIOD

BULK_ROLLUP_TARGET_MAJORPERIOD

BULK_ROLLUP_SOURCE_VERSION_SHORT_NAME

BULK_ROLLUP_TARGET_VERSION_SHORT_NAME

BULK_ROLLUP_SOURCE_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_TARGET_MAJORPERIOD_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER

BULK_ROLLUP_CO_FS_FILTER

BULK_ROLLUP_CO_CAT_VAL_FILTER_SHORT_NAME

BULK_ROLLUP_CO_FS_FILTER_SHORT_NAME

BULK_ROLLUP_CO_STATUS_FILTER_FLAG

BULK_ROLLUP_CO_CAT_VAL_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_FLAG

BULK_ROLLUP_CO_FS_FILTER_RELATION

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_I

D

BULK_ROLLUP_CO_FS_FILTER_RELATION_VERSION_S

HORT_NAME

BULK_ROLLUP_TO_FS_OWNER_ONLY

BULK_ROLLUP_FUNDING_SOURCE_ID

BULK_ROLLUP_FUNDING_SOURCE_SHORT_NAME

BULK_ROLLUP_INCLUDE_FS_DESCENDANTS

BULK_ROLLUP_NUM_MAJOR_PERIOD

System Maintenance Backups and Migration Overview Considerations for system maintenance backups and migration of an existing EcoSys EPC installation 1 System Maintenance

The primary data repository for EcoSys EPC is the ESFM database Normal maintenance for the related database platform (Oracle or SQL Server) is all that is required Please consult with your database administrators

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 26: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 26 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Backups

1 Database All live data in the EcoSys EPC system is stored in the ESFM database Your database administrator should configure backups of this database in accordance with your sitersquos backup policies It is recommended to take at least nightly snapshots of the data and verify that they can be restored in the case of hardware failure or user error

2 Configuration Files The configuration files under the ESFM_HOME folder on the application server should also be backed up whenever they are modified This will facilitate reconstructing an installation if ever needed

3 Migration

When migrating an existing EcoSys EPC installation to another environment the following considerations may be useful 1 Database A database-level backup and restore can be used to move EcoSys EPC data

from one instance to another Alternatively you can use the Database XML Utility (see section above) for this purpose

2 Configuration Files Copying the contents of the ESFM_HOME folder to the target environment will save time in a migration Make sure your system administrator reviews the contents and settings in FMServerSettingsproperties to adjust them for the target environment Some of the settings reference specific database row id values which must be updated to match the new database

3 License Files Note that you must adhere to the contractual terms of the sale if you are redeploying an existing license file

4 Primavera Integration API It is recommended that you run the Primavera Integration APIrsquos configuration tool after ghosting or cloning an existing server so that the new server properly connects to the target Primavera database

4 Purging Batch Job Logs In order to purge historical batch job logs from the database a utility script is provided in the utils folder Refer to the comments within this script for how to use it and execute it against your database as needed For Oracle Databases

databaseoracleutilsfm_or_delete_batchjob_recordssql

For SQLServer Databases

databasesqlserverutilsfm_ss_delete_batchjob_recordssql

Troubleshooting and Technical Support Technical Support You may contact EcoSys Technical Support by phone at +1 (914) 304-5051

or by email at supportecosysnet Troubleshooting Guidelines If you encounter a technical issue when using EcoSys EPC or if you are supporting users of the system please direct the user to provide the following information

1 A description of the task they were trying to perform including the steps leading up to it and the details of the data

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 27: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 27 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 The details of the result or error If an error message is displayed please click ldquoMore Infordquo and then copypaste the entire page into an email message for the support representative

3 The details from the ldquoSystem Infordquo page accessible via the tools icon on the toolbar when

logged into EcoSys EPC 4 Information how to contact you regarding the issue and the issuersquos severity level and

impact Server Logs and Environment A system administrator can gather additional information from the server that may help in troubleshooting a given issue Here are the components to gather

Application log file Typically named ESFM-Applicationlog this file contains application-level information directly from the server Its location is determined by an entry in ESFM_HOMElog4jproperties

System out and error logs Typically named systemout and systemerr or stdout and sderr and native_stderr these files are written by your application server and may reside in a folder called lsquologrsquo

Settings files The main file of interest is FMServerSettingsproperties which resides in ESFM_HOME

Batch scripts If you are troubleshooting a batch job include a copy of the script that launches the batch job

Operating system status Check the memory usage and paging on the server using either Task Manager on Windows or lsquopsrsquo and lsquovmstatrsquo on Unix Specifically of interest is the overall free memory paging file usage and process size for the lsquojavarsquo process running the application server

Performance considerations

EcoSys Performance Tuning Guide The sections below outline a few key performance considerations However for a comprehensive review of performance scalability and sizing issues please refer to the EcoSys Performance Tuning Guide You main obtain the guide from the EcoSys support channel Java Heap tuning The maximum heap size of a Java application is limited by three factors The CPU (32 bit or 64 bit) and the associated operating system limitations the amount of virtual memory available on the system and the amount of physical memory available on the system

For 32 bit CPUs the maximum heap size is typically 1400MB

For 64 bit CPUs the maximum will depend on how much available virtual memory the operating system has If the server is dedicated to a single application the maximum heap size can be set to the physical memory size minus about 800MB ndash 10GB for the operating

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 28: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 28 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

system

It is imperative that the heap always stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the heap first check how much RAM the OS and other processes are consuming and add 20-30 as a precaution then allocate the remainder to the heap See few examples in the table below

Total RAM

Used by OS and other

processes

CPU Free RAM Recommended Heap

6000MB 2500MB 64 Bit 3500MB 3000MB

8000MB 3000MB 64 Bit 5000MB 4000MB

It is good practice to set the minimum -Xms and maximum -Xmx heap sizes to the same value in order to remove sizing decision from the virtual machine and improve performance predictability

64 bit - To allow EcoSys EPC to use memory above the 32 bit limitation on a 64 bit system

yoursquoll need to change the lsquoserverhas32BitLimitOnHeapSize parameter in the

ESFM_HOMEFMServerSettingsproperties file to false

serverhas32BitLimitOnHeapSize=false Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Java heap settings Tuning Oracle for EcoSys EPC Oracle settings differ from one environment to another and depend on the hardware memory availability OS system processes and the load on the server It is imperative that the SGA size (sga_max_size) stays in physical memory as committing too much of a systems physical memory is likely to result in paging of virtual memory to disk leading to significant performance degradation In order to decide how much memory to allocate to the SGA first check how much RAM the OS and other processes are consuming and add 30-40 as a precaution you can allocate the remainder to sga_max_size The recommended settings in the table below should work well for most implementations setting these settings incorrectly may cause the database server not to start Please contact EcoSys support to discuss your specific environment and needs

Parameter Default Recommended Notes

open_cursors 300 1000-3000 Maximum number of cursors

each session can have open

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 29: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 29 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

session_cached_cursors 20 150 specifies the number of session

cursors to cache

Processes 500 5000 Number of allowed Oracle

sessions

sga_max_size 284M 2000M-5000M Structural memory area that

facilitates the transfer of data and

information between clients and

the Oracle database

sga_target_size 284M 2000M-5000M sga_target_size should be

smaller or equal to

sga_max_size

db_file_multiblock_read_count 16 128 Only for Oracle 9i - Maximum

number of database blocks read

in one IO operation during a full

table scan In Oracle 10g and

later this parameter is set

automatically ndash it is critical that

this parameter is NOT set for

these versions

Updating EPC Database Statistics

To provide the optimizer with accurate information for determining an optimal access plan update the statistics on all tables and indexes on a regular basis at least once per week especially if significant update activity has occurred since the last statistic update In regards to Oracle it is also recommended to flush the database buffer cache after updating the schema statistics Oracle Execute the following as the SYSTEM or SYS user to create the scheduled jobs The datetime can be modified to fit your schedule For your convenience the script name fm_or_job_update_statssql is located in the EcoSys EPC application package under databaseoracleutils Update EPC Statistics Every Saturday at 200 am begin dbms_schedulercreate_job ( job_name =gt EPC_STATS_REFRESH

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 30: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 30 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

job_type =gt PLSQL_BLOCK job_action =gt begin DBMS_STATSGATHER_SCHEMA_STATS(ownname =gt FMADMIN cascade =gttrueestimate_percent =gt NULL)END start_date =gt trunc(sysdate) + 224 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=2 BYMINUTE=0 BYSECOND=0 comments =gt Gather stats on EPC tables at 2am every Saturday end_date =gt NULL enabled =gt true ) END Flush DB Buffer_Cache Every Saturday at 400 am CREATE OR REPLACE PROCEDURE FLUSH_BUFFER AS BEGIN EXECUTE IMMEDIATE ALTER SYSTEM FLUSH BUFFER_CACHE END begin dbms_schedulercreate_job ( job_name =gt EPC_FLUSH_BUFFERS job_type =gt PLSQL_BLOCK job_action =gt begin FLUSH_BUFFEREND start_date =gt trunc(sysdate) + 424 repeat_interval =gt FREQ=DAILY BYDAY=SAT BYHOUR=4 BYMINUTE=0 BYSECOND=0 comments =gt Flush DB Buffer Cache at 4am every Saturday end_date =gt NULL enabled =gt true ) END

SQL Server

Run the following script manually or create a new T-SQL maintenance plan and paste the code into the script section Schedule for at least once per week SQL Server Agent must be installed and running For your convenience the script name fm_ss_job_update_statssql is located in the EcoSys EPC application package under databasesqlserverutils sp_MSforeachdb command1= USE IF ( IN (esfm)) BEGIN EXEC sp_createstats DECLARE tbls TABLE (rowId INT IDENTITY(11) tblschema NVARCHAR(128) tblname NVARCHAR(128)) DECLARE stmt NVARCHAR(2000) rowId INT maxRowId INT tblschema NVARCHAR(128) tblname NVARCHAR(128) INSERT INTO tbls (tblschema tblname) SELECT table_schema table_name FROM INFORMATION_SCHEMATABLES WHERE table_type=BASE TABLE SELECT rowId = MIN(rowId) maxRowId = MAX(rowId) FROM tbls WHILE rowId lt= maxRowId BEGIN SELECT tblschema = tblschema tblname = tblname FROM tbls WHERE rowId = rowId SET stmt = UPDATE STATISTICS + [ + tblschema + ][ + tblname + ] PRINT + stmt EXECUTE (stmt) SET rowId = rowId + 1 END END

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 31: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 31 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Anti-Virus Exclusions

Anti-Virus on the Application Server It is important to achieve a balance between ensuring a secure and virus free server environment while also not interfering with reliability and performance of the application Running anti-virus programs on the application server that actively scan application data or file access for the EcoSys EPC application has been observed to significantly degrade overall performance To ensure stable performance EcoSys recommends excluding the following

Exclude the EcoSys EPC batch jobs folder on the application server (for eg cEcoSysbatch)

Exclude the EcoSys EPC log folder on the application server (for eg cEcoSyslog)

Anti-Virus on Client Workstations Anti-virus programs that scan web content such as XML often significantly degrades GUI performance in the browser For this reason it is recommended that client-side anti-virus programs be configured to exclude web pages and data loaded from the EcoSys EPC application servers To ensure stable performance EcoSys recommends excluding the following

Exclude EcoSys EPC application URL for all users (for eg httpecosyscustomercomecosys)

Configuring Portlets for Primavera Web

EcoSys EPC reports and spreadsheets can be displayed as a portlet inside of Primavera Web (version 6 and above) Supported configurations include

Displaying an EcoSys EPC screen (eg spreadsheet report form screen layout) in the Primavera Web project or user workspaces

Displaying an editable EcoSys EPC cost object forecast spreadsheet in the Primavera Web project workspace

To configure a portlet view in Primavera Web log into Primavera Web and navigate to the User Workspace or Project Workspace screens Click ldquoCustomizerdquo and expand the ldquoCustom Portletsrdquo section Define a custom portlet using the URL from your working EcoSys EPC installation

The URLs for the EcoSys EPC portlet must be modified to contain additional parameters Use the templates below substituting the server name and port number for your own

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 32: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 32 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When you first display the portlet it will prompt you for your EcoSys EPC username and password You may choose to save those credentials for some amount of time so as not to be prompted each time the page

displays Your credentials are stored in encrypted format in a browser cookie URL for Report Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=2432

1 Replace server name and port number to match your EcoSys EPC installation 2 Replace layout ID with the desired numeric layout ID (the layout ID can be found by navigating to

the desired screen in EPC and taking the value specified in ldquolayoutID=rdquo contained in the URL of the browser)

URL for Cost Object Forecast Portlet (User or Project Workspace)

httpmyserverportecosysindexactionisPortal=trueamplayoutId=110ampprojid=P

ROJ_ID

1 Replace server name and port number to match your EcoSys EPC installation

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 33: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 33 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Oracle 11201 Compatibility

Optimizer features

A bug was introduced in Oracle 11201 which impacts sub-queries resulting in an Oracle core dump during

execution

There two possible workarounds

Option 1 Edit FMServersettingsproperties (located under the ESFM_HOME directory) and search for the section below then uncomment the last two lines as shown below

Oracle 11201 issue workaround to force running subqueries in compatibility mode

The default is false

databaseuseConnectionInitSQL=true

databaseconnectionInitSQL=alter session set optimizer_features_enable=11106

Option 2

Enable optimizer features as Oracle 111 directly on the database by running the following command as SYS

or SYSTEM

alter system set optimizer_features_enable=11106 scope=both

Enhance database query performance

For Oracle 112 and above we have introduced the use of materialized view to enhance database query

performance

You would need to run the optional script fm_or_materializedview_0600_0001_to_0600_0002sql to create

the materialized view on the base tables (script is located within the EPC package under

databaseoracleupgrades)

In order for EPC to utilize these materialized view you must also set the following parameter to true If this

setting is set to false or does not exist materialized views will not be used

databaseuseMaterializedViews=true

Refer to the EcoSys Performance Tuning Guide for more detailed guidance on Oracle settings

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 34: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 34 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Encrypting Integration and database credentials Storage of System Connection Credentials Credentials for integration interfaces and database connections are stored in EcoSys in one of two formats plaintext (human readable) or encrypted These are stored in configuration files such as FMServerSettingsproperties or connection settings such as external system connection parameter XML Encryption is supported for the following integration credentials

a Command line batch parameters for application username and password (specified on the command line via scripts)

b Primavera P6 service account username and password (stored in FMServersettingsproperties)

c Web service application username and password (stored in FMServersettingsproperties) d SAP Adaptor service account username and password (configured in the external system

XML via the UI) e POP3 and SMTP credentials in the FMServersettingsproperties

In each of these cases the credentials may be specified in either plaintext or encrypted format at the administratorrsquos choice NOTE Application user passwords are stored in the EcoSys EPC database using a 1-way hash function and are never decrypted These are not related to the password encryption described here How to Generate Encrypted Credentials

1 Encryption Utility Screen To encrypt a username or a password go to the System Utilities page in EcoSys EPC Type the text you wish to encrypt in the lsquoClear textrsquo line Click the lsquoEncryptrsquo button The result text box will return the corresponding cipher text output

2 Cipher text data format To use the cipher text replace the string lsquocipher value herersquo with your result text CIPHERTEXTcipher value here For this example CIPHERTEXTcipher value here becomes CIPHERTEXT bMQQAKwpe1o= Use this full string in place of the user name andor password in the FMServersettingsproperties file as the example shows below

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 35: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 35 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

An example of an encrypted password in FMServersettingsproperties

datasourceJDBCPass=CIPHERTEXTOPkMIGyinr2t5K+UGZnpPg=

An example of a non-encrypted password

datasourceJDBCPass=fmuser

When the application reads any setting the integration credentials it will decrypt any value identified by the CIPHERTEXT marker If no marker exists the string is assumed to be an unencrypted value

Server Keyphrase

EcoSys EPC generates a secret key using a default passphrase If a given installation requires higher

security via a unique encryption key you may modify the passphrase by adding the setting

serverkeyphrase=passphrase in the FMServersettingsproperties configuration file You may use a

passphrase of any value or length for this setting

Example

serverkeyphrase=2Q1H14kxq96846637829iR83M

If you are using a non-default passphrase you would need to add this property fin each FMServersettingsproperties file (application servers and batch jobs FMServersettingsproperties files)

Configuring Email Notifications EcoSys EPC can be configured to trigger email notifications using SCARF actions The following needs to be set in the FMServerSettingsproperties under ldquoEmail Notification Settingsrdquo The required fields are listed below Email server hostname

emailServerHostName=mailserver

Username for email account authentication

emailUserName=emailuserId

Password for email account authentication

emailUserPassword=emailUserPassword

The username and password for sending email account can be encrypted as per the sections Encrypting Integration and database credentials

The optional fields are commented out by default and are listed below

Email server SMTP port

emailServerHostPort=25

Javamail SSL factory port number

emailSSLFactoryPort=465

SMTP mail security

emailSecurityType=PLAINSSLTSL

Max size of email including attachments in bytes

emailMaxSizeBytes=10000

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 36: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 36 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Max number of emails an action can send without report attachments

emailMaxSendCountWithoutReport=1000

Max number of emails an action can send with report attachments

emailMaxSendCountWithReport=100

Number of days send email log will be retained

emailLogRetentionDays=90

Direct Category For a transaction category (type) you wish to convert to be a lsquodirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToDirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter For a transaction category (type) you wish to convert back to be a regular or lsquoindirect categoryrsquo do the following

1 Obtain the categoryrsquos ID (short_name) value 2 Log into the database as the database admin 3 Execute the stored procedure lsquoConvertTranCategoryToIndirectrsquo passing in the categoryrsquos ID

(short_name) value as the sole parameter The list of category types that are in direct mode is displayed in the System Info gt System Configuration screen under the ldquoDatabase Structurerdquo section This information is also written to the application log file upon startup

Syntax for execution Oracle Execution (as FMADMIN)

exec ConvertTranCategoryToDirect(lsquoltcategory type short namegtrsquo)

exec ConvertTranCategoryToIndirect(lsquoltcategory type short namegtrsquo)

SQL Server Execution

exec FMUSERConvertTranCategoryToDirectlsquoltcategory type short namegtrsquo

exec FMUSERConvertTranCategoryToIndirectlsquoltcategory type short namegtrsquo

Custom Time Period In order to insert a new custom time period do the following

1 Log into the database as the database admin 2 Execute the stored procedure lsquoInsertCustomTimePeriodrsquo 3 Restart the application server

In order to drop an existing custom time period do the following

1 Log into the database as the database admin

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 37: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 37 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

2 Execute the stored procedure lsquoDropCustomTimePeriodrsquo passing in the existing custom time period column name as the sole parameter

3 Restart the application server

Syntax for execution Oracle Execution (as FMADMIN)

exec InsertCustomTimePeriod exec DropCustomTimePeriod (lsquoexisting custom time periodrsquo)

SQL Server Execution

exec FMUSER InsertCustomTimePeriod

exec FMUSER DropCustomTimePeriod lsquoexisting custom time periodrsquo

EPC Application Server Clustering

Overview The multi-server clustering feature in EcoSys EPC provides application-level synchronization among application server instances sharing a single database This clustering is independent from Java application server clustering operating system-level clustering and database clustering Java application server clustering is not recommended where EcoSys EPC application clustering is active EcoSys EPC application clustering is not intended to address fault tolerance or intra-session load balancing

FIGURE 1 MULTI-SERVER CLUSTER

Clustering Functionality

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 38: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 38 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

When two or more EPC servers are configured in a cluster each server is configured to be able to communicate with the others In this mode changes made to any one of the global caches (ldquoenterprise datardquo) on an EPC server will automatically inform the other servers in the cluster about the change via inter-server messaging This messaging is throttled by default on a 5-second delay (configurable) so any change on one server will appear on the others in under 5 seconds This data synchronization applies to globally cached data including

Global types Custom field types and assignments Cost object types Organization types Rate

types Rate tables Version types Category types Cost Accounts Funding types

Other global system settings

Organizations

Versions

Cost objects when in global caching mode (ldquoCS_Globalrdquo) in request caching mode (ldquoCS_Requestrdquo)

this feature does not apply to cost objects

Multi-server clustering is configured in FMServerSettingsproperties (see the admin and installation documents for details) and the healthstatus of the cluster is visualized in System Info gt Cluster Command line batch jobs can participate in the cluster in a notify-only mode so updates made there appear in the cluster immediately

Cluster Requirements EcoSys EPC supports load balancing with the following requirements

1 The load balancer or proxy in front of the application servers must be configured for sticky sessions

2 There must not be an artificial HTTP timeout enforced for connections between the load balancer

and application instances

3 The application servers in a single cluster must be able to make HTTP requests among each other

4 The application servers in a single cluster must be running all the same version of EcoSys EPC

Configuration and Related Settings The following shows an example configuration in FMServerSettingsproperties Note that for each server participating in the cluster they each must

1 Share the same cluster name settings

2 Share the same cluster security token value (any string)

3 Be configured with the same list of cluster members and their application URLs (direct links not via

load balancer or proxy)

4 Have a unique value for ldquoclusterthisServerIdrdquo identifying which member of the cluster it is This

value must match one of the members of the cluster list

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 39: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 39 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Example cluster settings

Example cluster configuration

Common settings (match across all members)

clustername=PRODUCTION

clustersecurityToken=2468ACEGXZ

clusterserverPROD_A=httpprod_amycorplocal8080ecosys

clusterserverPROD_B=httpprod_bmycorplocal8080ecosys

clusterserverPROD_C=httpprod_cmycorplocal8080ecosys

Unique setting (identifies this server)

clusterthisServerId=PROD_A

It is not recommended to adjust the cluster message throttles or other tuning parameters without a specific recommendation from EcoSys support staff

Query Cache Configuration EcoSys EPC has a lower level cache than the enterprise data cache that is used for short-lived optimization of database queries When using a single application server it is suitable to set the query cache expiry at 5 or 10 minutes However in the presence of multiple application servers sharing a database the query cache can result in stale data being displayed For this reason it is recommended to reduce the query cache expiry time when in a clustered environment A setting of 300 seconds is recommended

query cache expiry seconds (how long queries should be cached)

recommended value = 600 seconds or 300 for clustered mode

databasequerycacheexpirationSeconds=300

Note the query cache covers only certain subject areas (not transactional data) and thus is infrequently out of sync and only for short periods In practice this is not a significant impact to users accessing a clustered environment

FIGURE 2 CACHING LAYERS

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 40: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 40 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Command Line Batch Job and API Calls For command line batch jobs using ldquoecosysjarrdquo and sharing a database with one or more application instances the command line batch configuration can be set up to notify the cluster when it completes This is a one-way communication since the command line job is transient and thus does not process notifications from other nodes It is recommended to configure cluster sync from command line batch jobs that modify global type data so that the live instances on the same database can update when the job completes Use the same settings in FMServerSettingsproperties as used on other cluster members with the ldquothisServerIdrdquo value set to something For API calls to a clustered environment no additional configuration is needed The EcoSys web service API is processed through the same engine and caching layers as the web application and so cluster sync messages are processed in the same way

Troubleshooting Three areas of the EPC application can be useful when troubleshooting a cluster configuration

1) The application log under Admin gt Display Log includes messages about cluster configuration and

issues with inter-server communication Filter on the term lsquoclusterrsquo to match related events

2) The System Info gt System Configuration report in the EcoSys EPC UI shows the details of the

active cluster configuration

3) The System Info gt Cluster screen shows a live status of the cluster configuration This shows

which servers are joined to the cluster and basic version and status information about each one

FIGURE 3 MULTI-SERVER CLUSTER

If multiple application servers are sharing a database but are not properly configured in an EcoSys EPC cluster cached data types (see list above) can be out of sync across servers with some servers presenting stale data with respect to the database and other servers

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 41: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 41 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

EPC Log Analysis from Command Line

Why Use the Log Analyzer

The purpose of this utility is to be able to generate excel log analysis files from text log files The excel

analysis creates multiple worksheets separating each type of information Log Analysis can be currently

run from the EcoSys UI for the latest 2 log files Log Analysis can also be executed on the command line

using EcoSys batch in order to generate log analysis for multiple files or a specific file

How to Run from Command Line

Running the log analyzer from the command line is a convenient way to analyze EcoSys log files without

having to install EcoSys EPC or independently of the application server container

1 In the EcoSys distribution package locate the following folder and copy it to your target

machineserver in a separate folder

a batchlib

2 Create a new properties file with the name LogAnalyzerproperties file with the following contents

Make a note of the complete path of the properties file Modify the properties with the

appropriate file and folder names Use forward slash () as the file separator irrespective of

the OS

inputfilename=CEcoSyslogESFM-Applicationlog outputfilename= CEcoSyslogESFM-Application-Log-Analysisxls notes=Your Notes Here (Optional) environment=Your Environment (optional)

3 Open command prompt and navigate to the folder where the contents of the batchlib folder were

copied to For example cd CEcoSysbatchlib

4 Run the command java -classpath comecosysmgmtfmutilLogAnalyzer LogAnalyzerproperties

a Default heap size for any java program is 256 MB If a large log file is analyzed configure

min and max heap size appropriately

b Example java ndashXms1024m ndashXmx1024m-classpath comecosysmgmtfmutilLogAnalyzer

LogAnalyzerproperties

5 Once the analysis is completed excel log file is created in the folder configured in outputfilename

property

6 LogAnalyzerproperties file will be updated with some metrics information captured as part of log

analysis In order to generate log analysis for some other file 4 properties defined in Step 2 above

should be modified with the appropriate file and folder names All other entries in the properties file

will be automatically updated every time log analysis is run

How to Merge Multiple Files Log Analyzer from the command line can generate the excel analysis file using 1 text file as input In order to analyze multiple log files all of them should be merged into 1 single log file It is important to merge them in the correct order so that the timestamps of the log activity remain in order Otherwise log analyzer may show data incorrectly

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 42: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 42 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Following command can be helpful in creating 1 single log file from multiple log files It is required for the file names to be in the reverse order of creation Last log file should be first in the list of files to be copied In order to merge files from command prompt open command prompt change directory to the folder where all the raw log files are saved Following is an example command to merge 4 log files into 1 copy b ESFM-Applicationlog3+ESFM-Applicationlog2+ESFM-Applicationlog1+ESFM-Applicationlog ALL_Logslog Yellow highlighted text is the command to copy multiple files in binary mode Green highlighted text has the list of files to be merged This is where it is important to maintain the correct order of the files Blue highlighted text is the name of the merged file where all the contents will be copied to

Configuring Email Interfaces for EcoSys EPC

Summary

In EcoSys EPC email is used for these functions

Outbound (via SMTP)

Notifications send reports and notifications from email actions to any recipient(s)

Workflow prompts send requests for input from email actions to EcoSys users

Inbound (via polling a dedicated POP3 mailbox)

Workflow responses sent by EcoSys users to an instance of EPC to invoke a workflow step

To use inbound email your IT staff will need to provide a dedicated POP3 mailbox and associated

credentials for EcoSys EPC to use

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 43: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 43 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

Workflow Messaging

Workflow Messaging Flow

Outbound (SMTP) Email Settings and Troubleshooting

Required settings

Email server host name required emailServerHostName=smtpServerHostName

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit user name for email account authentication optional supports encrypted username No authentication will be performed if user name is not provided and its assumed anonymous mail send is supported on the server emailUserName=emailuserId password for email account authentication optional supports encrypted password emailUserPassword=emailUserPassword standard practice is to not provide any port numbers java mail API can normally resolve the correct port number to use Email server SMTP port emailServerHostPort=25 javamail ssl factory port number emailSSLFactoryPort=465

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 44: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 44 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

SMTP mail security optional Javamail normally resolves the server type without explicit configuration (valid values are PLAIN SSL TSL) emailSecurityType= senders name to use for outgoing notifications and workflow prompts mailsystemsendername=EcoSys EPC

Threshold Settings

Use these settings only if needed to limit the sizequantity of email messages and logs outside of the

default behavior max size of email including attachments in bytes emailMaxSizeBytes=10000 max number of emails an action can send without report attachments emailMaxSendCountWithoutReport=1000 max number of emails an action can send with report attachments emailMaxSendCountWithReport=100 number of days send email log will be retained emailLogRetentionDays=90

Troubleshooting

Failures to send outgoing messages via SMTP will be logged in the batch job log for the action

attempting to send messages In most cases the error message will be sufficient to lead to the

solution If additional detail is needed debug messages for the SMTP protocol can be enabled

using this setting enable logging of java mail debug messages default is false emailEnableDebugMessages=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Inbound (POP3) Email Settings and Troubleshooting

Required settings

If your instance of EcoSys EPC should process inbound email messages the following settings are

required

NOTE In a multi-server clustered EcoSys EPC environment only one of the application servers in

the cluster should be configured for POP3 mail polling while all of them should be configured for

outbound SMTP mail sending enable incoming (POP3) mail polling (default is false) mailpollingpop3enabled=true credentials (username and password) for accessing the POP3 server (required) (supports CIPHERTEXT syntax for encrypted passwords) mailpollingpop3username=myusername mailpollingpop3password=mypassword host and port number for POP3 mail server (host is required port defaults to 110) note any settings prefixed with mailpollingpop3 will be applied to the Java mail system as the corresponding mailpop3 properties for POP3 connections mailpop3host=myservercom mailpop3port=110 email address for dedicated POP3 mailbox - this address should be valid for all users

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true

Page 45: EcoSys EPC System Admin Topics Release 7.6.04 Topics for ... · EcoSys EPC System Admin Topics, Release 7.6.04 Page 4 of 45 Copyright © 2005-2017 EcoSys Management LLC All Rights

EcoSys EPC System Admin Topics Release 7604 Page 45 of 45 Copyright copy 2005-2017 EcoSys Management LLC All Rights Reserved Confidential and Proprietary Information

participating in email workflow and should be specific to this instance of EcoSys EPC (required) mailsystemreplytoaddress=EcoSysPRODmyservercom

Optional Settings

Use these settings only if needed to accommodate your email systemrsquos configuration otherwise

omit interval in seconds between polling the incoming POP3 mailbox (default is 120 seconds) mailpollingpop3intervalSeconds=120 enable STARTTLS for communication with POP3 server mailpop3starttlsenable=true protocol for POP3 mail polling (not recommended to change unless different from default pop3pop3s) mailpollingpop3protocol=pop3

Troubleshooting

Failures to receive and process inbound messages via POP3 will be logged in the application log

In most cases the error message will be sufficient to lead to the solution If additional detail is

needed debug messages for the POP3 protocol can be enabled using this setting enables detailed POP3 protocol logging use only for troubleshooting POP3 connections mailpollingpop3debugenabled=true

This setting is not recommended for normal production operation as it will produce verbose

logging

Email Workflow Functionality and Components

The following settings are optional and control aspects of the behavior for workflow email

messages acknowledge email workflow responses with email replies automatically (default is true) workflowemailacknowledgementenabled=true senders email address to use for outgoing notifications and workflow prompts (Its recommended to set this to an address that will not process replies but with a name that identifies the specific instance of EcoSys EPC Do not use the inbound POP3 mailbox since unrecognized replies will be ignored) mailsystemsenderaddress=noreplymycompanycom maximum length of subject line for workflow emails (default 120 characters) workflowemailsubjectlength=120 footer to append to workflow email messages workflowemailfootertext=NOTE do not reply to this email send workflow emails in HTML format (default is true) workflowemailhtmlformatenabled=true