Updated article version

Please find the updated version of this article for ECC v11 and ECC r12.2.13 here.


Introduction


This post describes Oracle Enterprise Command Center Framework (ECC) installation and configuration steps. It is not meant to replace MOS Doc ID 2495053.1, which is very good and detailed. We want to share our experience including faced errors and solutions.
And good news for those who like to see ECC in action. You can try it yourself in our demo environment. Just log in and choose Payables manager or Receivables manager responsibility and navigate to the command center menu entry.

Please also try Blitz Report which is the fastest way to export Oracle EBS data into Excel.

For upgrade instructions from ECC V2 to V3 please refer to this post.
For upgrade instructions from ECC V3 to V4 please refer to this post.

For ECC TLS/https with EBS configuration please refer to this post.

This video shows an example of following this post to configure a new ECC installation.

Operating System configuration


Supported OS versions:

Oracle Linux 7 or Red Hat Enterprise Linux 7 (64-bit)

It is recommended to use a  standalone server for the ECC installation though it is possible to perform installation on a EBS apps server.

Required OS resources

MOS Doc ID 2495053.1 provides table describing OS resources requirements. We started with minimal resources assignment as it can be easily changed for a virtual machine.

Number of users Number of records Number of Cores Required Memory
50 2 million 2 5 GB

Firewall settings

If you protect your servers using firewall, access to certain ports on the ECC server needs to be provided. If you are using OEL 7, firewall-cmd and switched to drop zone by default then following commands will allow connections from the EBS server to the admin and managed Weblogic servers ports:

firewall-cmd --permanent --zone=drop --add-rich-rule="rule family="ipv4" \
source address="192.168.1.2/32" \
port protocol="tcp" port="7775" accept"
 
firewall-cmd --permanent --zone=drop --add-rich-rule="rule family="ipv4" \
source address="192.168.1.2/32" \
port protocol="tcp" port="7776" accept"
 
firewall-cmd --reload

If you prefer to create new or modify existing zone instead of allowing separate ports you can use the following commands. The first command is required only if you are creating a new zone. Please replace ecc_zone to a required name of a zone and 192.168.1.2/32 to source IP address in your network.

firewall-cmd --permanent --new-zone=ecc_zone
firewall-cmd --permanent --zone=ecc_zone --add-source=192.168.1.2/32
firewall-cmd --permanent --zone=ecc_zone --add-port=7775/tcp
firewall-cmd --permanent --zone=ecc_zone --add-port=7776/tcp
firewall-cmd --reload
firewall-cmd --zone=ecc_zone --list-all

Please adjust zone name and a source address according to your environment.
If you decide to create ECC schema in EBS database, you will need to allow access from ECC server to EBS database port. Example of iptables command to achieve that which needs to be executed on the EBS server:

iptables -A INPUT -s 192.168.1.3/32 -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT

Cloud firewall configuration

If your servers are hosted on the cloud, then your hosting provider may provide additional web based firewall management. So even though you didn’t setup any firewall on the OS level, connections may be blocked by the cloud firewall. Please login to your cloud account and make sure that all required ports are open.

Network configuration

Configure hostname

[root@ecc ~]# hostname
ecc.localdomain

Ensure that it’s resolved into an IP address either by DNS or by adding an alias into /etc/hosts file.
Also make sure that ECC server can reach EBS server via hostname. Example of /etc/hosts file:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.0.1 ecc.localdomain ecc
192.168.1.2 demo.enginatics.com demo

Create OS users and groups

Our ECC installation is owned by oracle user and oinstall group:

groupadd oinstall
useradd -g oinstall oracle

Install additional OS packages

If you performed minimal Oracle Linux installation like I did, some required packages may be missing. Please install them using the following commands:

#psmisc provides fuser
yum install psmisc
#bind-utils provides host command
yum install bind-utils

Download and install quick install package


Create directory for ECC installation root. Example: /u01. It will be referred as $ECC_BASE

Download patch 28779983 from MOS
Unzip patch into a stage directory

unzip p28779983_R12_GENERIC.zip

Copy the .bsx file to the $ECC_BASE directory. Add executable permissions to it

chmod +x *.bsx

From $ECC_BASE directory, execute installer:

for f in *.bsx; do sh $f; done

Installer creates two directories:

insta_client: The SQL*Plus client directory
Oracle: Oracle Enterprise Command Center Framework quick install scripts and software

EBS 12.2.8 required patches


EBS patches need to be applied before configuring ECC. Below list of patches is specific for our EBS 12.2.8 instance as we have already applied some of the patches listed as required. First two patches: ATG consolidated patch and adapter patch are mandatory. Other patches depend on the products with Enterprise Command Centers that you want to use and installed languages.

You can refer to the following post to check if a EBS patch is applied.

Patches must be applied in the order below and shouldn’t be merged. I merged command center patches though after applying first two patches separately.

Please note that patch list is unique for every EBS instance and below patches shouldn’t be applied in your system blindly!

[-]28780020:R12.ATG_PF.C ATG consolidated patch for 12.2.8 release
[-]28780241:R12.ATG_PF.C. adapter patch
[-]28780031:R12.FIN_PF.C Financials consolidated patch.
[-]28816408:R12.CC_PF.C //Customer Relationship Management consolidated patch
[-]28779987:R12.PRC_PF.C // Procurement consolidated patch
[-]29008305:R12.PJ_PF.C // Projects  consolidated patch
[-]28780037:R12.SCM_PF.C //Supply Chain Management  consolidated patch
[-]29760524:R12.BOM.D // Supply Chain Management Command Centers required patch
[-]29551366:R12.FA.C // Oracle Assets Command Center required patch
[-]29622411:R12.PO.D // Oracle Contract Lifecycle Management for Public Sector Command Center
[-]29550207:R12.EAM.C // Oracle Enterprise Asset Management Command Center
[-]29551003:R12.ICX.D // Oracle iProcurement
[-]29551335:R12.AP.C // Oracle Payables Command Center
[-]28969483:R12.OKL.C // Oracle Lease and Finance Management Command Center
	[+]12.2.3
	[+]R12.AD.C.delta.7
	[+]19060002 //R12.FIN_PF.C.Delta.5
	[+]19245366 //R12.ATG_PF.C.Delta.5 Release
	[+]R12.TXK.C.delta.7
	[+]18106421:R12.XLA.C – Import AAD With Overwrite Option for FAH Customers (bug 18106421)
	[+]26922723:R12.FA.C - ALLOW FULL RETIREMENT OVERLAPPING ADJ WHEN AMORTIZED ADJUSTMENTS IN PRIOR 
	[+]27193501:R12.FA.C - CONTRACT ID IS BLANKED OUT AFTER PERFORMING UNPLANNED DEPRECIATION 
	[+]26962903:R12.FA.C - ALLOW CONTRACT ID UPDT SEPARATE FROM FINANCIAL ATTRIB UPDT FOR FULLY
	[-]27673594:R12.FA.C - TRANSFER INTO PARTIAL UNIT DISTRIBUTIONS IN ADDITION PERIOD YIELDS 
	[-]27839335:R12.FA.C - ERROR WHEN PERFORMING MULTIPLE COST AND UNIT ADJUSTMENT IN PERIOD OF
	[-]26437073:R12.AR.C - NOT ABLE TO APPLY AR PATCH 19663965:R12.AR.C
	[-]28528332:R12.OKL.C - WHEN APPLYING 12.2 UNIFIED PATCH, XLIFFLOADER.CLASS FAILED FOR ESA 
	[+]25467949:R12.OKS.C – USAGE LIMIT AND CONSOLIDATION BASED BILLING  (bug 25467949)
	[+]25609551:R12.OKS.C – USAGE LIMITAND CONSOLIDATION BASED BILLING PART 2 (bug 25609551)
	[+]25741450:R12.OKS.C – UNABLE TO ADD ASSET (COUNTER LINE) TO EXISTING USAGE ON AN ACTIVE 
	[+]23229913:R12.OKS.C - 12.1.3 -> 12.2.0 UPGRADE DRIVER WORKER FAILED OKSPDFSD.LDT 
	[+]25780023:R12.OKS.C - CONSOLIDATED GROUP BILLING IS NOT CONSIDER THE ROUND UP AMOUNT 
	[+]20515032:R12.OKS.C - OKS_ACTIVATE_CONTRACT_PUB.ACTIVATE_CONTRACT RETURN STATUS=W WHILE 
	[+]25962587:R12.OKC.C - INVALID VALUE FOR THE COLUMN LINE_RENEWAL_TYPE WHILE CALL OKS TERMINATION
	[+]26814339:R12.OKS.C - COUNTER BILLING AMOUNT FOR USAGE CONTRACTS IN PREVIEW MODE IS ALWAYS 
	[+]27667083:R12.OKS.C - E.TST1228:OKSHTMLUI:BILLING IS COMPLETED WITH WARNING WHEN CONSOLIDATION
