Sunday, September 22, 2024

OIC HCM - How to check or export the report after importing an HCM Business Object using HDL, and review the results for errors or validation issues.

Usecase: Here,we will see how to check or export the report after importing an HCM Business Object using HDL, and review the results for errors or validation issues. We will send UCM content id as input and get the error details.

Implementation steps:

  1. Create a Data model and rtf template based BIP report to get the business object import/load error details.
  2. Create an ESS job based on the BIP report
  3. From OIC integration, call exportBulkdata  of erpIntegrationService using oracle hcm  cloud adapter and in the mapping provide the following details
    1. Job name: Ess job package,job definition name ex: "/oracle/apps/ess/custom/oic/int111/out/,HDLErroLog_BIP_Custom_ESS"
    2. Parameter list: ucm content id
    3. Job options : "EnableEvent=Y"
    4. Callbackurl: "#NULL"
  4. Create another callback integration  and perform as below:
    1. subscribe the event using Oracle Cloud ERP adapter
      1. Select Receive business events raised within ERP cloud
      2. Select ERP Integration Outboubd Event
      3. Put a filter condition for the ess job name to get theb callback distingushly for the particular business object.
    2. Get the report using hcm adapter CRUD:
      1. Service- erpIntegrationService
      2. Operation: getDocumentForDocumentId
    3. Unzip the contents using stage action
    4. List files using stage and with *.xml file pattern.
    5. Transform the report data to standard format if needed.
    6. Save the report to OIC sftp location or send a notification to desired DLs.

Data model SQL:

SELECT DISTINCT l.MESSAGE_SOURCE_LINE_ID,

                l.msg_text,

                fl.TEXT

FROM   fusion.hrc_dl_message_lines l,

       fusion.hrc_dl_data_set_bus_objs bo,

       fusion.hrc_dl_data_sets ds,

       fusion.hrc_dl_file_rows fr,

       fusion.hrc_dl_file_lines fl,

       fusion.hrc_dl_physical_lines pl

WHERE  ((l.message_source_table_name = 'HRC_DL_LOGICAL_LINES'

          AND l.message_source_line_id = pl.logical_line_id)

         OR (l.message_source_table_name = 'HRC_DL_PHYSICAL_LINES'

             AND l.message_source_line_id = pl.physical_line_id))

       AND l.data_set_bus_obj_id = bo.data_set_bus_obj_id

       AND ds.data_set_id = bo.data_set_id

       AND ds.ucm_content_id IN (:P_ucmContentID)

       AND fl.line_id = fr.line_id

       AND fl.data_set_bus_obj_id = bo.data_set_bus_obj_id

       AND fr.logical_line_id = pl.logical_line_id

       AND l.is_latest_flag = 'Y'


Filter Expr for ERP Integration Outbound event:

<xpathExpr

xmlns:ns0="http://xmlns.oracle.com/apps/financials/commonModules/shared">

$eventPayload/ns0:JOBS[ns0:JOBNAME='INT332_ADP_BIP_CUSTOM_ESS']

</xpathExpr>


Detailed steps with screenshots:

Step1: Create data model and BIP Report.

















Step2: Create ESS job which calls the step1 BIP report.







Test ESS job from HCM:






Step3: once the hdl import completed, run exportBulkData operation of ErpIntegrationservice using Oracle cloud HCM adapter





Step4: create a callback integration and get report and transformed the reprot and save to OIC embedded sftp location for support help.

Event subscribe:



Get report





Unzip the contents



List unzipped files



Write file to sftp location.







Thursday, September 19, 2024

OIC HCM - How to check hcm hdl import and load status and more details from hcm console.

Usecase: Here, we will see the steps how we can check the hdl import or load status from hcm side.

Steps:

Step1: my client group >> data exchange >> recent file loads >>search and you will see the recent load files. Capture the content id. 



Step2: import and load data >> show filters >> put content id and search >> click message






OIC Gen3 - How to rename an integration or to change the package name of an integration

Usecase : Here, we will see how to rename an integration or to move an integration from one package to another package and etc.

Step1: for the integration >> click edit


Step2: click primary info >> update the details >>save.



Wednesday, September 18, 2024

OIC gen3 - Publishing an integration endpoint to OCI api gateway

Usecase: Here, we will see how we can publish our integration endpoint to OCI API gateway.

Steps:

Step1: once your integration is ready, activate and click on action >> publich to api gateway


Step2: select compartment >> selwct api gateway >> select or create new deploymwent.


Step3: view deployment in OCI console >> take api details and test



For more details:

Reference:

https://niallcblogs.blogspot.com/2023/12/999-2312-publishing-oic-endpoints-to.html?m=1

Tuesday, September 17, 2024

OIC Gen3 - using Recipes and Accelerators

Recipes and accelerators, collectively known as prebuilt integrations, are preassembled integration solutions.

A recipe or accelerator contains all the resources required for a specific integration scenario. The resources include integration flows, connections, lookups, and certificates. Use a recipe or accelerator to quickly get started building an integration.

