Thursday, June 13, 2019

#711 Oracle Integration Cloud 19.2.3 Release - New Features

The official doc describing the new features etc. is here

Some things that caught my eye -

Integration Improvements

Inline Activity Stream with timestamps -

New Automation Anywhere adapter -

Automation Anywhere provide a 30 day free trial -

Just click here

Ability to edit a Schedule from the Integration design page -

Note the 3rd icon above - clicking on this will bring you to the schedule edit page.

Monday, June 3, 2019

#710 Oracle HCM from an integration perspective

Before one jumps into integrating with HCM, I suggest spending some time looking at HCM more holistically. What are the ways in and out of HCM, and which of these relevant to OIC.

A big thanks to my appsTech colleagues, Nev and Leon, here.

Spreadsheet Loader

This functionality is aimed at the HR professional and can be used for tasks such as loading new departments, job codes etc. The data is loaded into the HCM Data Loader stage tables. From there they are loaded into the application tables.

As you can see, it leverages HCM Data Loader under the hood.
Here is a succinct description of the spreadsheet loader from my HCM colleagues -

Spreadsheet Loader is designed to be used by non-technical end users who wish to upload data from their desktops. That data could be reference model or even transactional and given the capabilities of Excel, data sets could be quite large.
The individual fields within the spreadsheet and pre-programmed defaults are designed by a technical person who creates a Spreadsheet Loader Template.
The process required to create the Template requires a fairly deep understanding of the data model and how fields will be used and presented in the application, therefore creating the Templates is a technical task.

There are many business processes which require data to be corrected in bulk and Spreadsheet Loader is a great way for the business to this without too much technical help.

The docs are available here

Not relevant to OIC.

Data Loaders - HCM Data Loader

HCM Data Loader is a powerful tool for bulk-loading and maintaining data. The data can be from any source. You can use HCM Data Loader for data migration, ongoing maintenance of HCM data, and coexistence scenarios, where core HR data is uploaded regularly. 

You can load data from either delimited data (.dat) files or spreadsheets. You can load most supported business objects using either method. You can generate business-object templates to use as the basis of your own .dat files. For a selected business-object component, the template includes every attribute, including those for configured flexfields. When using spreadsheets, you define spreadsheet templates to suit business needs and generate spreadsheets from those templates.

Data Loader files are known as HDL files (HCM Data Loader).

Above, you see an example of a zip file containing HDL files. The main file is Worker.dat, but as you can well imagine, the other files are referenced by it - e.g. Job, Location etc. The loader is pretty intelligent. When importing a worker, you need a valid job id. This job id could be in Job.dat, the loader will validate as necessary.

You can initiate HCM Data Loader using a web-service call, 
which enables you to automate data upload. This is used by the OIC HCM adapter.

Data Extracts - HCM Data Extract

The HCM Extracts feature is a flexible tool for generating data files and reports.
An extract definition refers to the complete setup of an extract, that consists of extract data groups, criteria, records, attributes, advanced conditions and output delivery options. An extract definition consists of:

One or more extract data groups, depending on how many logical entities you want to extract.
(Data extract group - business area or logical entity e.g. benefits, employee.)

One or more extract records depending on how many groups of information you want to collect.
(e.g. Employee data group can have records such as Basic Details, Pay Details, Location Details, and Primary Contact)
One or more attributes depending on how many individual fields of data you want to collect.

You use HCM extracts to extract, archive, transform, report, and deliver high volumes of HCM data from the Oracle Fusion HCM database. You can generate the output in the following formats:


You can distribute the extracted information by email, fax and other delivery modes. Some common examples of extracts are: PDF payslips delivered to employees' mailboxes, payroll or benefits data transferred to third-party service providers, HR and talent data exchange between Oracle Fusion and legacy applications, for example in a coexistence scenario.

Check out the docs here for more information.

Supported by the HCM adapter in OIC.


2 broad groups of SOAP APIs are available -

1. Business Object Services: Services that expose data and operations on a business object such as an opportunity or a marketing campaign. These services are implemented using the Application Development Framework (ADF). Therefore, the services share interface structure, common types, and standard create, read, update, and delete (CRUD) operations.

2. Process Services: Services that orchestrate business processes and not centered around any particular business object. These services are typically implemented using Service-Oriented Architecture (SOA) composites.

Programmatically Initiate HCM Extract or HDL

Data Loader – Bulk Load automation 
Extracts Action –Extracts Automation 
Flow Action-Extracts Automation 

SOAP Services are defined via the following ServiceCatalog WSDL -

This wsdl is used by OIC and is part of the OIC HCM adapter configuration.

REST API - Oracle HCM Synchronous API

So to a simple example -

We can use the REST api to update an employee's email address.

This change can be "pushed" to Oracle Integration (Customer Orchestration Layer)
via Atom Feeds and then disseminated to other 3rd party systems.

REST API is supported by the OIC HCM adapter.

Atom Events

Atom feeds enable you to keep track of any changes made to feed-enabled resources in Oracle HCM Cloud.
So what are these resources?

Check out the full docs here

Atom Feeds are supported by the OIC HCM adapter.

Deep Linking - initiate actions in HCM Cloud from external apps

Deep links provide easy navigation directly to a page in the HCM Cloud application. Many deep links are now available for new mobile responsive pages that can be embedded in your intranet, a custom or third-party application, or in a document so employees can quickly access their HCM information or initiate transactions in HCM Cloud.