[-]29359390:R12.ONT.C // Oracle Order Management Command Center with Order Management Release 12.2.4
[-]29602948:R12.GMO.C // Oracle Process Manufacturing Command Center
[-]29556032:R12.AR.C // Oracle Receivables Command Center
[-]29592222:R12.OKS.C // Oracle Service Contracts Command Center
[-]17361679:R12.ONT.C // Incremental load of data performance related patch
[-]19766498:R12.HZ.C // Incremental load of data performance related patch
[-]27073573:R12.INV.C // Incremental load of data performance related patch
[-]29419432:R12.JTT.C Patch for working in Arabic with ECC
[-]29179916 Customer Relationship Management help
[-]29179895 Financials online help
[-]29179889 procurement online help
[-]29179908 projects online help
[-]29179822 Supply Chain Management online help

Example of adop apply phase commands is presented below:

{ echo $appspass; echo $systempass; echo $wlspass; }| adop phase=apply patchtop=/backup/patches/EBS12.2/ECC patches=28780020,28780020_AR:u28780020.drv,28780020_F:u28780020.drv,28780241,28780241_AR:u28780241.drv,28780241_D:u28780241.drv,28780241_F:u28780241.drv,28780241_ZHS:u28780241.drv
 
{ echo $appspass; echo $systempass; echo $wlspass; }| adop phase=apply patchtop=/backup/patches/EBS12.2/ECC patches=29760524:u29760524.drv,29622411_ZHS:u29622411.drv,29622411_F:u29622411.drv,29622411_D:u29622411.drv,29622411_AR:u29622411.drv,29622411:u29622411.drv,29602948_ZHS:u29602948.drv,29602948_F:u29602948.drv,29602948_D:u29602948.drv,29602948_AR:u29602948.drv,29602948:u29602948.drv,29592222_ZHS:u29592222.drv,29592222_F:u29592222.drv,29592222_D:u29592222.drv,29592222_AR:u29592222.drv,29592222:u29592222.drv,29556032_ZHS:u29556032.drv,29556032_F:u29556032.drv,29556032_D:u29556032.drv,29556032_AR:u29556032.drv,29556032:u29556032.drv,29551366_ZHS:u29551366.drv,29551366_F:u29551366.drv,29551366_D:u29551366.drv,29551366_AR:u29551366.drv,29551366:u29551366.drv,29551335_ZHS:u29551335.drv,29551335_F:u29551335.drv,29551335_D:u29551335.drv,29551335_AR:u29551335.drv,29551335:u29551335.drv,29551003:u29551003.drv,29550207:u29550207.drv,29359390_ZHS:u29359390.drv,29359390_F:u29359390.drv,29359390_D:u29359390.drv,29359390_AR:u29359390.drv,29359390:u29359390.drv,29008305_ZHS:u29008305.drv,29008305_F:u29008305.drv,29008305_D:u29008305.drv,29008305_AR:u29008305.drv,29008305:u29008305.drv,28969483_ZHS:u28969483.drv,28969483_F:u28969483.drv,28969483_D:u28969483.drv,28969483_AR:u28969483.drv,28969483:u28969483.drv,28816408_ZHS:u28816408.drv,28816408_F:u28816408.drv,28816408_D:u28816408.drv,28816408_AR:u28816408.drv,28816408:u28816408.drv,28780037_ZHS:u28780037.drv,28780037_F:u28780037.drv,28780037_D:u28780037.drv,28780037_AR:u28780037.drv,28780037:u28780037.drv,28779987_ZHS:u28779987.drv,28779987_F:u28779987.drv,28779987_D:u28779987.drv,28779987_AR:u28779987.drv,28779987:u28779987.drv,28528332_ZHS:u28528332.drv,28528332_F:u28528332.drv,28528332_D:u28528332.drv,28528332_AR:u28528332.drv,28528332:u28528332.drv,27839335_ZHS:u27839335.drv,27839335_F:u27839335.drv,27839335_D:u27839335.drv,27839335_AR:u27839335.drv,27839335:u27839335.drv,27673594_ZHS:u27673594.drv,27673594_F:u27673594.drv,27673594_D:u27673594.drv,27673594_AR:u27673594.drv,27673594:u27673594.drv,27073573:u27073573.drv,26437073_ZHS:u26437073.drv,26437073_F:u26437073.drv,26437073_D:u26437073.drv,26437073_AR:u26437073.drv,26437073:u26437073.drv,19766498:u19766498.drv,17361679:u17361679.drv,28780031,28780031_AR:u28780031.drv,28780031_D:u28780031.drv,28780031_F:u28780031.drv,29419432,29179916,29179895,29179889,29179908,29179822  merge=yes

Configure the Oracle Enterprise Command Center installation


Database setup

ECC configuration includes setting up the database, ECC Framework and EBS integration.
For the full description of the parameters please refer to the Doc ID 2495053.1. I provide example config file below:

[oracle@ecc quickInstall]$ cat EccConfig.properties
 
# Path of the ECC directory
 
ECC_BASE=/u01
 
# Directory location of ecc-config.properties
ECC_CONFIG_LOC=$ECC_BASE/Oracle/quickInstall/env/ecc
 
# Log directories for ECC and SOLR
ECC_LOG_DIR=$ECC_BASE/Oracle/quickInstall/logs/ecc
 
# Ebs Middletier properties
 
EBS_MIDDLETIER_HOST_FQDN=demo.enginatics.com
EBS_MIDDLETIER_PORT=80
EBS_MIDDLETIER_PROTOCOL=http
 
# Ebs Middletier DB Details
 
EBS_DB_URL=jdbc:oracle:thin:@demo.enginatics.com:1521:EBSDB
EBS_DB_USERNAME=apps
EBS_ECC_USER=DEVELOPER
TIMEZONE=CET
 
# ECC DB Details
ECC_DB_URL=jdbc:oracle:thin:@demo.enginatics.com:1521:EBSDB
ECC_DB_USERNAME=ECC
ECC_HOST_NAME=ecc.enginatics.com
ECC_HOST_PROTOCOL=http
 
#Zookeeper host url
zkHost=localhost:2181/solr
#SECURITY_FILTER_ALLOWED_HOSTS=
# clustering mode enabled or standalone
CLUSTER_MODE=standalone
ECC_DATA_CACHE_SIZE=2000
 
ECC_ADMIN_PORT=7775
ECC_MANAGED_PORT=7776
ECC_ADMIN_SSL_PORT=7777
ECC_MANAGED_SSL_PORT=7778
 
#Heap Memory settings
ADMIN_HEAP_USER_MEM=1024M
MANAGED_HEAP_USER_MEM=2048M
 
ECC_DEFAULT_LANGUAGE=en
#ECC supported languages comma separated
ECC_LANGUAGES=en
 
#Dataset replication distributes complete copies of dataset index to one or more other servers.
#value 1 means no replication, value 2 means the index will be exist in two servers and so on
#DATASET_NUM_REPLICAS=
 
#options solr or olt
DATASET_ANALYZER_DEFAULT=solr
DATASET_ANALYZER_OVERRIDE_SOLR_DATASETS=
DATASET_ANALYZER_OVERRIDE_OLT_DATASETS=
CLUSTER_JPA_MANAGER=zookeeper

Run script to update environment file

$ECC_BASE/Oracle/quickInstall/createEnvFile.sh

Run envSetup.sh script

Choose option “1. Database Setup”

[oracle@ecc quickInstall]$ source ./env/ecc.env
[oracle@ecc quickInstall]$ ./envSetup.sh
 
Select which option you want to proceed with
 
1. Database Setup
 
2. Install Weblogic Server
 
3. Create ECC Domain
 
4. Create EBS JNDI
 
5. Integrate ECC with EBS
 
6. Exit:
 
1
 
Selected ECC DB is jdbc:oracle:thin:@demo.enginatics.com:1521:EBSDB
 
Is the user ECC existing in ECC database [y/n]? n
 
Enter the database system user name: system
 
Enter the database system password:
Enter the password for ECC DB user ECC (Passwords must be at least 8 characters long):
Confirm the password for user ECC :
Creating ECC...
ECC user created successfully
Creating ECC schema...
ECC schema created successfully

Verify connection to new ECC schema

sqlplus $ECC_DB_USER@\"$ECC_DB_CONNECTION\"
Enter password:
 
SQL*Plus: Release 12.2.0.1.0 Production on Fri May 31 17:38:20 2019
 
Copyright (c) 1982, 2016, Oracle.  All rights reserved.
 
Enter password:
Last Successful login time: Fri May 31 2019 14:54:54 +02:00
 
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
 
SQL> show user;
USER is "ECC"

Set Up Oracle Enterprise Command Center Framework

Choose options 2 and 3 to perform setup.
Example output is presented below:

Select which option you want to proceed with
 
1. Database Setup
 
2. Install Weblogic Server
 
3. Create ECC Domain
 
4. Create EBS JNDI
 
5. Integrate ECC with EBS
 
6. Exit:
 