Recipes types:

they are either project-based or package-based:

  • When you install a project-based recipe, you can access it on the Projects page in Oracle Integration.
  • When you install a package-based recipe, you can access it on the Packages page in Oracle Integration

How to determine whether a recipe in the Integration Store is project-based or package-based:

Before you install it, hover over the recipe card and click Open Details Open details icon to expand the information pane. The recipe details show either Project code (for a project-based recipe) or Package name (for a package-based recipe).

Differences Between Recipes and Accelerators

Recipes are sample use cases that give you a head start. Accelerators are run-ready business integrations or technical patterns of larger scale.

Here's a comparison of recipes and accelerators.

RecipesAccelerators

A recipe is a sample use case that gives you a head start.

A business accelerator provides an end-to-end business process or use case (for example, marketing to lead, hire to retire, or concept to launch).

A technical accelerator provides a common technical solution (for example, sending alerts on failures). They are meant to be called by another integration.

Not supported by the producer

Managed and supported by the producer

Fully editable in the Oracle Integration designer

Configurable and extendable

Can't auto-upgrade to new versions

Upgrades provided by producer

Configurator in Oracle Integration

Configurator in Oracle Integration and as native SaaS

Always free

Paid offering (as decided by producer)

How to find a recipe or accelerator:

  1. On the Oracle Integration Home page, in the Get started section, click Browse store.
    The Integration Store is displayed. Note that you can toggle the display between a list view and a card view.
    The Integration Store with search, filter, and view tools
  2. Use the Search Open Input Search iconFilter Filter icon, and view tools to narrow your search, filter and sort the list, and change how the list is displayed.
How to install a recipe or accelerator:
  1. Find the recipe or accelerator that you want to install.
  2. Hover over the recipe or accelerator card and click Install Install icon.
    When you install a recipe (or an accelerator), it's installed as a package or project. 

Note:

For project-based accelerators, Oracle periodically releases updates to the Integration Store. You can upgrade an installed accelerator project to a newer version automatically without making manual changes to your existing installation. 

Accelerators extensions and versions:

How to extend an accelerator:

  1. First install the accelerator. Go to oracle home page >> view all >> select the version and install.
  2. Once installed, for projects , click the action ellipsis(...) of the integration and click extend.
  3. Add an extension group before or after the invoke and add a data stitich to enrich data to the invoke or add some fault handling logic after the invoke etc.
  4. Save and activate.



How to version an accelerator:
Suppose an accelerator is already installed  and extension logic added and now new upgrade comes, then we can upgrade the version as below:

  1. Go to oracle home page >> view all accelerators >> select the acceleraror to upgrade and select latest version and  install.
  2. Once installed, for projects , click the ellipsis of the integrations and click refresh enspoints
  3. Then marge the extension changes of the previous version to new version.  Click the action ellipsis of the integration >> click extend >> select the previous version to merge to this new version
  4. Save it.






Reference

https://docs.oracle.com/en/cloud/paas/application-integration/int-get-started/get-started-integration-recipes-and-accelerators.html

OIC ERP/HCM - How to see or download file from UCM for support.

Usecase: Here we will see how to check or download file from ucm for support help or verification or testing purposes.

Steps: 

Step1: go to content server https://<host instance>/cs and click on search


Step2: search the file with content id and click on info sign


Step3: click the file link below and it will auto download the file. 


This above steps are required to get the file from ucm which we can use or check for support or dev testing verification.

OIC - We need to execute a schedule job in oic that will run only on weekdays excluding public holidays?

To execute a scheduled job in Oracle Integration Cloud (OIC) that runs only on weekdays (Monday to Friday) excluding public holidays, We can follow these steps:

1. Set Up the Weekday Recurrence in OIC:

we can use a recurrence pattern to run the job only on weekdays. choose the iCal format.Set the frequency to DAILY and restrict it to Monday to Friday using the BYDAY parameter.

For example:

FREQ=DAILY;BYDAY=MO,TU,WE,TH,FR

This ensures the job only runs Monday through Friday.

2. Exclude Public Holidays:

OIC doesn't provide a built-in way to exclude public holidays automatically. You'll need to handle this manually or programmatically. Here are some approaches:

Option 1: Manually Disable the Job for Public Holidays

Create a list of public holidays, and manually disable the schedule on those days.You could either:Pause the integration the day before the holiday, orModify the recurrence rules around those dates.

Option 2: Use a Lookup Table for Public Holidays

Create a lookup table that contains the list of public holidays.Modify the integration to check the current date against this list at runtime.If the current date is a public holiday, the job won’t proceed further.

Option 3: Programmatically Handle Holidays in the Integration Flow

In the integration logic, before running the core job, add a step that checks if the current date is a public holiday (by querying a list of holidays stored in a file or a database).If it's a public holiday, you can skip the execution.

You can combine options 1 and 3 for flexibility. Manually manage the public holidays for the current year and set up a query mechanism for holidays that changes each year.

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...