Quantcast
Viewing all 875 articles
Browse latest View live

#680 Oracle Integration --> Consuming Fusion ERP REST Services

This post of a customer question - How can I easily create an invoice in ERP?

I checked out the Fusion ERP REST API documentation here

and found the following -










The request payload example was as follows -


















I had to run a couple of reports in ERP to get valid values for -
1. Business Unit
2. Supplier
3. Supplier Site












Then I tested the REST call in Postman -

























I then logged into Fusion ERP and looked for the invoice -


















So far so good, now to OIC -
Here I create a REST connection to Fusion ERP












I then create a scheduled integration - read the invoice from an FTP server and
invoke the above.

























that's it!


#681 Oracle Asserter - Regression testing in Oracle Integration (OIC)

This is a feature flag for OIC.

Oracle Asserter allows us to record integration executions and use these recording for regression tests etc. These recordings can also be submitted to Oracle for inclusion in OIC regression tests.

So how do we go about Asserting?

I have a very simple OIC integration here -
























I now activate it -

























Note the Checkbox - Enable Asserter Recording -

I now test the integration via postman -

























I check back with the Asserter -





































As you can see, I have done a couple of tests.

I can playback the recording -














I check the Tracking page and see the original flow and the replay -


















I check out the audit trail for the replay and see it returns the same orgId - 8114 - as the original.




















Finally, submitting recordings is very easy -



























#682 - Oracle Integration (OIC) - New Features - Integration calling Integration

Again a Feature Flag capability -

Here is a simple example -

I have 2 integrations -
















Up until now, to invoke one from the other, one had to create an explicit connection to the target integration.

So what''s available now?

Here I am editing AA-Dubai-Demo -













Note how the Integration Artifacts tab now shows integrations as well as processes.
















I drop Local Integration onto the canvas -






















The design has been updated accordingly -
























I do the required mapping -










I then activate and test -
























I check OIC - Monitoring -















#683 Oracle Integration - Integrating with Oracle Field Service Cloud

I needed to get a demo together quickly for a customer visit and, thanks to my Field Service colleagues, that's just what I did.

The scenario is simple - create an Activity for a Field Service engineer.

My input payload to OIC is as follows -

{"resourceId":"33001",
"apptNumber":"APPT00002",
"activityType":"05",
"duration":40,
"timeSlot":"08-10",
"WO_TYPE":"COM",
"customerName":"Niall Commiskey",
"streetAddress":"Harmonstown Grove",
"city":"Sanford",
"postalCode":"32771"
}

Now to the fields above and a quick intro to Field Service.

resourceId -

is the id of the person to whom the task will be assigned.
So who hides behind the number 33001?











William Arndt is our man! A Stakhanovite of a worker!

activityType -



































so 05 is Commercial Facility Maintenance

apptNumber -
Appointment number

duration-
Time allocated to the activity

timeSlot-
in my case, between 08:00 and 10:00 am

WO_TYPE
Commercial (COM), Residential (RES) etc.

Here is the Integration -

REST Trigger then Invoke of the Field Service Adapter -
























REST Request / Response -



















Invoke of Field Service Adapter -




















Test via Postman -



Check in OFS -
























So now let's this to the next level -
Enter an Activity and assign customer Inventory to it.
e.g. get William to fix the customer's generator - the latter being the Inventory.


I can use a different operation for this -











More details on the Bulk Update Activity are available in the Oracle docs here








Here is the sample Request Payload -



























Now to my mapping -

Here is the Source - as you can see, I have augmented the request payload with the inventory fields -
























Here is the Target -
























As you can see above, I have hardcoded the updateParameters fields -

identifyActivityBy is set to "apptNumber" (Appointment Number)

ifInFinalStatusThen - what's this all about?

If the activity with apptNumber "APPT0004" exists in the system it will be updated, unless it is in the status 'Completed' (which means no changes will be performed according to the "ifInFinalStatusThen": "doNothing" option).

I'm glad that's cleared up!

The rest of the mappings are as before, except for the inventories section.

I test from Postman -
























