Oracle Hospitality ATP Capture BE

The Oracle Hospitality REST Listener_external_system recipe calls the Oracle Hospitality ATP Capture BE integration to receive the business events from the listener only if pollingStatus is a SUCCESS and statusCode is 200. The structure in which the payload must be sent can be verified from the metadata of this integration. The purpose of this integration is to receive the business events and spawn multiple threads depending on the number of entries corresponding to each external system.

Integration Flow

Figure 2-10 ATP Capture BE


This figure shows the integration flow of the ATP Capture BE.

Integration Description

Receive Business Events

  • Sample Payload Received by the integration — ExpectedEventPayload.json

  • Gets Business Event Data from the recipe integration: Oracle REST Ext_Sys Target_Integration_{External_system}

Write and Read Stage

  • Writes and then reads the content payload into an Opaque Schema so that the entire payload can be mapped to a single field in BLOB format into ATP.

Insert Business Events payload into table OHIP_OIC_BUSINESS_EVENTS_Q_TAB

  • This will invoke an ATP DB stored procedure OHIP_OIC_INSERT_BE_SP that parses the received JSON payload containing up to a maximum of 20 business events in each payload and inserts each business event as an individual row in the table.

Fetch External System Details from the Configuration table

  • Invokes a Stored Procedure OHIP_OIC_GET_EXT_SYS_LIST_SP to get a list of external Systems from the configuration table OHIP_OIC_EXT_SYS_CONFIG_TAB that must be processed; the returned data excludes the row for global data.

Entry Logic for each External System: The entry logic is called to check if this integration can call the Orchestration integration. This check is to be made for each external system. This is only for the first business event. When existing business events are exhausted, this integration will call the Orchestration integration. In all other cases, the dispatcher log status integration will invoke orchestration integration.

For each External System

  • Check Processing Status – invokes a stored procedure OHIP_OIC_GET_INTEGRATION_STATUS_SP to get the following integration statuses:

    • CLOSED (when there are no more business events to process)

    • ERROR (when there are no more business events to process, but errored events still exist)

    • PROCESSING (when events are still to be processed)

Update ATP Flag To Y/N in the configuration table

  • Invokes a stored procedure OHIP_OIC_UPD_EXT_SYS_CALL_PAR_INT_SP that updates the flag call_parent_int in the configuration table OHIP_OIC_EXT_SYS_CONFIG_TAB to Y if CLOSED, Y if ERROR, and N if PROCESSING.

Invoke Orchestration Integration