Showing posts with label integration cloud. Show all posts
Showing posts with label integration cloud. Show all posts

Thursday, 20 February 2020

Oracle ICS/OIC/AIC : ERP Callback implementation

Why? - Bulk import(FBDI) in Oracle ERP Cloud integration service is a long running process that require asynchronous callback pattern to notify user/error handling upon job completion.

Where? - ERP Cloud integration services provides infrastructure for user to register their callback service that could be invoked from Or acle ERP Cloud when import job is completed.

What? - The ERP callback returns the status of the bulk process including all the sub processes executed implicitly. It includes the log and error files (compressed in a ZIP format) of each sub processes and the original data file.

When? - The callback web service endpoint URL is registered when invoking importBulkData or exportBulkData operations from ERP Integration services. ERP Cloud will invoke this service upon job competition respectively.

How? - To implement  the call-back capability of the ERP Cloud adapter there are two basic steps/things that you have to do.

1. Import the ERP Cloud certificates.
2. Configure the ERP Cloud Adapter.

For the first part, you can follow the steps mentioned in post oracle-ics-import-erp-cloud-certificates

For step 2, do the following:

Create your ERP Callback integration flow (Say identifier is CALLBACK)
a. Create new integration using orchestration pattern (app driven)
b. In your integration flow, select ERP adapter and configure as follows:











c. Below design to download the log file associated with the ERP process








d. Activate callback and use this callback integration flow in your import integration flow as shown below #c


In your main integration:
a. Drag and add the ERP connection that you have created
b. Enter the name  and on Request page configure the operation you need to perform.












c. On the  Response page enter you call back integration identifier and version


d. Activate both the integrations and enable tracking to view the response payload.
The integration should automatically download the callback file which contains the logs, error and original data files.

Helpful? Comment.

Happy Learning!


Saturday, 23 June 2018

Oracle ICS : How to use Lookups in integrations - lookupValue function



To use a lookup in your integration, ICS provides a function : lookupValue which is configured with the Build Lookup Function wizard.

You may have already created a lookup on the Lookups page.
On steps how to create a lookup you can follow the blog page: Oracle ICS : How to create Lookups

Below are the steps to access and use a lookup.

1. Build Lookup Function Wizard:
  a. Go to and open your Integration (Edit mode)
  b. Open the Expression Builder (in mapping, assign, filter and other flow actions)













   c. Expand Components   
   d. Expand Functions > ICS
   e. Drag the lookupValue function into your expression box

You can also search for 'lookupValue' in the search box for Components.

The Build Lookup Function Wizard is displayed.

2. Setting up the lookup function:
    a. From the displayed lookups select the lookup you want to use (I have used the same lookup i created earlier)









 
b.  Click on Next 

The lookupValue function requires a source and target column.
The source column refers to your source value and the function returns the value in the corresponding target column.
If not found it will return the default value(if you define one)

Basic signature:
lookupValue(dvmlocation, srcColumn, srcvalue, targetColumn, defaultValue)

   c. Click on 'Select Source Column' and select the source column
   d. Repeat for Target Column
   e. Lookup definition will then look like below:








   f. Click on Next
   g. Enter a default value example: 'No Value Found' or leave blank
   h. Click on Next

Summary is like below:
















   i. Click on Done 
   j. You will see a Warning message because srcValue is not yet set
   k. Click on OK
   l. The expression is like below:

dvm:lookupValue('oramds:/apps/ICS/DVM/CountryNameLookUp.dvm','CountryCode',srcValue,'CountryName','')

  m. Remove the srcValue and map/enter the value you want to use.
  n. If hard coding, enter the value in quotes - example 'IN'

dvm:lookupValue('oramds:/apps/ICS/DVM/CountryNameLookUp.dvm','CountryCode','IN','CountryName','')

 3. Validate and Save.

When you will run your integration the lookup will fetch 'India'.


Helpful? Please Comment.

Happy Learning!!


Oracle ICS : How to create Lookups / Domain Value Map (DVM)



In Oracle ICS lookups are pretty simple and easy to configure and use.
They are also easy to migrate from one environment to another.

Below is a detailed explanation of how to create lookups in Oracle ICS.

1. Login to Integration Cloud Service domain.
2. On the home page click on the Lookups diagram












3. Click Create on the right top corner.
The create new lookup dialog is deisplayed

4. Enter a Name, an optional Description and click on Create.














5. The lookup page is displayed.
6. Click on the domain name and select Edit Domain Name to change name.








7. Enter a new name and click on OK. (Character limit is 50)









8. Similarly edit other domain name.
9. Add new domain/column by using the '+' on the right hand side.
10. Enter a value in the field below the domain name. To add more rows click on '+' on the bottom.
11. Repeat to add more domain and values to the lookup.
12. Your lookup will look like below:








13. Click Save when complete.






Helpful?? Please Comment

Happy Learning!!

Sunday, 8 April 2018

Oracle ICS : Difference between Orchestration and Map Data Style/Pattern


When you are creating an integration in Integration Cloud there are 4 styles/patterns of integration that you can create. This is in the version 18.1.3.0.0 of Integration Cloud.

In this post, I will explain to you the difference between going with;
   a. Map Data
   b. Orchestration



The other 2 are for ICS to/from integration which I will explain in a different post.

Now, when creating integrations your requirement may vary as to how you want to interact with/between two or more services.

On that note:

a. Map Data: This style is used when you only want to talk between 2 services. Here 2 services mean one which is talking to the source(trigger) and the other which is talking to the target system(invoke).

So either you would be having:

    i. One way exchange:

Ex: Read from a Queue/File/DB/WebService and send to another Queue/File/DB/WebService.
Read the data, transform/filter/enrich it and then send it to the target service. No response required  from target. In this case you have only one map(transformation).

    ii. Synchronous exchange:

Ex: Take input from the source, call a service with that input and get a response back. Enrich/filter/transform the data received and send it to the source.
Here you have 2 mappings: Request and Response.

You will also have a fault map which you can use in case there is any fault in the target service.

Your use depends on the type of service and business requirement you are trying to achieve.

b. Orchestration: Orchestration style is used when you want to invoke multiple services and perform actions(condition/looping/transform/logging/alerting/notifying etc) in between, finally to achieve one business requirement/outcome.

Simple Ex: Read data from a DB table, loop through each record and based on condition write to 2 different files and SFTP them.

In Orchestration style we can achieve a great amount of data processing and application of business rules using the available actions(or activities).

Not all actions which were part of OSB are there presently, but they may be added in future releases.


Helpful?? Please Comment.

Happy Learning!!



OSB 12c : Dynamic Routing to Business/Proxy Service

Dynamic routing is a kind of  Content-based Routing pattern, which is used when the BusinessService/ProxyService path is required to be de...