Thursday, November 16, 2023

OIC - Import (Replace) a Lookup | Update an existing OIC Lookup based on base64 encoded CSV file as rest feed

Usecase: We have a requiremwnt that we will create a reusable integration which will take input as lookup name and base64 encoded csv content and update or replace the OIC lookup based on that CSV file.

Logic steps:

  1. Create 2 connections
    1. Rest trigger connection
    2. OIC Rest invoke connection for oic lookup update rest api call
  2. Create an app driven orchestration style
  3. Configure rest trigger with the following:
    1.  Request: 
      1. Base64 encoded csv content
      2. Lookup name
    2. Response:
      1. jobStatus
      2. Exception code, reasona and details
  4. Assign globals 
    1. Content: decodeBase64ToReference(base64StreamRef)
    2. Exception code, reason, details and result variables
  5. Take a scope and drag and drop created oic rest invoke connection and configure to update the lookup
    1. Api: /ic/api/integration/v1/lookups/archive
    2. Verb: Put
    3. Request: Multipart/form-data
    4. Response: binary , other media type: application/json; charset=utf-8
  6. Map the following:
    1. AttatchmentReference : content
    2. contentType: applocation/octet-stream
    3. partName: lookupname + ".csv"
    4. fileInputHtmlFieldName : file
  7. Go to default fault handler and assign the scope fault details and result as "UPDATE_ERROR"
  8. Assign the final response.

Rest trigger Request json:
{
"base64StreamRef":"ref",
"lookupName":""
}

Rest trigger Response Json:
{
"jobStatus":"",
"jobMessage":"",
"exceptionCode":"",
"exceptionReason":"",
"exceptionDetails":""
}

Detailed steps with screenshots:

Create OIC Rest connection:





Create a rest trigger connection:



Create an app driven integration and configure the Rest trigger









Take a scope and configure OIC rest invoke adapter to update lookup





Assign global 
Content as decodebase64ToReference
Different exception details variables



Map the required details to update the lookup


Map the exception details in default handler




Do the final response mapping.




Add tracking and activate.

Create a lookup


Export the lookup file



Update the lookup file.


Test the file


We can see that the lookup has been updated.


Test with wrong file details and see the exception details in formatted manner.


Note: this is to update or replace existing lookup. To import new lookup file, use rest verb as post instead of put.

No comments:

Post a Comment

Featured Post

11g to 12c OSB projects migration points

1. Export 11g OSB code and import in 12c Jdeveloper. Steps to import OSB project in Jdeveloper:   File⇾Import⇾Service Bus Resources⇾ Se...