Here I'm sending William out to fix Uncle Paudge's Compressor.

I check in OFS -

























#684 - Oracle Field Service OIC adapter support

The screenshot below shows the business objects supported by the Oracle Field Service adapter-
















Let's compare some of these with the REST API -











































Now to map from adapter to REST API -




















































































So you get the idea here.

There are some deltas, which is understandable from a functional perspective -



















The REST API is naturally richer -


























#686 OIC - VB CS for Oracle Field Service

Leading on from the previous posts - as we all know OIC is the Swiss army knife of Integration - helping you connect, extend and create apps.

Better than the Irish Army knife I had while serving my country in the  Fórsa Cosanta Áitiúil























So back to Visual Builder and how it can help us in respect of Oracle Field Service -

I begin by looking at the OFS REST apis, specifically the following -











I test this in Postman -





















Now to VB CS - I create a Service Connection -














I cut and paste in the response from Postman -
























I then test -


















I now create a web app and edit the main page -

















Simple logic here - enter an Activity Nr, then click the button and, quelle surprise, the activity details will appear.

I have defined a couple of page variables - these will be used in the call to the service connection -



















I bind these to the page fields -








You get the idea!


Now to the event executed, when the button is clicked -




































I assign the input/output parameters -























I test -

























I can, of course, create a Service Connection, based on an Integration -




















#687 OIC - Subscribing to Fusion ERP Events

Which Business Events are supported?

















Check the list out here

What has to be done to enable OIC to consume Business Events


Check out the ERP adapter doc here



















Defining your Fusion ERP adapter 


Here we need to add an entry - ERP Event Catalog URL









Now to a simple example...

Creating an Integration that subscribes to Events


This is based on a lab created by my colleagues Kishore, Subhani and Narayana - kudos to them!

So the use-case -
User creates a Purchase Order(PO) in ERP Cloud and a PO event is raised.
Oracle Integration subscribes to the PO event, transforms and pushes the relevant information to the relevant target.

The target in this case is a business object defined in VB CS -
















Note the endpoint URL for this -
















I create a REST connection in Integration for this -
















So now, armed with the ERP and REST connections, let's create the integration.

It is of type App Driven Orchestration -

















The Trigger is the ERP Purchase Order Event


















Now to the filter expression - I am only interested in those for "Lan Cable NiallC"

I set the Response type to None -
































I now add the REST Invoke to VB CS PO Business Object -
I will first check if the PO exists.



















































I then assign a variable to hold the count of POs found -













If Exists - let's update
otherwise - create a new PO record


So in the if path I do the following -
1. create a new variable for the VBCS PO ID













2. drop the VB CS REST adapter again and configure as follows -



Set Request / Response -





































I map as follows -




























I now add an Invoke (Create) to the Otherwise path -



















I then do Map to CreatePO -












That''s it - let's test this.

But just before doing so, here is the data already in PO -














I log in to Fusion ERP and create a PO -












































Now I specify Lan Cable NiallC, remember? - that's the product for which I'm filtering the events.







I submit the PO -





Now back to OIC Monitoring -










My PO has been created in VB CS -

















I have a simple VB CS web app for managing these POs -
























Great stuff - thanks guys!

#688 OIC for HCM - Data Extracts

This post is more a note for myself.
I need to demo HCM extract functionality via the OIC HCM adapter.

I have access to an HCM environment - but don't have an extract to play with.

So I do the following - export one of the preseeded Extracts - Worker - and then import under a new name.











Export -













Import -











The result -




















Now I edit -

















As you can see, I added Delivery options - specifying Output Type - Data - so as to avoid having to
specify a Report(BI/Report) / Template Name.

Note: Delivery Type is set to WebCenter Content.

I also set the Integration Name to NiallCWorker - this is what I will specify when accessing the extract in OIC. 

I then Submit the Report -

































Then I create the integration in OIC that will pick up this output and send it to an FTP server.

























getExtract is the Invoke of the HCM adapter - configured as follows -














The FTP Invoke is configured as follows -





















I activate and test -