2
Launcher log file is /tmp/OraInstall2019-05-24_09-46-46AM/launcher2019-05-24_09-46-46AM.log.
Extracting the installer . . . . . . . . . . . . . . . . . . . . Done
Checking if CPU speed is above 300 MHz. Actual 3696.282 MHz Passed
Checking swap space: must be greater than 512 MB. Actual 4087 MB Passed
Checking if this platform requires a 64-bit JVM. Actual 64 Passed (64-bit not required)
Checking temp space: must be greater than 300 MB. Actual 3506 MB Passed
Preparing to launch the Oracle Universal Installer from /tmp/OraInstall2019-05-24_09-46-46AM
Log: /tmp/OraInstall2019-05-24_09-46-46AM/install2019-05-24_09-46-46AM.log
Copyright (c) 1996, 2017, Oracle and/or its affiliates. All rights reserved.
Reading response file..
Skipping Software Updates
Starting check : CertifiedVersions
Expected result: One of oracle-6, oracle-7, redhat-7, redhat-6, SuSE-11, SuSE-12
Actual Result: oracle-7.6
Check complete. The overall result of this check is: Passed
CertifiedVersions Check: Success.
 
Starting check : CheckJDKVersion
Expected result: 1.8.0_131
Actual Result: 1.8.0_141
Check complete. The overall result of this check is: Passed
CheckJDKVersion Check: Success.
 
Validations are enabled for this session.
Verifying data
Copying Files
Percent Complete : 10
Percent Complete : 20
Percent Complete : 30
Percent Complete : 40
Percent Complete : 50
Percent Complete : 60
Percent Complete : 70
Percent Complete : 80
Percent Complete : 90
Percent Complete : 100
 
The installation of Oracle Fusion Middleware 12c WebLogic Server and Coherence 12.2.1.3.0 completed successfully.
Logs successfully copied to /u01/ecc_demo/Oracle/software/oraInventory/logs.

Issue

Faced following error during ECC Domain creation:

Connectiong to t3://localhost:7775 to create JNDI for url:jdbc:oracle:thin:@demo.enginatics.com:1521:EBSDB
Connecting to t3://localhost:7775 with userid weblogic ...
This Exception occurred at Mon May 27 10:05:45 CEST 2019.
javax.naming.CommunicationException: Failed to initialize JNDI context, tried 2 time or times totally, the interval of each time is 0ms.
t3://localhost:7775: Destination 0:0:0:0:0:0:0:1, 7775 unreachable.; nested exception is:
java.net.ConnectException: Connection refused (Connection refused); No available router to destination.; nested exception is:
java.rmi.ConnectException: No available router to destination. [Root exception is java.net.ConnectException: t3://localhost:7775: Destination 0:0:0:0:0:0:0:1, 7775 unreachable.; nested exception is:
java.net.ConnectException: Connection refused (Connection refused); No available router to destination.; nested exception is:
java.rmi.ConnectException: No available router to destination.]
Problem invoking WLST - Traceback (innermost last):
File "/u01/ecc_demo/Oracle/software/temp/createJndi.py", line 22, in ?
File "", line 19, in connect
File "", line 553, in raiseWLSTException
WLSTException: Error occurred while performing connect : Error getting the initial context. There is no server running at t3://localhost:7775 : Failed to initialize JNDI context, tried 2 time or times totally, the interval of each time is 0ms.
t3://localhost:7775: Destination 0:0:0:0:0:0:0:1, 7775 unreachable.; nested exception is:
java.net.ConnectException: Connection refused (Connection refused); No available router to destination.; nested exception is:
java.rmi.ConnectException: No available router to destination.
Use dumpStack() to view the full stacktrace :

Root cause

ECC domain wasn’t unpacked completely. Logfile didn’t show unpacking actually started:

<< read template from "/u01/ecc_demo/Oracle/software/weblogic/templates/ecc_domain_template.jar" >> succeed: read template from "/u01/ecc_demo/Oracle/software/weblogic/templates/ecc_domain_template.jar"
<< set config option JavaHome to "/u01/ecc_demo/Oracle/software/java/jdk" >> succeed: set config option JavaHome to "/u01/ecc_demo/Oracle/software/java/jdk"
<< set config option ServerStartMode to "prod" >> succeed: set config option ServerStartMode to "prod"
<< find Security "ecc_domain" as obj0
<< find Security "ecc_domain" as obj1
<< find Security "ecc_domain" as obj2
<< find Security!User "ecc_domain!weblogic" as obj3 >> succeed: find Security!User "ecc_domain!weblogic" as obj3
<< find User "weblogic" as obj4 >> succeed: find User "weblogic" as obj4

Password for ECC admin user weblogic contained 8 characters, but wasn’t secure enough. I added special character and number to password and script executed without the issue.

Ecc domain creation output

Select which option you want to proceed with
 
1. Database Setup
 
2. Install Weblogic Server
 
3. Create ECC Domain
 
4. Create EBS JNDI
 
5. Integrate ECC with EBS
 
6. Exit:
 
3
 
Enter the password for ECC DB user ECC :
Enter the password for ECC admin user weblogic (Passwords must be at least 8 characters long):
Confirm the password for ECC admin user weblogic :
Creating ECC Domain ...
 
Configuring the wallet
<< read template from "/u01/ecc_demo/Oracle/software/weblogic/templates/ecc_domain_template.jar" >> succeed: read template from "/u01/ecc_demo/Oracle/software/weblogic/templates/ecc_domain_template.jar"
<< set config option JavaHome to "/u01/ecc_demo/Oracle/software/java/jdk" >> succeed: set config option JavaHome to "/u01/ecc_demo/Oracle/software/java/jdk"
<< set config option ServerStartMode to "prod" >> succeed: set config option ServerStartMode to "prod"
<< find Security "ecc_domain" as obj0
<< find Security "ecc_domain" as obj1
<< find Security "ecc_domain" as obj2
<< find Security!User "ecc_domain!weblogic" as obj3 >> succeed: find Security!User "ecc_domain!weblogic" as obj3
<< find User "weblogic" as obj4 >> succeed: find User "weblogic" as obj4
<< set obj4 attribute Password to "********" >> succeed: set obj4 attribute Password to "********"
<< set obj4 attribute IsDefaultAdmin to "true" >> succeed: set obj4 attribute IsDefaultAdmin to "true"
>> validateConfig "KeyStorePasswords"
>> succeed: validateConfig "KeyStorePasswords"
<< write Domain to "/u01/ecc_demo/Oracle/Middleware/user_projects/domains/ecc_domain" .................................................. >> succeed: write Domain to "/u01/ecc_demo/Oracle/Middleware/user_projects/domains/ecc_domain"
<< close template >> succeed: close template
 
ECC Domain is created...
ECC Log directory is: /u01/ecc_demo/Oracle/quickInstall/logs/ecc
Updating ECC Domain with the Config properties location /u01/ecc_demo/Oracle/quickInstall/env/ecc/ecc-config.properties
ecc.log.path update in /u01/ecc_demo/Oracle/quickInstall/env/ecc/ecc-config.properties successful
zkHost.url update in /ecc-config.properties successful
ecc.languages update in /ecc-config.properties successful
ecc.base_language update in /ecc-config.properties successful
dataset.analyzer.default update in /ecc-config.properties successful
dataset.analyzer.override.solr.datasets update in /ecc-config.properties successful
dataset.analyzer.override.olt.datasets update in /ecc-config.properties successful
cluster.jpa.manager update in /ecc-config.properties successful
rmi.url update in /ecc-config.properties successful
Starting ECC high availability configuation script.
Configuring ECC in single mode.
zookeeper numbers 1
updating dataset.num.replicas=1
dataset.num.replicas update in /ecc-config.properties successful
eccConfigLocation jvm property configured for eccManaged Server
Configuring WLS servers ports ...
 
CLASSPATH=/u01/ecc_demo/Oracle/software/java/jdk/lib/tools.jar:/u01/ecc_demo/Oracle/Middleware/wlserver/modules/features/wlst.wls.classpath.jar:
 
PATH=/u01/ecc_demo/Oracle/Middleware/wlserver/server/bin:/u01/ecc_demo/Oracle/Middleware/wlserver/../oracle_common/modules/thirdparty/org.apache.ant/1.9.8.0.0/apache-ant-1.9.8/bin:/u01/ecc_demo/Oracle/software/java/jdk/jre/bin:/u01/ecc_demo/Oracle/software/java/jdk/bin:/u01/ecc_demo/Oracle/software/java/jdk/bin:/u01/insta_client:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/oracle/.local/bin:/home/oracle/bin:/u01/ecc_demo/Oracle/Middleware/wlserver/../oracle_common/modules/org.apache.maven_3.2.5/bin
 
Your environment has been set.
 
Initializing WebLogic Scripting Tool (WLST) ...
 
Welcome to WebLogic Server Administration Scripting Shell
 
Type help() for help on available commands
 
Exiting WebLogic Scripting Tool.
 
WLS ports configured successfully for ECC
Configuring WLS servers SSL ports ...
 
CLASSPATH=/u01/ecc_demo/Oracle/software/java/jdk/lib/tools.jar:/u01/ecc_demo/Oracle/Middleware/wlserver/modules/features/wlst.wls.classpath.jar:
 
PATH=/u01/ecc_demo/Oracle/Middleware/wlserver/server/bin:/u01/ecc_demo/Oracle/Middleware/wlserver/../oracle_common/modules/thirdparty/org.apache.ant/1.9.8.0.0/apache-ant-1.9.8/bin:/u01/ecc_demo/Oracle/software/java/jdk/jre/bin:/u01/ecc_demo/Oracle/software/java/jdk/bin:/u01/ecc_demo/Oracle/software/java/jdk/bin:/u01/insta_client:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/oracle/.local/bin:/home/oracle/bin:/u01/ecc_demo/Oracle/Middleware/wlserver/../oracle_common/modules/org.apache.maven_3.2.5/bin
 
