Snap Execute snap with Oracle Cloud HCM Data Loader (HDL)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-04-2020 05:58 AM
We are new customers of Snaplogic and Oracle Cloud HCM and are trying to use Snaplogic for integrations with Oracle Cloud HCM (OC). One of our first projects is to update a flexfield on OC with our custom ID number for each person listed in the a csv file that we will receive from another process. We are using the OC HCM Data Loader (HDL). Outside of Snaplogic we transform the info. from the csv to a “.dat” file in a format that HDL uses, and then zip the file as required by HDL. I have loaded and processed the file manually using HDL so that I know that the file and HDL are working properly. Now I want to use Snaplogic to automate a process to run nightly to update OC
What I want Snaplogic to do is:
Send the zip file to OC.
Initiate the process on OC to process the contents of the zip file.
Store/log the results of the transactions.
I plan on using the SOAP Execute snap for this unless I find a better method.
The first thing I need to know is how to use Snaplogic to send the zip file to OC. It looks like I need the file to be loaded into the envelope in BASE64 format as “Contents”. How do I use Snaplogic to get the file from the server into snaplogic, transform it to BASE64 format and get it into the envelope?
Thanks in advance,
Scott

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-04-2020 06:10 AM
You can use a File Reader snap to read the file contents. Depending on your setup, you may to create a Binary Account for the snap to use to access the file (i.e. if reading from a FTP server or Windows share).
Then you can use a Binary to Document snap with no decode to make the contents available.
Finally, you use a Mapper snap, use the Base64.encode($content) function to encode the file contents and create the final envelope before calling the SOAP Execute.
This may not be complete for your example, but hopefully it gives you a good start.
Hope this helps!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-04-2020 07:07 AM
Thanks Kory! This is very helpful!
Do you mean that I should create the envelope outside of the SOAP Execute snap and then pass the entire envelope in as a parameter somehow, or should I somehow pass the base64 formated file into a variable in an envelope that I previously have built inside the SOAP Execute snap?
Any info. on how to pass the parameters into the envelope would be helpful.
Thanks!
Scott

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-06-2020 03:39 AM
@swright - You can pass variables into the SOAP Execute snap via the input view and reference them in the “Custom Envelope” window. See the documentation on the snap for an example.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-07-2020 09:38 AM
As suggested I used a file reader, then a Binary to Document snap, then Mapper snap, but when I use the Base64.encode($content) in the mapper snap has an error saying that $content is undefined. I’m not sure where I went wrong…
Also, I have the Encode or Decode in the Binary to Document snap set to ‘NONE’ but I notice that it could be set to ENCODE_BASE64. Should I be encoding it here rather than using the function Base64.encode($content) in the Mapper Snap?
Thanks,
Scott