This file turned out to be ca. 175MB.
So I refined the extract to include changes only.



#689 OIC - VB CS leveraging Integrations - required configuration

#690 Extending Oracle HCM with OIC

Here is a simple demo I created for a customer.
The use case: Process new hires from HCM in a custom app.

Ok, in order words, a simple SaaS extension app.
I decided to use Visual Builder(VB CS) here, well that's not really the whole truth - this is what the customer wanted to see.

Here's essentially what I did -

1. Created an app in VB CS. This app contained the following business object.


















This business object contains the fields from the HCM Atom Feed to which I will subscribe.
I also created a couple of pages to manage the employee -




















main-start displays a list of all employees.
main-edit-employee - displays an employee in edit mode.
This page also offers us the opportunity to retrieve the full employee details from HCM -


 












Note the GetDataFromHCM button. I use the HCM REST api to retrieve the emp data.
I will also use the REST api to update the said employee in HCM.

Here is the Service Connection I use.
































The key for the GET is the personId, contained in the Atom Feed.

The GET request returns the following structure - a very long structure, which I have shortened for readability. Essentially all employee attributes are returned.

{
    "items": [
        {
            "Salutation": null,
            "FirstName": "Frankie",
            "MiddleName": null,
            "LastName": "TSOAPUI_LName10031",
          ...
         
            "WorkEmail": "TSOAPUI_10031@test.com",
            "AddressLine1": null,
            "AddressLine2": null,
            "AddressLine3": null,
            "City": "Harmonstown",
           ...
            "PersonId": 300000172272525,
            "EffectiveStartDate": "2019-03-01",
            ...
            "WorkerType": "E",
            "links": [
                {
                    "rel": "self",
                    "href": "https:/yourHCM/emps/00020000000EACED00057708000110D93BB36B8D0000004AACED00057372000D6A6176612E73716C2E4461746514FA46683F3566970200007872000E6A6176612E7574696C2E44617465686A81014B59741903000078707708000001694600040078",
                    "name": "emps",
                    "kind": "item",
  ...

The composite key is the hash value highlighted above - 002...
This key is required when updating the employee.

Now to the page that allows me to update the employee - I just display the City value here -











Note - I display the EmpID in "disabled" mode. Just to show that I have stripped off the leading url returned by the GET.

That I do as follows - thanks to my colleague David K. for the code.














My version worked, but was much more pedestrian.

I call this (Call Module Function) in the following EventChain - triggered when I click GetDateFromHCM -

























As you can see, I assign the result of the function call to an application variable - var_hcmid.

The EmpID field on my screen is set to this -















2. Created an Integration that subscribes to the Atom Feed -


























The HCM Adapter invoke is configured as follows -


































I then leverage a connection based on the VB CS Employee Object REST API, to update the aforementioned.
















That's it.

3. To Test - I simply select the Integration menu option - Submit Now.











I check the Employees - I now have 13 rows -











I run the VB app and select a new employee - I click GetDataFromHCM -

The city is Harmonstown -












I change to Howth and click Update City -












I validate via Postman -














#691 Gen2 Streaming from Oracle

#692 OIC - Subscribing to Fusion ERP Events part 2

Some more details -

We need to do some work on the ERP side to ensure events get propagated -

From the docs -

You must create a CSF key to subscribe to events in Oracle ERP Cloud. This key is
required by the event handler framework when it invokes the integration. The
credentials of the integration are managed by the CSF key. Create the CSF key in
Oracle SOA Composer.

Open SOA Composer on the ERP pod -







I click "Manage Security"












Note the csf-key is a concatenation of
the OIC Identity Domain and the OIC Service Instance.

You can get these values by clicking the About box in OIC-Integration.













I don't usually read the docs but in this case, it did prove useful.
Not only for the csf-key stuff above.

Click here for the ERP adapter doc.

Also - to find a list of the events supported -




















You can get a list of who is subscribed to which events via the following REST request -

https://yourERPEnv/soa-infra/PublicEvent/subscriptions/

e.g.
{"subscriptions":[{"csfKey":"yourCSFKey","endpointURL":"https://yourOICEnv:443/ic/ws/integration/v1/flows/erp/yourERPIntegration/1.0/","filter":"$eventPayload/ns2:result/ns0:Value/ns0:PurchaseOrderLine/ns0:ItemDescription="DHL"","name":"{http://xmlns.oracle.com/apps/prc/po/approval/PrcPoApprovalComposite/PurchaseOrder}PurchaseOrder",


You can also delete subscriptions, via the REST API



#693 iPaaS update from Gartner and it looks good for Oracle

#694 OIC --> Process: using external forms

Here is my simple scenario - approving a new Organization, before it is created in Service Cloud.




















Here is my basic form - created in Process.





















However, now I can add an external form (ui) to my Process application -
















Before I add it, I need to create it.

I will use VB CS for this.
Note the inclusion of the Task Id field.

This field will be used later to update Process with the outcome (Approve/Reject)














From a functional perspective, I need to pass the values of Organization and Country
from Process to VB. From a technical perspective, we need to include taskId.

So, I add these 3 parameters to this VB CS page.


Note the checked -
Input Parameter --> Pass on URL


I bind the 3 form fields to these variables, as per -


I can test this out in a Browser -



https://myOIC/ic/builder/design/MyVBCSApp/1.0/preview/webApps/org-approvalapp/?param_orgName=NiallCOrg&param_orgCountry=DE&taskId=6789




Now back to Process, where I click - New External UI -

I specify the URL for my VB CS form.
I add the 2 functional parameters.
I do not need to add the taskId parameter explicitly.







Image may be NSFW.
Clik here to view.













I now apply the new form to the Approval step -


























I do the Data Mapping -













I now activate the Process and then test -











I now login to workspace to approve the new organization. This will be done via the external form from VB CS.











I check the network tab in chrome and see the url -

https://myOIC/ic/builder/design/MyVBCSApp/1.0/preview/webApps/org-approvalapp/?param_orgName=HOTD&param_orgCountry=UK&taskId=200668



#695 OIC - Subscribing to Fusion ERP Events - part 2

This is the second part of my simple demo of subscribing to Fusion ERP Events.

Part 1 is here

In  part 1 the Purchase Order event (create/update/delete) triggered an OIC integration that pushed Purchase Order data to a Visual Builder app.

In the VB app, I can change the PO.

Part 2 - will now cover how to update the PO in Fusion ERP from VB.

Here is the form in VB -




















In my example, I will update the LOC Id (Letter of Credit Id) value.
Clicking Change Order will call an OIC integration that updates the PO in Fusion ERP.

The Integration


























The REST Trigger payload is as follows -








The Invoke to Fusion ERP - changePO - is configured as follows -

























The relevant Mapping -



















The Invoke of the Integration from VB CS

I create a Service Connection in VB, based on the configured connection to OIC-Integration





















Having configured the above -













































I now add an event chain to the button on the editPO page -

























Note the addition of the FireNotification on success.
This will show a pop-up screen, when I run the app  -
















Now to testing the whole scenario -

I create the following PO in Fusion ERP -









I see this PO in my VB CS app -


























I edit and set the Letter of Credit id to 4















I check in Fusion ERP -





















as we say in Ireland, that's grand!




#696 OIC --> Subscribing to Sales Cloud events

Simple example here - thanks to my colleague Subhani.
I will subscribe to the Opportunity Created event in Sales Cloud and
create a new Customer in Netsuite for the Sales Cloud account.


So now to subscribing to the Opportunity Created event -
This is my Integration Trigger -















Note: I can also filtering for specific opportunities or accounts.

 Image may be NSFW.
Clik here to view.


I will not do this to begin with.

Sales Cloud Events Supported


Here is a full list of the events -

























































































Now back to my integration...

Here I just write the Opportunity data to a file -











I activate my integration and test via Sales Cloud -












I check the ftp directory















I can also use the following url to check on event subscriptions on sales cloud -

https://mySalesCloud/soa-infra/PublicEvent/subscriptions

f446fa86ed8a4f42b592b132d98db7d6OICTraining2","endpointURL":"https://myOIC:443/ic/ws/integration/v1/flows/osc/AA_SALES2NETSUITE/1.0/","filter":null,"name":"{/oracle/apps/sales/opptyMgmt/opportunities/model/entity/events/edl/OpportunityEO}OptyCreated","id":"aHR0cHM6Ly9PSUNUcmFpbmluZzItb2ljcG0uaW50ZWdyYXRpb24ub2NwLm9yYWNsZWNsb3VkLmNvbTo0NDMvaWMvd3MvaW50ZWdyYXRpb24vdjEvZmxvd3Mvb3NjL0FBX1NBTEVTMk5FVFNVSVRFLzEuMC8=","state":true},


Now let's make this a bit more interesting by integrating with Netsuite.

First, I check if the customer exists in Netsuite -























I add a SWITCH to check if customer found -


















































Map as follows -











Now I test -

I begin by creating a new account in Sales Cloud -














I now create a new opportunity for that Account -















I check my ftp directory -
















I login to Netsuite and check for Romy -








#697 Oracle iPaaS - Data Center Availability

#698 Taleo EE adapter in OIC



























Pre-requisites

There is a pre-requisite, before one can start leveraging the adapter.
Taleo Client Connect needs to be installed - at a location from which it can ping your Oracle Talent Acquisition Cloud (Taleo EE) instance.

So I download TCC -














I start up TCC and do a ping - the response from the ping is as follows -







The next step is to - Create an import specification and configuration using Taleo Connect Client.














File --> New --> New Import Wizard

























Finally to OIC...



Taleo EE = Talent Acquisition Cloud - so I create such a connection in OIC -






























Test the connection -










From the docs - You can access the full adapter documentation here

You can use the Oracle Talent Acquisition Cloud (Taleo EE) Adapter to asynchronously import data in bulk into Oracle Talent Acquisition Cloud (Taleo EE) (formerly known as Taleo Enterprise Edition) from other applications. You can also import attachments when you use the Oracle Talent Acquisition Cloud (Taleo EE) Adapter to import data from an external application into Oracle Talent Acquisition Cloud (Taleo EE). The Oracle Talent Acquisition Cloud (Taleo EE) Adapter is supported only as an invoke in an integration flow; adding it as a trigger is not supported. 



Image may be NSFW.
Clik here to view.
































#699 Creating/changing Integration Artifacts via the OIC REST API

You can leverage the OIC REST API to manage some of your integration artifacts, such as lookups, connections etc.

Let's see how easy it is to do so.

Create a Lookup











Thanks to my colleague Hermanth L.

Firstly to lookups - from the docs -

Use lookups in your integrations to create reusable tables that map the different terms used to describe the same item across your applications. A lookup associates values used by one application for a specific item to the values used by other applications for the same item. For example, one application uses a specific set of codes to describe countries, while another application uses a different set of codes to describe the same countries.

Essentially something like - CountryLookup








So now to the REST call - /ic/api/integration/v1/lookups
It is documented here

Request payload is of the format -
{"columns":["COL_NAME1","COL_NAME2"],"name": "LOOKUP_NAME","rows":[{"rowData":["COL1VAL1","COL2VAL1"]},{"rowData":["COL1VAL2","COL2VAL2"]}]}

columns  - refers to the different apps I need to consider - e.g. App1 and App2.
name - the name of the lookup e.g. CountryLookup
rows/rowData - the actual data e.g. IE/Ireland

Ok, let's try this in Postman -







Validate in OIC -


















Retrieve/Update a Connection









As you can see, my connection test failed - due to the following -

  • CASDK-0004 : Failed to authenticate against the application with the credentials provided
  • Access Denied

This is because my Service Cloud password changes regularly.

So what can we do via the API?

Retrieve/ic/api/integration/v1/connections/{id}

The id value is -













Try in Postman -
























Update - using the result from the GET, specify just the attributes you want to change.
















#700 Oracle Integration now with Automation Anywhere (RPA) adapter

Viewing all 875 articles
Browse latest View live