Your environment has been set.
 
Initializing WebLogic Scripting Tool (WLST) ...
 
Welcome to WebLogic Server Administration Scripting Shell
 
Type help() for help on available commands
 
Exiting WebLogic Scripting Tool.
 
WLS SSL ports configured successfully for ECC
Updating ECC Domain for Heap space...
Done updating ECC Domain for Heap space...
 
Starting ECC Domain Admin Server ...
Started the ECC Admin Server successfully
 
Creating JNDI for ECC schema...
 
CLASSPATH=/u01/ecc_demo/Oracle/software/java/jdk/lib/tools.jar:/u01/ecc_demo/Oracle/Middleware/wlserver/modules/features/wlst.wls.classpath.jar:
 
PATH=/u01/ecc_demo/Oracle/Middleware/wlserver/server/bin:/u01/ecc_demo/Oracle/Middleware/wlserver/../oracle_common/modules/thirdparty/org.apache.ant/1.9.8.0.0/apache-ant-1.9.8/bin:/u01/ecc_demo/Oracle/software/java/jdk/jre/bin:/u01/ecc_demo/Oracle/software/java/jdk/bin:/u01/ecc_demo/Oracle/software/java/jdk/bin:/u01/insta_client:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/oracle/.local/bin:/home/oracle/bin:/u01/ecc_demo/Oracle/Middleware/wlserver/../oracle_common/modules/org.apache.maven_3.2.5/bin
 
Your environment has been set.
 
Initializing WebLogic Scripting Tool (WLST) ...
 
Welcome to WebLogic Server Administration Scripting Shell
 
Type help() for help on available commands
 
Connectiong to t3://localhost:7775 to create JNDI for url:jdbc:oracle:thin:@demo.enginatics.com:1521:EBSDB
Connecting to t3://localhost:7775 with userid weblogic ...
Successfully connected to Admin Server "AdminServer" that belongs to domain "ecc_domain".
 
Warning: An insecure protocol was used to connect to the server.
To ensure on-the-wire security, the SSL port or Admin port should be used instead.
 
Location changed to edit tree.
This is a writable tree with DomainMBean as the root.
To make changes you will need to start an edit session via startEdit().
For more help, use help('edit').
 
Starting an edit session ...
Started edit session, be sure to save and activate your changes once you are done.
No stack trace available.
eccdb does not exist
Saving all your changes ...
Saved all your changes successfully.
Activating all your changes, this may take a while ...
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
eccdb created Successfully
Disconnected from weblogic server: AdminServer
JNDI setup successfully for ECC data source
old 5: l_conn_string VARCHAR2(300) :='&&2';
new 5: l_conn_string VARCHAR2(300) :='demo.enginatics.com:1521/EBSDB';
old 6: l_conn_name VARCHAR2(30) := '&&1';
new 6: l_conn_name VARCHAR2(30) := 'ebsdb';
Starting creating connections with parameters : connection Name :ebsdb
Connection String : demo.enginatics.com:1521/EBSDB
port pos = 21
sid pos = 26
port pos = 21
sid pos = 26
l_hostname = demo.enginatics.com
l_port = 1521
l_service_name = EBSDB
l_conn_name = ebsdb
created connection with parameters : connection Name :ebsdb Connection String :
demo.enginatics.com:1521/EBSDB
 
PL/SQL procedure successfully completed.
 
old 8: l_conn_string VARCHAR2(300) :='&&3';
new 8: l_conn_string VARCHAR2(300) :='http://ecc.enginatics.com:7776';
old 9: l_conn_name VARCHAR2(30) := '&&1';
new 9: l_conn_name VARCHAR2(30) := 'ebsdb';
old 10: l_system_name VARCHAR2(100) := '&&2';
new 10: l_system_name VARCHAR2(100) := 'EBS';
Creating Source System with Parameters : Connection String =
http://ecc.enginatics.com:7776 Connection Name = ebsdb System Name = EBS
Creating Source System with System Name = EBS already exists . Deleting and
creating again
Creating Source System with Parameters : Connection String =
http://ecc.enginatics.com:7776 Connection Name = ebsdb System Name = EBS
protcol = http:
protcol = http:
protcol = http
protoppos = 8
port_pos = 26
l_hostname =ecc.enginatics.com
l_port =7776
Created Source System with Parameters :
Created Source System with Parameters : Connection String =
http://ecc.enginatics.com:7776 Connection Name = ebsdb System Name = EBS
 
PL/SQL procedure successfully completed.
 
ZooKeeper JMX enabled by default
Using config: /u01/ecc_demo/Oracle/software/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
Zookeeper started. Starting Managed Server
Starting the eccManaged ...
Started the eccManaged successfully
 
Configured the ECC domain successfully.

Confirm that both admin and managed servers started

[root@ecc quickInstall]# vi /u01/ecc_demo/Oracle/Middleware/user_projects/domains/ecc_domain/bin/domain.log
[root@ecc quickInstall]# vi /u01/ecc_demo/Oracle/Middleware/user_projects/domains/ecc_domain/bin/ecc.log

Search for message “The server started in RUNNING mode”

Login to ECC admin url:

http://[ECC_HOST_NAME]:[ECC_MANAGED_PORT]/ecc

Example:

http://ecc.enginatics.com:7776/ecc/

Configuring the JNDI to Connect to Oracle E-Business Suite:

Login to EBS apps node and find dbc file under $FND_SECURE directory.

Run following command, providing FQDN of ecc host and full path to dbc file:

java oracle.apps.fnd.security.AdminDesktop apps/[apps_password] CREATE NODE_NAME=[fully_qualified_domain_name_of_target_ECC_host_system] DBC=[full_local_DBC_file_path]

Example:

java oracle.apps.fnd.security.AdminDesktop apps/$pass CREATE NODE_NAME=ecc.enginatics.com DBC=/u01/install/APPS/fs2/inst/apps/EBSDB_apps/appl/fnd/12.0.0/secure/EBSDB.dbc

Copy generated dbc file to the ECC server under quickInstall directory as follows:

[oracle@demo secure]$ scp EBSDB_ECC.ENGINATICS.COM.dbc oracle@ecc.enginatics.com:/u01/ecc_demo/Oracle/quickInstall/connection.dbc

Login to EBS as user with administrative privileges
Сhoose User Management Responsibility > Users function
Add UMX|APPS_SCHEMA_CONNECT role to the EBS_ECC_USER user in EccConfig.properties as per Doc ID 1556742.1

Otherwise you may get error:

weblogic.application.ModuleException: weblogic.common.resourcepool.ResourceSystemException:
Could not create connection for datasource 'ebsDB'.
 
The returned message is: ORA-01017: invalid username/password; logon denied

Another possible cause of this error: make sure that HOST in connection.dbc is resolvable from ECC server.

APPS_JDBC_URL=jdbc\:oracle\:thin\:@(DESCRIPTION\=(ADDRESS_LIST\=(LOAD_BALANCE\=YES)(FAILOVER\=YES)(ADDRESS\=(PROTOCOL\=tcp)(<strong>HOST\=demo.enginatics.com</strong>)(PORT\=1521) ))(CONNECT_DATA\=(SERVICE_NAME\=EBSDB)))

Script output:

4
Creating JNDI ....
Checking connection.dbc file availability...
 
DBC file /u01/ecc_demo/Oracle/quickInstall/connection.dbc available
 
Enter the EBS apps password:
Verify if the Node is registered in the EBS database...
Node name ECC.ENGINATICS.COM
EBS_ECC_USER DEVELOPER
DB URL demo.enginatics.com:1521/EBSDB
Node is registerd in EBS
 
Check if the FND USER DEVELOPER exists
User DEVELOPER already exists in FND_USER. Validating user
 
Enter password:
User DEVELOPER successfully validated
 
Provide ECC admin credentials for JNDI setup
 
Enter the password for weblogic admin for ECC domain :
Creating JNDI for ECC to access EBS DB...
 
CLASSPATH=/u01/ecc_demo/Oracle/software/java/jdk/lib/tools.jar:/u01/ecc_demo/Oracle/Middleware/wlserver/modules/features/wlst.wls.classpath.jar:
 
PATH=/u01/ecc_demo/Oracle/Middleware/wlserver/server/bin:/u01/ecc_demo/Oracle/Middleware/wlserver/../oracle_common/modules/thirdparty/org.apache.ant/1.9.8.0.0/apache-ant-1.9.8/bin:/u01/ecc_demo/Oracle/software/java/jdk/jre/bin:/u01/ecc_demo/Oracle/software/java/jdk/bin:/u01/ecc_demo/Oracle/software/java/jdk/bin:/u01/insta_client:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/oracle/.local/bin:/home/oracle/bin:/u01/ecc_demo/Oracle/Middleware/wlserver/../oracle_common/modules/org.apache.maven_3.2.5/bin
 
Your environment has been set.
 
Initializing WebLogic Scripting Tool (WLST) ...
 
Welcome to WebLogic Server Administration Scripting Shell
 
Type help() for help on available commands
 
