Monday, April 12, 2021

#840 Box to HCM Cloud --> HDL File Load

Simple scenario here: read HDL file from Box and upload to HCM 

This is a customer use case, where she edits HCM worker.dat files and then uploads them to a folder on Box. OIC will be the plumbing between Box and HCM. 

Box adapter will be used as a Trigger in the OIC integration -

Box Developer Setup

First step is to get yourself a Box account and then go to

Create an App - 

Copy the Client Id and Secret for future use - 

Set the Redirect URI -

format is myOIC:443/icsapis/agent/oauth/callback 

Select Read/Write - 

Generate Primary and Secondary Key - 

Copy these for future use.


Create Box connection in OIC

Then Click Provide Consent

Then your connection should show 100% complete. 

Save and Exit.

Now to a simple sanity test - create a folder in Box and copy the folder id.

This is in the url.

Create an App-Driven Orchestration

Drop the Box Connection as a Trigger and configure as follows - 

I add a Log Action - 

Activate and Test by uploading a file to Dropbox -

Now to the HCM side of the house...

Here is my Oracle HCM Cloud Connection - 

Here is it's configuration in my integration - 

Now back to Box, I have received the notification a file has been uploaded, but now I need to actually download that file - so I leverage the Box connection, configured as follows - 


Mapping for Download - 

Now to the mapping for the HCM HDL upload - note, I am only displaying mapped fields.
I pass the file reference from the Box FileDownload and I also set the Target FileName to that from the initial Box FileUpload Trigger.

Now to test - Here is a sample worker.dat -

I zip this up and upload to Box -

Here is the response from HCM - 

I check the upload in HCM itself - 

Import and Load have completed successfully - 

I check for the new employee in HCM -

The final integration is as follows - 

Now, one could also add a check on HCM import/load process. In this case the customer wants a response posted to Box with import/load status and, if successful, some fields from the employee record.


You could implement this in the same integration, but, probably better to externalise this - have a scheduled job that runs frequently, checking on import/load progress and updating Box accordingly.


No comments: