Thursday, May 15, 2014

EBS 12.2 -- Implementing HR Organization Chart

Organization Chart is an integrated application for E-Business Suite, which supplies s a visual representation of relationships between workers in an organization.Even though Using the Organization Chart Feature in Oracle SSHR (Doc ID 1408355.1); states “12.1 HRMS RUP4 and
later”, it will be safe to use and follow as 12.2.3 is later than that listed within the note.
For the server side; Organization Chart requires a dedicated Weblogic Server for itself.  ADF should be deployed to the Weblogic, as well. This weblogic server can be installed into a one of the existing EBS servers, or it can be installed into a dedicated server.  (Note: Be careful .. dont use the same weblogic ports as EBS.. Especially admin and node manager ports.. EBS 12.2 have 2 different port pool, so it uses 7001(fs1) and 7002(fs2) for admin server by default.., for node manager also default ports are in use )The requirements would differ , but generally a 2 core machine with 4gb memory should be enough for Hr Organization Chart application to be run properly. 
For the client side, Flash 10 or above is required..

Anyways , In this post,  I will try to explain the installation and configuration of HR Organization Chart Feature in EBS 12.2..
Note that: We use the following documents for the source of information, but we need to mix them actually.

The source documents:

Configuring and Deploying Organization Chart White Paper
Using the Organization Chart Feature in Oracle SSHR(1408355.1)
Oracle E-Business Suite Software Development Kit for Java Release 11i and 12

Note that , we dont need to apply any patches in our EBS instance, as our version is 12.2 , and the profile options which are deployed with 12715586, already exist in our Environment.

So, we start with the installation of Weblogic Server. It is acutally a standart installation.

Installation of Weblogic Server:

We use a separate OS account for Weblogic installation.. (like hrorgweb)
Weblogic version should be certified with the HrOgrChart that is going to be installed..
In this case, for HrOgrChar, I have used Weblogic Server 10.3.6, as it seemed to be certified.
To install the weblogic into a 64 bit machine, I downloaded wls1036_generic.jar wihch is available through "Oracle Weblogic Server 11gR1(10.3.6) + Coherence Package Installer File 1: Generic : 1GB
So Generic file should be downloaded..
After downloading Weblogic Server, we have to be sure that the java version is certified for the installation platform..
For HrOrgChart, latest java 6 seemed certified , so I have used that one.
So if the server that we are installing Weblogic has not a certified java, we need to upgrade the java.
If it i s the case, we download the java from the vendors site, and install it following installation instructions.(platform specific).. For ibm , java can be downloaded from www.ibm.com/developerworks/java/jdk ..

You can refer the certification document for choosing the right java for your system..
http://www.oracle.com/technetwork/middleware/downloads/fmw-11gr1certmatrix.xlsFor example : For installing Weblogic 10.3.6 into a 64 bit Redhat Linux System : We need at least jdk 1_7_0_2

After installing the appropriate version of java , we are ready to invoke the weblogic installer, with the following command;

export JAVA_HOME=full path of certified java that we installed previously.
JAVA_HOME/bin/java -jar wls1036_generic.jar..

Note: we need X environment for this.. Use Vncserver, and also set DISPLAY to vnc port before running the jar file..

In the installation screens, we use the typical installation type and create a new Middleware home by supplying directory names.. Finally, we click next on the installation summary screen to start the installation process.








When the installation complete, we de-select Run quickstart and click Done to exit the Installer.
Secondly we need to deploy ADF 11.1.1.4 or later into the Weblogic Server we just installed, as HR Organization Chart is a Weblogic application which requires ADF to be present.

Deployment of ADF :

To install ADF, we downloaded unzip file and basically run the runInstaller located in the directory named Disk1.

Below is an example of ADF installation;
















Okay, after installing Weblogic and deploying ADF , our base environment is ready for deploying Hr Organization Chart application.. So at this point, we download the patch 13691576 and unzip it , as Hr organization Chart is available through that patch.
When we unzip the patch, we pull through OrgChartApplication.ear file. Then we unzip this ear file, and we have fndext.jar file. Next we copy the jar file in to a directory named /tmp/work for instance.
This jar file contains the method for connecting to an Apps database using Application users. We will use this jar for our AppsDataSouce later.

So in this point, we start our work for creating the AppsDataSource..We do this before we deploy the Hr Organization Chart application, as we are making the environment ready for use.