Connecting to t3://localhost:7775 with userid weblogic ...
Successfully connected to Admin Server "AdminServer" that belongs to domain "ecc_domain".
 
Warning: An insecure protocol was used to connect to the server.
To ensure on-the-wire security, the SSL port or Admin port should be used instead.
 
Location changed to edit tree.
This is a writable tree with DomainMBean as the root.
To make changes you will need to start an edit session via startEdit().
For more help, use help('edit').
 
Starting an edit session ...
Started edit session, be sure to save and activate your changes once you are done.
No stack trace available.
ebsDB does not exist
Saving all your changes ...
Saved all your changes successfully.
Activating all your changes, this may take a while ...
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
Disconnected from weblogic server: AdminServer
JNDI created for EBS database...

Testing

Log in to the Oracle EСС domain admin console at the following URL: http://[ECC_HOST_NAME]:[ECC_ADMIN_PORT]/console

Example: http://ecc.enginatics.com:7775/console

Go to Services > Data Sources.

Select the ebsdb JNDI configuration in the right pane.

Navigate to the Monitoring tab and select the Testing subtab.

Select the managed server and choose the Test Data Source button. The following message should appear: Success Test of ebsdb on server was successful.

Integrate Oracle Enterprise Command Center Framework with Oracle E-Business Suite

Choose option 5, Integrate With EBS of the envSetup.sh script

5
Proceed with Integration? confirm(y) otherwise(n):
y

Error:

weblogic.management.provider.UpdateException: [Management:141190]The commit phase of the configuration update failed with an exception.
Problem invoking WLST - Traceback (innermost last):
File "/u01/ecc_demo/Oracle/software/temp/setConnFiltersEccServer.py", line 58, in ?
File "", line 481, in activate
File "", line 553, in raiseWLSTException
WLSTException: Error occurred while performing activate : Error while Activating changes. : [Management:141190]The commit phase of the configuration update failed with an exception.
Use dumpStack() to view the full stacktrace :
 
Connection Filters cannot be applied..
Done.

Found additional errors in /u01/ecc_demo/Oracle/Middleware/user_projects/domains/ecc_domain/servers/AdminServer/logs/AdminServer.log:

weblogic.utils.NestedRuntimeException: [Security:090233]problem with connection filter rules
Caused By: java.text.ParseException: demo: Name or service not known

demo.enginatics.com is resolved by DNS, but ecc installer for some reason wants to use hostname separately.

Fix:

Add hostname entry to /etc/hosts:

192.168.1.2 demo

Rerun setup

5
Proceed with Integration? confirm(y) otherwise(n):
y
 
Enter the password for ECC DB user ECC :
Enter the password for ECC admin user weblogic :
Updating EBS Security Manager
old 1: update ECC_SOURCE_SYSTEM set SECURITY_MANAGER='&amp;1' where SYSTEM_NAME='EBS'
new 1: update ECC_SOURCE_SYSTEM set SECURITY_MANAGER='oracle.ecc.security.extensions.EbsEccSecurityManager' where SYSTEM_NAME='EBS'
 
1 row updated.
 
Commit complete.
 
Done
Restarting the ECC managed server
Stopping ECC Managed Server ...
 
Stopping Weblogic Server...
 
Initializing WebLogic Scripting Tool (WLST) ...
 
Welcome to WebLogic Server Administration Scripting Shell
 
Type help() for help on available commands
 
Connecting to t3://localhost:7775 with userid weblogic ...
Successfully connected to Admin Server "AdminServer" that belongs to domain "ecc_domain".
 
Warning: An insecure protocol was used to connect to the server.
To ensure on-the-wire security, the SSL port or Admin port should be used instead.
 
Shutting down the server eccManaged with force=false while connected to AdminServer ...
..............
 
Exiting WebLogic Scripting Tool.
 
Done
Stopping Derby Server...
Derby server stopped.
ZooKeeper JMX enabled by default
Using config: /u01/ecc_demo/Oracle/software/zookeeper/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
ZooKeeper JMX enabled by default
Using config: /u01/ecc_demo/Oracle/software/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
Zookeeper started. Starting Managed Server
Starting the eccManaged ...
Started the eccManaged successfully
 
EBS_IP6 is 192.168.1.2
EBS_IP4 is 192.168.1.2
 
Setting Connection Filter for ECC Server ...
 
CLASSPATH=/u01/ecc_demo/Oracle/software/java/jdk/lib/tools.jar:/u01/ecc_demo/Oracle/Middleware/wlserver/modules/features/wlst.wls.classpath.jar:
 
PATH=/u01/ecc_demo/Oracle/Middleware/wlserver/server/bin:/u01/ecc_demo/Oracle/Middleware/wlserver/../oracle_common/modules/thirdparty/org.apache.ant/1.9.8.0.0/apache-ant-1.9.8/bin:/u01/ecc_demo/Oracle/software/java/jdk/jre/bin:/u01/ecc_demo/Oracle/software/java/jdk/bin:/u01/ecc_demo/Oracle/software/java/jdk/bin:/u01/insta_client:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/oracle/.local/bin:/home/oracle/bin:/u01/ecc_demo/Oracle/Middleware/wlserver/../oracle_common/modules/org.apache.maven_3.2.5/bin
 
Your environment has been set.
 
Initializing WebLogic Scripting Tool (WLST) ...
 
Welcome to WebLogic Server Administration Scripting Shell
 
Type help() for help on available commands
 
Connecting to t3://localhost:7775 with userid weblogic ...
Successfully connected to Admin Server "AdminServer" that belongs to domain "ecc_domain".
 
Warning: An insecure protocol was used to connect to the server.
To ensure on-the-wire security, the SSL port or Admin port should be used instead.
 
Location changed to domainConfig tree. This is a read-only tree
with DomainMBean as the root MBean.
For more help, use help('domainConfig')
 
Location changed to domainRuntime tree. This is a read-only tree
with DomainMBean as the root MBean.
For more help, use help('domainRuntime')
 
Server name AdminServer
IPv4URL t3://127.0.0.1:7775
t3://[0:0:0:0:0:0:0:1%lo]:7775
Location changed to edit tree.
This is a writable tree with DomainMBean as the root.
To make changes you will need to start an edit session via startEdit().
For more help, use help('edit').
 
Starting an edit session ...
Started edit session, be sure to save and activate your changes once you are done.
Saving all your changes ...
Saved all your changes successfully.
Activating all your changes, this may take a while ...
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
 
Connection Filter is applied sucessfully..
Done.
old 8: l_conn_string VARCHAR2(300) :='&amp;&amp;3';
new 8: l_conn_string VARCHAR2(300) :='http://demo.enginatics.com:80';
old 9: l_conn_name VARCHAR2(30) := '&amp;&amp;1';
new 9: l_conn_name VARCHAR2(30) := 'ebsdb';
old 10: l_system_name VARCHAR2(100) := '&amp;&amp;2';
new 10: l_system_name VARCHAR2(100) := 'EBS';
Source System with System Name = EBS already exists .
Updating Source System with Parameters : Connection String =
http://demo.enginatics.com:80 Connection Name = ebsdb System Name = EBS
protcol = http:
protcol = http:
protcol = http
protoppos = 8
port_pos = 29
l_hostname =demo.enginatics.com
l_port =80
Updated Source System with Parameters : Connection String =
http://demo.enginatics.com:80 Connection Name = ebsdb System Name = EBS
 
PL/SQL procedure successfully completed.

Edit EBS context variables using OAM

Remove ‘#’ from s_ecc_conf_comment

Before:

After:

Setup following variables accordingly:

s_ecc_protocol – The protocol for accessing the Oracle Enterprise Command Center Framework administration UI.
s_ecc_web_host – The Oracle Enterprise Command Center Framework host name.
s_ecc_managed_server_port – The port for the Oracle Enterprise Command Center Framework manager server.

Example:
s_ecc_protocol=http
s_ecc_web_host=ecc.enginatics.com
s_ecc_managed_server_port=7776

[oracle@demo ~]$ grep s_ecc $CONTEXT_FILE
 
         ecc.enginatics.com
         7776
         http

Please make sure that ecc host name is resolved from the EBS server. If it’s not revolved via DNS, add an entry in the /etc/hosts file

88.99.107.178 ecc.enginatics.com ecc

Run autoconfig

[oracle@demo ~]$ cd $ADMIN_SCRIPTS_HOME
[oracle@demo scripts]$ ./adautocfg.sh

Edit OHS configuration files

Get OHS instance location:

[oracle@demo ~]$ grep -i s_ohs_instance_loc $CONTEXT_FILE
/u01/install/APPS/fs1/FMW_Home/webtier/instances/EBS_web_OHS1
[oracle@demo ~]$ grep -i s_ohs_component $CONTEXT_FILE
EBS_web

Go to directory

s_ohs_instance_loc/config/OHS/s_ohs_component
[oracle@demo EBS_web]$ cd /u01/install/APPS/fs1/FMW_Home/webtier/instances/EBS_web_OHS1/config/OHS/EBS_web

Check that OHS configuration file ecc.conf includes the following settings:

RewriteEngine on
RewriteRule ^/ecc(.*)$ http://:/%{REQUEST_URI}?system=EBS [CO=GUEST_LANGUAGE_ID::,NE,P,QSA,L]