So essentially, Oracle HCM supports certain URLs that provide a direct access to specific actions within product. For example, users can click on a hyperlink in an email, portal or other environments outside HCM, allowing them to navigate directly to a screen in the application.
If single sign-on (SSO) is used, users are directed directly where the URL points to, without having to go through the User Sign In page. If SSO is not used, users are first prompted to enter their credentials in the User Sign In page before being able to access the page defined by the URL.

For example, the following URL directs users to their profile page

Naturally - deep links are not supported by OIC integrations.

Thursday, May 23, 2019

#709 OIC: Process --> Leveraging Machine Learning

Check out the great Machine Learning demo
from my colleague Chris P. here

Tuesday, May 14, 2019

#708 OIC Taleo EE (OTAC) - Create Requisition

As you can see, I am looking to hire a philosopher.
The above "Requisition" was created via the Taleo UI.

But how could I leverage OIC to do the same?

My first port of call was TCC -

As per the previous post - I need a wrapsoap file describing the Requisition.

Now I am just kicking the tyres - I have no sample input csv file, I don't know what a
Requisition looks like; so where do I start?

Taleo Connect Client

Note the pre-selected columns, these come from the template.

I save the import file -

Once saved, I can generate a .csv file -

You may need to set the path to Excel first -

I rename and amend the file as follows -

Now to the Configuration File -

I specify my sample csv -

Save the Configuration file and then run -

Note that I do not have a link under Wrap SOAP.

Back to the Configuration Definition -

Set the Temporary files folder -

Save and re-execute

Links to the files are now available -

Click on the Wrap Soap link and save the file -

Oracle Integration Cloud

Extrapolate from post #705 to create the OIC integration.
Click here

Friday, May 10, 2019

#707 Oracle Process Cloud - linking to a process instance

Use case here - Customer wants a process creator to be notified when a process has completed.
In this case, an email containing a link to the process history in Workspace.

The link should bring me here -

The link has the following format -
(thanks to my esteemed colleagues Eduardo and Sudhakar for this)


I try this out with the my instance id -

Now to my process - not the most complex of processes, I'm sure you will agree.

I add a Notification activity before Completed

and also a Data Association -

The variables are then used to construct the email.

Thursday, May 9, 2019

#706 OIC Taleo EE / OTAC adapter - Importing Candidates

Welcome to the world of Taleo EE now known as OTAC -

OTAC = Oracle Talent Acquisition Cloud


Today a simple example of leveraging the new Taleo EE adapter in OIC.
This leads on from the previous post on this topic - you can read it here

I am going to import the following Candidates, contained in the file candidates.csv,  into Taleo,
nothing like keeping it in the family.

The input candidates.csv file has a particular format -

That equates nicely to the Taleo Candidate format.

This format can be generated from TCC(Taleo Connect Client) as mentioned in the previous post.

The generated file I am using - let's call it the wrapsoap file - has the following format -

Again, this is based on the Taleo Candidate definition - one just chooses which Candidate attributes one wants to use. The file will then be used by the Taleo adapter in OIC for mapping purposes.

Now to avoid any confusion - the adapter documentation specifies TCC as pre-requisite. This is purely to generate these input data format files. TCC itself is NOT used by OIC to communicate with Taleo EE.

Ergo, TCC is required only at design time and NOT at runtime.

So back to our wrapsoap file - here is how you generate such for Candidates -

Choose the operation - merge

You will see the following -

Click on the Columns tab -

Here you can select the Candidate columns for importing -

Just drag and drop from the Structure panel -

Note, here I am building the same structure
Save this file.

Next step is to create a new Configuration -

I base this on the import file I previously saved.

I then set the Temporary files folder -

Here you see the step where the wrap soap file in created -

I set the response to No File needed -

Final step is to run this with my sample file containing 2 candidates.
I save the Configuration file and then click the execute icon.

I check the progress in Monitoring -

I click on the Wrap SOAP link -

And save the file...

Ok, so what do I have now?
1. candidates.csv file with my 2 new candidates -
2. Target Candidate definition (wrapsoap file) for Taleo EE.

Now on to OIC...

Creating the Taleo Integration in OIC

My simple integration will do the following -
1. download the file from my ftp server via the FTP Adapter
2. read the file using the STAGE FILE Action 
3. Leverage the Taleo EE adapter to import the candidates into Taleo
4. Receive back a MessageKey from Taleo

This key can then be used to query the status of the import.

Here is my Taleo adapter configuration -

Here is my Integration -

I will skip the download/read actions and go straight to the Taleo Import -

Note the use of the file we generated in TCC - this contains the candidate definition.

Now to the Mapping -

Now let's run it...

I check out the Activity Stream -

Note the MessageKey returned by Taleo.

Let's check out our new candidates in Taleo -

Now back to the MessageKey, returned by Taleo.

This can be used to check on the Import Status.
Note the use of a loop here - I check until the Status = 5, i.e. import completed.

From the docs...

Note the invoke of the Taleo Adapter - getImportStatus

It is configured as follows -

The Request Mapping is as follows -

Note: I have assigned the MessageKey returned to a variable.

I then update the status with the response from getImportStatus -

Note the CorrelationKey - this will be used to retrieve the importResult (itself a file) later.

Ok, now the import has completed - let's get the result -

getImportResult is configured as follows -

Request mapping as follows -

I save the result to a file on the OIC virtual file system using the STAGE FILE Action -

Note the use of a function - oraext:encodeReferenceToBase64

The Write file has been configured to use an xsd -

The xsd is very simple -

Final step is to Write the file to my FTP Server -

The result of a test -

It is very important to check the file - it may seem in OIC that all has completed successfully -
however, all that it is tell us is that the import has been started and then completed. The result, whether it was successful or not is in this file.

Here is an example, containing errors -