For creating Apps Data Source, we complete the following actions;

  • Register the node.. I mean the node, that our weblogic resides... (if the weblogic server used for Hr Org Chart resides on one of the EBS nodes, then this step is not required, as EBS nodes are already registered, so you can use the standard dbc file) To register the external node and create a new Dbc file we use AdminDesktop utility: Here is the usage: java oracle.apps.fnd.security.AdminDeskop apps/apps CREATE NODE_NAME=ermanhost [IP_ADDRESS=192.168.0.2] DBC=/u01/TEST.dbc Note that, your standard dbc file should already be created for the use of AdminDesktop utility. Anyways, when AdminDeskop utility is executed, it will produce a dbc file in a name format like TEST_erptest.dbc --> erptest is the nodename.
  • The required profile options should be set to their appropriate values. I mean; "FND: Validate User Type" should be set to Desktop Only at site level. "FND: Validate IP address" should be set to Desktop only at site level. "FND: Dekstop Nodes allowed" should be set to the nodename. It should be set at the user level. The user should have the Apps Schema Connect Role.. (if you have multiple nodes; use a comma for specifiying multiple host for ex: erman1,erman2)
  • Run the query "select * from fnd_nodes where server_address='*'", and make sure that server_id='SECURE' for the AUTHENTICATION node. If not; edit s_appserverid_authentication context variable in the context file, set it to SECURE and run autoconfig in apps tier to make the server_id='SECURE' for AUTHENTICATION node.
  • Create an ASADMIN user (or another) and grant it APPS_SCHEMA_CONNECT role.. (Apps Schema Connect).. Grant this roles from the User Management Responsibility.. Make sure the user is active. It should look like the following; Also , ensure that your workflow listeners are running, because if the workfload agent listeners are not running, this modification will not be visible (I mean the role seems unassigned) in the WF tables, and this creates Invalid username/password problems while creating the AppsDataSource.
  • Rebuilding fndext.jar is not a mandatory thing, but if you want to rebuild the jar , follow section 2.1.5.1 Rebuilding the fndext.jar file for Oracle WebLogic Server on UNIX/LINUX of Software Development Kit for java.
  • Next, Deploy your new jar file to Weblogic Server for the AppsDataSource to the Weblogic server To accomplish this step, shutdown your weblogic server , copy fndext.jar to $DOMAIN_DIR/lib directory and start the weblogic server.Note that: when you put your fndext.jar file into the DOMAIN_DIR/lib directory, normally Weblogic server appends it system path with that jar file. But if your weblogic doesnt append the system path properly, set your classpath in weblogic start script and manually append your jarfile into it.
  • Now, it is time to  configure your AppsData Source. Login to the weblogic using http://<your host>:<your port>/console. Navigate to Domain Structure > Services > Data Sources Enter values for: Database Name: (SID of Oracle E-Business Suite database), Hostname (DB hostname),Port (DB port), DB username - Enter the valid Oracle E-Business Suite username (created in Set Up Necessary Oracle E-Business Suite Users) in UPPERCASE, The user should have the APPS_SCHEMA_CONNECT role as described previously. You do not use the APPS schema name here. Password for the Oracle E-Business Suite user)  Enter the Driver Class Name: : In this case -> oracle.apps.fnd.ext.jdbc.datasource.AppsDataSource. For database driver use ->Oracle's Driver (Thin) for Instance connections; Versions:9.0.1,9.2.0,10,11 Also, In the Properties field, add a new property after the user property: dbcFile=<full path of your desktop DBC file> Click the Test Configuration button. You will get a message indicating that the test has succeeded or failed.  If you encounter Invalid username password error use the following document for throubleshooting: Actions to Verify When Running Into ORA-01017 While Creating Datasource (Doc ID 1556742.1)
  • Now you are ready to deploy the Hr Organization Chart application.. Log in to the Oracle WebLogic Server Administration Console and navigate to Domain Structure->Deployments and click the "Install". Enter the location of your application ear file (which is the directory containing: OrgChartApplication.ear ) On the next screen, select "Install this deployment as an application", and click Next. Name the deployment and click the "Finish" button. The 'Successful deployment message' appears. Navigate to the Configuration tab, save your configuration as Plan.xml, and then click the "OK" button.
 After deploying the Hr Organization Chart application, you need to edit the plan.xml file manually and deploy the application again.

Here is an example of a modified Plan.xml file.. The plan file is located in your application directory under your base_domain. Its location is actually displayed when you deploy the application in Weblogic Console.

 Simply add the lines written in bold...