Example:

RewriteEngine on
RewriteRule ^/ecc$ http://ecc.enginatics.com:7776/ecc/?system=EBS [CO=ORA_ECC_GUEST_LANG:en:demo.enginatics.com,NE,P,QSA,L]

Restart EBS services

cd $ADMIN_SCRIPTS_HOME
./adstpall.sh
./adstrtal.sh

Import Enterprise Command Center Applications

In the ECC v2 it was required to copy $ECC_BASE/Oracle/quickInstall/scripts/patchEccFiles.pl script from ecc host to EBS host.
In the newer releases like ECC v9 patchEccFiles.pl is located under $FND_TOP/bin on the EBS host.

Login to EBS server and apply run fs environment.

[oracle@demo ~]$ . ./EBSapps.env run

Create empty staging directory.

[oracle@demo scripts]$ mkdir /tmp/staging

Run patchEccFiles.pl script

perl ./patchEccFiles.pl
[oracle@demo tmp]$perl ./patchEccFiles.pl
 
Enter temporary directory for ECC Files(Should be used only for this task and be empty): /tmp/staging
 
Enter EBS DB apps user id(default: apps) :
 
Enter EBS DB apps user password:
List of languages installed in EBS:
--------------------------------------------------
| Language| ECC Language Code|
--------------------------------------------------
| ARABIC | ar |
| GERMAN | de |
| FRENCH | fr |
| AMERICAN | en |
| SIMPLIFIED CHINESE | zh-Hans |
---------------------------------------------------
 
List of languages supported in ECC:
Arabic(ar), Brazilian Portugese(pt), Canadian French(fr-CA),Croatian(hr), Cyrillic Kazakh(kk), Cyrillic Serbian(sr), Czech(cs), Danish(da), Dutch(nl), English(en), Finnish(fi), French(fr), German(de), Greek(el), Hebrew(he), Hungarian(hu), Indonesian(id), Italian(it), Japanese(ja), Korean(ko), Latin Spanish(es-419),Latin Serbian(sr-Latn), Lithuanian(lt), Norwegian(no), Polish(pl), Portugese(pt-PT),Romania(ro), Russian(ru), Simplified Chinese(zh-Hans), Slovak(sk), Slovenian(sl), Spanish(es), Swedish(sv), Thai(th), Traditional Chinese(zh-Hant), Turkish(tr), Ukranian(uk), Vietnamese(vi)
 
NOTE: Only languages installed and enabled in ECC will be processed successfully
Example: Enter ar,pt for Arabic and Brazilian Portugese language respectively. Enter all(ALL) for all languages
 
Enter the Language code(s) from the list mentioned above to run the translation for:
 
Do you want to add all products at once(Y) or specify the subset(N): Y
 
Adding product top AP
 
Adding product top AR
 
Adding product top BOM
 
Adding product top CN
 
Adding product top CS
 
Adding product top EAM
 
Adding product top FA
 
Adding product top GMO
 
Adding product top ICX
 
Adding product top INV
 
Adding product top JMF
 
Adding product top OKL
 
Adding product top OKS
 
Adding product top ONT
 
Adding product top OZF
 
Adding product top PA
 
Adding product top PO
 
Adding product top WIP
 
Importing application /tmp/staging/ap/12.0.0/patch/115/ecc/applications/ap_ecc.zip
ECC WEB ENTRY URL:http://demo.enginatics.com:80/ecc
ECC Application File:/tmp/staging/ap/12.0.0/patch/115/ecc/applications/ap_ecc.zip
Importing file /tmp/staging/ap/12.0.0/patch/115/ecc/applications/ap_ecc.zip finished with response [{"STATUS":200,"logFileName":"import_20190529095220.log"}]
Imported application /tmp/staging/ap/12.0.0/patch/115/ecc/applications/ap_ecc.zip successfully
 
Importing application /tmp/staging/ar/12.0.0/patch/115/ecc/applications/ar_ecc.zip
ECC WEB ENTRY URL:http://demo.enginatics.com:80/ecc
ECC Application File:/tmp/staging/ar/12.0.0/patch/115/ecc/applications/ar_ecc.zip
Importing file /tmp/staging/ar/12.0.0/patch/115/ecc/applications/ar_ecc.zip finished with response [{"STATUS":200,"logFileName":"import_20190529095227.log"}]
Imported application /tmp/staging/ar/12.0.0/patch/115/ecc/applications/ar_ecc.zip successfully
 
Importing application /tmp/staging/fa/12.0.0/patch/115/ecc/applications/fa_ecc.zip
ECC WEB ENTRY URL:http://demo.enginatics.com:80/ecc
ECC Application File:/tmp/staging/fa/12.0.0/patch/115/ecc/applications/fa_ecc.zip
Importing file /tmp/staging/fa/12.0.0/patch/115/ecc/applications/fa_ecc.zip finished with response [{"STATUS":200,"logFileName":"import_20190529095228.log"}]
Imported application /tmp/staging/fa/12.0.0/patch/115/ecc/applications/fa_ecc.zip successfully
 
Importing application /tmp/staging/okl/12.0.0/patch/115/ecc/applications/okl_ecc.zip
ECC WEB ENTRY URL:http://demo.enginatics.com:80/ecc
ECC Application File:/tmp/staging/okl/12.0.0/patch/115/ecc/applications/okl_ecc.zip
Importing file /tmp/staging/okl/12.0.0/patch/115/ecc/applications/okl_ecc.zip finished with response [{"STATUS":200,"logFileName":"import_20190529095229.log"}]
Imported application /tmp/staging/okl/12.0.0/patch/115/ecc/applications/okl_ecc.zip successfully
 
SUMMARY REPORT:
-----------------------------------------------
| Product| Application | Status|
-----------------------------------------------
| AP | ap_ecc.zip | Success |
| AR | ar_ecc.zip | Success |
| FA | fa_ecc.zip | Success |
| OKL | okl_ecc.zip | Success |
-----------------------------------------------

Import Enterprise Command Center Applications into TLS enabled EBS instance

In case if the EBS instance is TLS enabled, then make sure that all the configuration steps are performed as per this document:

Enabling TLS in Oracle E-Business Suite Release 12.2 (Doc ID 1367293.1)

Pay attention to the section “5.3 Configure Loopback and Outbound Connections” as it is frequently skipped after the section “5.2 Configure Inbound Connections” is performed.
If you skip the section 5.3 you may face an error similar to the following:

Importing application /tmp/staging/ar/12.0.0/patch/115/ecc/applications/ar_ecc.zip
ECC WEB ENTRY URL:https://r122.localdomain:4443/ecc
ECC Application File:/tmp/staging/ar/12.0.0/patch/115/ecc/applications/ar_ecc.zip
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
        at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
        at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1897)
        at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:300)
        at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:294)

This issue is described in the following document:

ECC: Error When Attempting to Import Applications in ECC using patchEccFiles.pl – Error: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target (Doc ID 2936137.1)

The steps must be performed for both 64-bit JDK and 32-bit JDK. In case of self-signed certificate, replace ca.crt to the name of the certificate file. The certificate file can be exported from the browser opening the EBS url.

cd [s_fmw_jdktop]/jre/lib/security
keytool -import -alias r122SelfSigned -file /tmp/r122.localdomain.crt -v -keystore cacerts
 
cd $OA_JRE_TOP/lib/security
keytool -import -alias r122SelfSigned -file /tmp/r122.localdomain.crt -v -keystore cacerts

Providing administrators access to ECC admin UI


Assign the ECC Developer responsibility to desired user.

Providing administrators access to the ECC core solr application


To allow login to core Solr application from additional hosts apart from ecc and integrated EBS servers:

– Log in to ECC Weblogic admin console.
– Go to Domain Structure->ecc_domain
– Choose Security->Filter->Lock & Edit
– Add allow rule. Below example is for 192.0.1.1

192.0.1.1 * 7776 allow t3 t3s http https

Click ‘Save’ and ‘Activate Changes’

Verify login to Core Solr application by logging in to:

[ECC_HOST_PROTOCOL&gt;]://[ECC_HOST_NAME]:[ECC_PORT]/core_ecc

Example:

http://ecc.enginatics.com:7776/core_ecc

Loading product data to ECC


Run concurrent programs for each product to perform data load into the ECC. Programs should also be scheduled to perform periodic incremental loads to update the data.

To find the list of all ECC data loader programs you can run ECC Admin – Concurrent Programs report. This report’s output contains the concurrent program short code which can be used as multiple parameter value entry in FND Access Control report to see which responsibilities or users have access to schedule ECC data loaders.

Example for products that we implemented:

Oracle Payables
Payables Command Center Data Load

To run this request you need to switch to Payables responsibility as it’s not available under System Administrator responsibility. I used ‘Payables manager’ responsibility.

Oracle Receivables
Receivables Command Center Data Load

To run this request you need to switch to Receivables responsibility as it’s not available under System Administrator responsibility. I used ‘Receivables manager’ responsibility.

Running ECC data load request
Running ECC data load request

Issue:

Requests failed with errors:

0:46:23.282 [pool-4-thread-1] DEBUG 1.o.e.i.u.s.i.IRDataLoadServiceImpl - startJob --&gt; job 1976 application ar, collection null was being served by pool-4-thread-1 for load type FULL_LOAD10:46:23.290 [pool-4-thread-1] DEBUG 1.o.e.i.u.s.i.DataLoadControllerServiceImpl - loadDataForDataset --&gt; application ar, collection ar-billproc was being served by pool-4-thread-1 for load type FULL_LOAD10:46:23.306 [pool-4-thread-1] ERROR 1.o.e.i.u.s.i.DataLoadControllerServiceImpl - Collection ar-billproc failed with error There is an error while registering the collection Collection ar-billproc Deletion -&gt; Dataset ar-billproc deletion failed with error Error from server at http://ecc.enginatics.com:7776/core_ecc: Expected mime type application/octet-stream but got text/html.The Server is not able to service this request: [Socket:000445]Connection rejected, filter blocked Socket, weblogic.security.net.FilterException: [Security:090220]rule 14weblogic.security.net.FilterException: [Security:090220]rule 14 at weblogic.security.net.ConnectionFilterImpl.accept(ConnectionFilterImpl.java:163) at weblogic.socket.MuxableSocketDiscriminator.maybeFilter(MuxableSocketDiscriminator.java:253) at weblogic.socket.MuxableSocketDiscriminator.dispatch(MuxableSocketDiscriminator.java:139) at

Workaround:

EBS host is allowed to access 7776 port, so requests shouldn’t fail. Requests completed after removing following connection filter rule in Weblogic Admin console. Didn’t find other workaround so far.

* * 7776 deny

To update data, requests can be rerun in INCREMENTAL_LOAD mode.

Running ECC data load request

Providing users access to ECC


Product-specific roles are used to provide access to ECC.
For list of the roles please refer to Doc ID 2495053.1.
Below is the example of role assignment performed in our system.

Providing access manually

In Oracle E-Business Suite, log in to the User Management responsibility, and navigate to the Roles and Role Inheritance page.

Search for desired responsibility

Setting ECC access control

Click the “View In Hierarchy” icon for your responsibility

Setting ECC access control

Click the Add Node icon for your responsibility

Setting ECC access control

Search for the role you want to add and click ‘Select’

Setting ECC access control

Next step is to update the associated grant for the product-specific Enterprise Command Center roles to reference the specific responsibility as the security context.

Click on expand to see the added role and click on update icon for the new role:

Setting ECC access control

If this is the first responsibility to which you are adding to the role, click the Update icon for the grant you want to update.

Enter the name of the responsibility to which ECC role is added and click Apply

Setting ECC access control
Setting ECC access control

After this step Receivables Command Center should appear under Receivables Manager responsibility.

Testing Receivables Command Center
Testing Receivables Command Center

Note: If you don’t see function appear after the responsibility, you may need to clear EBS cache using Functional Administrator responsibility.

Automating access provision using script

To automate roles and grants configuration following script can be used. It should be ran from EBS run fs:

source EBSapps.env run
$FND_TOP/bin/UMX_ENDECA_RBACAuto.sh

It will prompt for csv file location, which should be prepared before running the script. If csv file is called UMX_ENDECA_RBAC.csv and located under same directory as UMX_ENDECA_RBACAuto.sh, it will be used automatically. Example of the file we used in our system to assign payables and receivables ecc roles to Payables manager, Receivables manager and ECC Developer:

PERMISSION_SET_CODE,RESPONSIBILITY_CODE,ENDECA_ROLE_CODE
AP_ECC_ACCESS_PS,FND_RESP|SQLAP|PAYABLES_MANAGER|STANDARD,UMX|AP_ECC_ACCESS_ROLE
AP_ECC_ACCESS_PS,FND_RESP|FND|ECC_DEVELOPER_RESP|STANDARD,UMX|AP_ECC_ACCESS_ROLE
AR_ECC_ACCESS_PS,FND_RESP|AR|RECEIVABLES_MANAGER|STANDARD,UMX|AR_ECC_ACCESS_ROLE
AR_ECC_ACCESS_PS,FND_RESP|FND|ECC_DEVELOPER_RESP|STANDARD,UMX|AR_ECC_ACCESS_ROLE
IAR_ECC_ACCESS_PS,FND_RESP|FND|ECC_DEVELOPER_RESP|STANDARD,UMX|IAR_ECC_ACCESS_ROLE
IAR_ECC_INT_ACCESS_PS,FND_RESP|FND|ECC_DEVELOPER_RESP|STANDARD,UMX|IAR_ECC_INT_ACCESS_ROLE

Example output:

[oracle@demo bin]$ ./UMX_ENDECA_RBACAuto.sh
 
APPS username: apps
 
APPS password:
 
Executing for Permission_set AP_ECC_ACCESS_PS , Responsibility_name FND_RESP|SQLAP|PAYABLES_MANAGER|STANDARD and Endeca_Role UMX|AP_ECC_ACCESS_ROLE
old 6: L_MENU_NAME varchar2(100) := '&amp;1';
new 6: L_MENU_NAME varchar2(100) := 'AP_ECC_ACCESS_PS';
old 8: l_responsibility_name varchar2(300) := '&amp;2';
new 8: l_responsibility_name varchar2(300) := 'FND_RESP|SQLAP|PAYABLES_MANAGER|STANDARD';
old 10: endeca_role_name varchar2(300) := '&amp;3';
new 10: endeca_role_name varchar2(300) := 'UMX|AP_ECC_ACCESS_ROLE';
Completed Successfully.
 
PL/SQL procedure successfully completed.
Executing for Permission_set AP_ECC_ACCESS_PS , Responsibility_name FND_RESP|FND|ECC_DEVELOPER_RESP|STANDARD and Endeca_Role UMX|AP_ECC_ACCESS_ROLE
old 6: L_MENU_NAME varchar2(100) := '&amp;1';
new 6: L_MENU_NAME varchar2(100) := 'AP_ECC_ACCESS_PS';
old 8: l_responsibility_name varchar2(300) := '&amp;2';
new 8: l_responsibility_name varchar2(300) := 'FND_RESP|FND|ECC_DEVELOPER_RESP|STANDARD';
old 10: endeca_role_name varchar2(300) := '&amp;3';
new 10: endeca_role_name varchar2(300) := 'UMX|AP_ECC_ACCESS_ROLE';
Completed Successfully.
 
PL/SQL procedure successfully completed.
Executing for Permission_set AR_ECC_ACCESS_PS , Responsibility_name FND_RESP|AR|RECEIVABLES_MANAGER|STANDARD and Endeca_Role UMX|AR_ECC_ACCESS_ROLE
old 6: L_MENU_NAME varchar2(100) := '&amp;1';
new 6: L_MENU_NAME varchar2(100) := 'AR_ECC_ACCESS_PS';
old 8: l_responsibility_name varchar2(300) := '&amp;2';
new 8: l_responsibility_name varchar2(300) := 'FND_RESP|AR|RECEIVABLES_MANAGER|STANDARD';
old 10: endeca_role_name varchar2(300) := '&amp;3';
new 10: endeca_role_name varchar2(300) := 'UMX|AR_ECC_ACCESS_ROLE';
Role - Responsibility relationship already exists
Grant already exists
 
PL/SQL procedure successfully completed.
Executing for Permission_set AR_ECC_ACCESS_PS , Responsibility_name FND_RESP|FND|ECC_DEVELOPER_RESP|STANDARD and Endeca_Role UMX|AR_ECC_ACCESS_ROLE
old 6: L_MENU_NAME varchar2(100) := '&amp;1';
new 6: L_MENU_NAME varchar2(100) := 'AR_ECC_ACCESS_PS';
old 8: l_responsibility_name varchar2(300) := '&amp;2';
new 8: l_responsibility_name varchar2(300) := 'FND_RESP|FND|ECC_DEVELOPER_RESP|STANDARD';
old 10: endeca_role_name varchar2(300) := '&amp;3';
new 10: endeca_role_name varchar2(300) := 'UMX|AR_ECC_ACCESS_ROLE';
Completed Successfully.
 
PL/SQL procedure successfully completed.

Access provision for all command centers.

I prepared UMX_ENDECA_RBAC.csv containing all responsibilities, permission sets and roles matched between each other.

FA_ECC_ACCESS_PS,FND_RESP|OFA|FIXED_ASSETS_MANAGER|STANDARD,UMX|FA_M_ECC_ACCESS_ROLE
FA_ECC_ACCESS_PS,FND_RESP|OFA|FIXED_ASSETS_ACCOUNTANT|STANDARD,UMX|FA_M_ECC_ACCESS_ROLE
FA_ECC_ACCESS_PS,FND_RESP|OFA|FIXED_ASSETS_MANAGER|STANDARD,UMX|FA_A_ECC_ACCESS_ROLE
FA_ECC_ACCESS_PS,FND_RESP|OFA|FIXED_ASSETS_ACCOUNTANT|STANDARD,UMX|FA_A_ECC_ACCESS_ROLE
FA_ECC_ACC_ACCESS_PS,FND_RESP|OFA|FIXED_ASSETS_MANAGER|STANDARD,UMX|FA_M_ECC_ACCESS_ROLE
FA_ECC_ACC_ACCESS_PS,FND_RESP|OFA|FIXED_ASSETS_ACCOUNTANT|STANDARD,UMX|FA_M_ECC_ACCESS_ROLE
FA_ECC_ACC_ACCESS_PS,FND_RESP|OFA|FIXED_ASSETS_MANAGER|STANDARD,UMX|FA_A_ECC_ACCESS_ROLE
FA_ECC_ACC_ACCESS_PS,FND_RESP|OFA|FIXED_ASSETS_ACCOUNTANT|STANDARD,UMX|FA_A_ECC_ACCESS_ROLE
OZF_CLAIM_ECC_MENU,FND_RESP|OZF|OZF_USER|STANDARD,UMX|OZF_ECC_ACCESS_ROLE
OZF_CLAIM_ECC_MENU,FND_RESP|OZF|OZF_AR_DED_SET_RESP|STANDARD,UMX|OZF_ECC_ACCESS_ROLE
PO_CLM_ECC_CO_PS,PUR_CLM_SUPER_USER,UMX|PO_CLM_ECC_CO_ROLE
PO_CLM_ECC_PMO_PS,SELF_SERV_CLM_PURCHASING_5,UMX|PO_CLM_ECC_PMO_ROLE
CST_ECC_ACCESS_PS,FND_RESP|BOM|COST_MANAGEMENT|STANDARD,UMX|CST_ECC_ACCESS_ROLE
CST_ECC_GMF_ACCESS_PS,FND_RESP|BOM|COST_MANAGEMENT|STANDARD,UMX|CST_ECC_ACCESS_ROLE
CST_ECC_ACCESS_PS,FND_RESP|CST|COST_MANAGEMENT|STANDARD,UMX|CST_ECC_ACCESS_ROLE
CST_ECC_GMF_ACCESS_PS,FND_RESP|CST|COST_MANAGEMENT|STANDARD,UMX|CST_ECC_ACCESS_ROLE
CST_ECC_ACCESS_PS,FND_RESP|GMF|OPM_FINANCIALS|STANDARD,UMX|CST_ECC_ACCESS_ROLE
CST_ECC_GMF_ACCESS_PS,FND_RESP|GMF|OPM_FINANCIALS|STANDARD,UMX|CST_ECC_ACCESS_ROLE
CST_ECC_ACCESS_PS,FND_RESP|BOM|COST_MANAGEMENT|STANDARD,UMX|CST_ECC_GMF_ACCESS_ROLE
CST_ECC_GMF_ACCESS_PS,FND_RESP|BOM|COST_MANAGEMENT|STANDARD,UMX|CST_ECC_GMF_ACCESS_ROLE
CST_ECC_ACCESS_PS,FND_RESP|CST|COST_MANAGEMENT|STANDARD,UMX|CST_ECC_GMF_ACCESS_ROLE
CST_ECC_GMF_ACCESS_PS,FND_RESP|CST|COST_MANAGEMENT|STANDARD,UMX|CST_ECC_GMF_ACCESS_ROLE
CST_ECC_ACCESS_PS,FND_RESP|GMF|OPM_FINANCIALS|STANDARD,UMX|CST_ECC_GMF_ACCESS_ROLE
CST_ECC_GMF_ACCESS_PS,FND_RESP|GMF|OPM_FINANCIALS|STANDARD,UMX|CST_ECC_GMF_ACCESS_ROLE
WIP_ECC_ACCESS_PERM_SET,FND_RESP|MSC|MFG_AND_DIST_SUPER_USER_APS|STANDARD,UMX|WIP_ECC_ACCESS_ROLE
EAM_ECC_ACCESS_PS,FND_RESP|EAM|MSU_VIS_OPS|STANDARD,UMX|EAM_ECC_ACCESS_ROLE
CN_ICM_ECC_ACCESS_PS,FND_RESP|CN|CN_INC_COMP_MANAGER|STANDARD,UMX|CN_ICM_ECC_ACCESS_ROLE
WSH_ECC_DASHBOARD_ACCESS_PS,FND_RESP|INV|INV_HTML|STANDARD,UMX|WSH_ECC_DASHBOARD_ACCESS_ROLE
ICX_ECC_ACCESS_PS,FND_RESP|ICX|SELF_SERVICE_PURCHASING_5|STANDARD,UMX|ICX_ECC_ACCESS_ROLE
IAR_ECC_ACCESS_PS,FND_RESP|AR|ARI_EXTERNAL|STANDARD,UMX|IAR_ECC_ACCESS_ROLE
IAR_ECC_ACCESS_PS,FND_RESP|AR|ARI_EXTERNAL|STANDARD,UMX|IAR_ECC_INT_ACCESS_ROLE
IAR_ECC_ACCESS_PS,FND_RESP|AR|ARI_INTERNAL|STANDARD,UMX|IAR_ECC_ACCESS_ROLE
IAR_ECC_ACCESS_PS,FND_RESP|AR|ARI_INTERNAL|STANDARD,UMX|IAR_ECC_INT_ACCESS_ROLE
IAR_ECC_INT_ACCESS_PS,FND_RESP|AR|ARI_EXTERNAL|STANDARD,UMX|IAR_ECC_ACCESS_ROLE
IAR_ECC_INT_ACCESS_PS,FND_RESP|AR|ARI_EXTERNAL|STANDARD,UMX|IAR_ECC_INT_ACCESS_ROLE
IAR_ECC_INT_ACCESS_PS,FND_RESP|AR|ARI_INTERNAL|STANDARD,UMX|IAR_ECC_ACCESS_ROLE
IAR_ECC_INT_ACCESS_PS,FND_RESP|AR|ARI_INTERNAL|STANDARD,UMX|IAR_ECC_INT_ACCESS_ROLE
OKL_ECC_OKL_PS,FND_RESP|OKL|LEASE SUPER USER|STANDARD,UMX|OKL_ECC_ACCESS_ROLE
ONT_ECC_PS,FND_RESP|ONT|ONT_HTMLUI_RESP|STANDARD,UMX|ONT_ECC_ROLE
JMF_ECC_ACCESS_PS,FND_RESP||JMF||JMF_SHIKYU_SUPER_USER||STANDARD,UMX|JMF_ECC_ACCESS_ROLE
AP_ECC_ACCESS_PS,FND_RESP|SQLAP|PAYABLES_MANAGER|STANDARD,UMX|AP_ECC_ACCESS_ROLE
GMO_ECC_ACCESS_PS,FND_RESP||GME||PRODUCTION SUPERVISOR||STANDARD,UMX|GMO_ECC_ACCESS_ROLE
PA_ECC_ACCESS_PS,FND_RESP|PA|PA_PRM_PROJ_SU_SVCS|STANDARD,UMX|PA_ECC_ACCESS_ROLE
AR_ECC_ACCESS_PS,FND_RESP|AR|RECEIVABLES_MANAGER|STANDARD,UMX|AR_ECC_ACCESS_ROLE
CS_ECC_SR_MGR_PS,FND_RESP|CS|CS_ECC_SERVICE_MANAGER|STANDARD,UMX|CS_ECC_SR_MGR_ACCESS_ROLE
CS_ECC_SR_MGR_PS,FND_RESP|CS|CS_ECC_SERVICE_MANAGER|STANDARD,UMX|CS_ECC_SR_AGNT_ACCESS_ROLE
CS_ECC_SR_MGR_PS,FND_RESP|CS|CSZ_CS_SPECIALIST|STANDARD,UMX|CS_ECC_SR_MGR_ACCESS_ROLE
CS_ECC_SR_MGR_PS,FND_RESP|CS|CSZ_CS_SPECIALIST|STANDARD,UMX|CS_ECC_SR_AGNT_ACCESS_ROLE
CS_ECC_SR_AGNT_PS,FND_RESP|CS|CS_ECC_SERVICE_MANAGER|STANDARD,UMX|CS_ECC_SR_MGR_ACCESS_ROLE
CS_ECC_SR_AGNT_PS,FND_RESP|CS|CS_ECC_SERVICE_MANAGER|STANDARD,UMX|CS_ECC_SR_AGNT_ACCESS_ROLE
CS_ECC_SR_AGNT_PS,FND_RESP|CS|CSZ_CS_SPECIALIST|STANDARD,UMX|CS_ECC_SR_MGR_ACCESS_ROLE
CS_ECC_SR_AGNT_PS,FND_RESP|CS|CSZ_CS_SPECIALIST|STANDARD,UMX|CS_ECC_SR_AGNT_ACCESS_ROLE
OKS_ECC_ACCESS,FND_RESP|OKS|OKS_MANAGER|STANDARD,UMX|OKS_ECC_ACCESS_ROLE

Clear cache

Command centers didn’t appear under the responsibilities after running above script. It was fixed by clearing EBS cache using Functional Administrator responsibility.

Conclusion

At this stage ECC installation and integration is complete. Reminding you again that you can try ECC in our demo instance. Just log in as DEVELOPER and choose desired product responsibility and find associated command center menu entry. To continue your acquaintance with ECC I suggest reading the following article: Oracle Enterprise Command Center administration and enriched dashboard data export to Excel.
Please leave your comments if this article helped you or you faced any issues – we’re always happy to help you.
And please check out Blitz Report which complements ECC nicely with the fast excel export feature.