<?xml version='1.0' encoding='UTF-8'?>
<deployment-plan xmlns="http://xmlns.oracle.com/weblogic/deployment-plan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/deployment-plan http://xmlns.oracle.com/weblogic/deployment-plan/1.0/deployment-plan.xsd" global-variables="false">
  <application-name>HrOrgChart</application-name>
  <variable-definition>
    <variable>
      <name>app_APPL_SERVER_ID</name>
 <value>F7014942D926056FE04373211EACB56832646424207052220632767349498362</value> --Note that this value is app_server_id  in your DBC file.
    </variable>
  </variable-definition>
  <module-override>
    <module-name>hrorgchar_icin</module-name>
    <module-type>ear</module-type>
    <module-descriptor external="false">
      <root-element>weblogic-application</root-element>
      <uri>META-INF/weblogic-application.xml</uri>
    </module-descriptor>
    <module-descriptor external="false">
      <root-element>application</root-element>
      <uri>META-INF/application.xml</uri>
    </module-descriptor>
    <module-descriptor external="true">
      <root-element>wldf-resource</root-element>
      <uri>META-INF/weblogic-diagnostics.xml</uri>
    </module-descriptor>
  </module-override>
  <module-override>
    <module-name>OrgChart_ViewController_webapp1.war</module-name>
    <module-type>war</module-type>
    <module-descriptor external="false">
      <root-element>weblogic-web-app</root-element>
      <uri>WEB-INF/weblogic.xml</uri>
      <variable-assignment>
        <name>SessionDescriptor_debugEnabled_13999864402810</name>
      <value>true</value>
    </variable>
  </variable-definition>
  <module-override>
    <module-name>hrorgchar_icin</module-name>
    <module-type>ear</module-type>
    <module-descriptor external="false">
      <root-element>weblogic-application</root-element>
      <uri>META-INF/weblogic-application.xml</uri>
    </module-descriptor>
    <module-descriptor external="false">
      <root-element>application</root-element>
      <uri>META-INF/application.xml</uri>
    </module-descriptor>
    <module-descriptor external="true">
      <root-element>wldf-resource</root-element>
      <uri>META-INF/weblogic-diagnostics.xml</uri>
    </module-descriptor>
  </module-override>
  <module-override>
    <module-name>OrgChart_ViewController_webapp1.war</module-name>
    <module-type>war</module-type>
    <module-descriptor external="false">
      <root-element>weblogic-web-app</root-element>
      <uri>WEB-INF/weblogic.xml</uri>
      <variable-assignment>
        <name>SessionDescriptor_debugEnabled_13999864402810</name>
        <xpath>/weblogic-web-app/session-descriptor/debug-enabled</xpath>
      </variable-assignment>
    </module-descriptor>
    <module-descriptor external="false">
      <root-element>web-app</root-element>
      <uri>WEB-INF/web.xml</uri>
      <variable-assignment>
        <name>app_APPL_SERVER_ID</name>
        <xpath>/web-app/context-param/[param-name="APPL_SERVER_ID"]/param-value</xpath>
        <operation>replace</operation>
      </variable-assignment>
    </module-descriptor>
  </module-override>
  <config-root>/u01/WLS/user_projects/domains/base_domain/plan</config-root>
</deployment-plan>

  • After modifiying the deployment plan xml file, you must redeploy the application with this modified plan. Return to the Oracle WebLogic Server Administration Console and navigate to Domain Structure -> Deployments, check the box corresponding to your deployed application , then click the "Update" button.
  • Select "Redeploy this application using the following deployment files:", and make sure it shows your modified Plan.xml file. Click "Next".
  • On the next screen, click the "Finish" button to complete the redeployment.
  • Okay, our work is almost finished...Lastly, Set the External ADF Application URL profile option at the Site level to integrate Oracle SSHR with Applications Development Framework (ADF) and display the organization chart. Enter the location of the Oracle WebLogic Server instance as the profile option value.
For Example: http://ermanhost.ermandomain.com:7003/OrgChart-ViewController-context-root
Note that: Dont use ip address. For Org chart to Work both EBS Server and WLS servers domain names should match.IP Address will not work.
Okay that's all.. Now you are ready to deliver your environment to your Functional HR Administrators.

I hope you will find this post useful.

6 comments :

  1. HR executives are the people who struggle with organizational charts every quarter. If they draw it correctly using a proper organizational tool they can manage their organization well. You can use a online org chart tool for this and use your colors to grab attention of your employer.

    ReplyDelete
  2. Hi Mr.Erman,

    I've been deploy an ADF application to integrated with EBS R12.2.4
    I'm still confuse about deploy ADF to weblogic server, in your post you put the note ( Be careful .. dont use the same weblogic ports as EBS.. ) .it means ADF cannot use the same weblogic server or weblogic port ?

    Thank you,
    Hengky W

    ReplyDelete
  3. Hi Hengky,

    EBS and ADF/HRORG CHART must be on seperate Weblogic Servers.
    These weblogic servers can be in the same machine or different machines, but the weblogic server installations must be seperate.
    Also, if you install the ADF/HR ORG CHART's Weblogic server in to the same server, that EBS application server is running , then you need to configure the ADF/HR ORG CHART weblogic server ports to be not the same as the EBS Weblogic server ports.

    ReplyDelete
  4. Hello Erman,

    We are planning to use certain Manager Self-Service (MSS) functionalities from Organization Chart : Actions Menu.
    1. Termination
    2. Transfer
    3. Change Manager

    In MSS, we have "My List" link on each of the above functions to process Employee records delegated to the Manager (Proxy Manager).
    Is there any similar link available in Organization Chart to process delegated employees (even though the employees doesn't belong to the same hierarchy)?
    How is Proxy Manager functionality implemented in Organization chart?
    Any workaround would be helpful.

    Regards

    ReplyDelete
  5. I got the response from Oracle. "My List" functionality is currently not there in Org Chart.

    Thanks.

    ReplyDelete
  6. Implementing HR organization in WLS need assistance I found it here thank you and I learn hoe to start with the installation of Weblogic Server in my oracle weblogic 12c training in Hyderabad.Thank you.

    ReplyDelete