3 Process Integration for Suppliers

This chapter provides an overview of the process integration for suppliers (service providers) and discusses business process flows, assumptions and constraints, Oracle E-Business Suite (Oracle EBS) and Oracle transportation Management (OTM) interfaces, core Oracle Application Integration Architecture (Oracle AIA) components, and integration services.

This chapter includes the following sections:

3.1 Overview

In the process integration for suppliers, Oracle EBS acts as a payable and accounting engine and OTM creates the invoices; therefore, Oracle EBS and OTM require the sharing of suppliers' information between the applications. OTM requires the supplier information for several key functions including the creation and management of order releases and invoices. Oracle EBS requires the supplier information for supplier payment. For end-to-end business integration, the same supplier instance and related information must be shared between these two applications.

3.2 Business Process Flows

Oracle EBS is the source of valid suppliers (service providers in OTM and their locations and payment terms. The supplier integration synchronizes supplier information from Oracle EBS to OTM through these integration flows:

  • Initial loading of supplier information: Extracts and loads initial supplier information from Oracle EBS to OTM.

  • Updating supplier information: Enables the synchronization of incremental creation and updates of the newly created, modified, or inactivated supplier information from Oracle EBS to OTM.

Figure 3-1 shows the process integration of suppliers (service providers):

Figure 3-1 Suppliers (Service Providers) Integration Flow

This image is described in surrounding text.

3.2.1 Initial Load of Suppliers

The purpose of this flow is to load into OTM the supplier information that was created in Oracle EBS by triggering the InitialLoadSupplierPartyListEbizAdapter service.

Figure 3-2 shows how supplier information from Oracle EBS is loaded into OTM:

Figure 3-2 Initial Load of Suppliers (Service Providers)

This image is described in surrounding text.

When you initiate the process, these events occur:

  1. The InitialLoadSupplierPartyListEbizAdapter service queries the supplier information in Oracle EBS, counts the vendor IDs to obtain a minimum and maximum number of vendor IDs, and invokes the SupplierPartyListEbizJMSProducer.

  2. The SupplierPartyListEbizJMSProducer invokes the Oracle EBS API to query for the SupplierPartyListEbizABM and drops the message into the AIA_EbizSupplierPartyJMSQueue.

  3. The SyncSupplierPartyListEbizJMSConsumer picks up the message from the AIA_EbizSupplierPartyJMSQueue and invokes the SyncSupplierPartyListEbizReqABCSImpl.

  4. The SyncSupplierPartyListEbizReqABCSImpl transforms the SupplierPartyListEbizABM message into the SyncSupplierPartyListEBM. The transformation does cross-referencing for systems specific values and calls the SupplierPartyEBS with operation SyncSupplierPartyList. The SupplierPartyEBS is a routing mediator service with several operations on the SupplierPartyEBO.

  5. The SupplierPartyEBS routes the SyncSupplierPartyListEBM to the SyncSupplierPartyListLogisticsProvABCSImpl or Composite Application Validation System (CAVS).

  6. The SyncSupplierPartyListLogisticsProvABCSImpl receives the message and transforms the SyncSuplierPartyListEBM into the SupplierPartyListOTMABM. The transformation invokes the LogisticsWebservice and waits for the transmission report from the LogisticsWebService. If the transaction is successful, it populates the cross-reference values. If the transaction is not successful, it invokes the AIAAsyncErrorHandlingBPELProcess.

3.2.2 Updating Supplier Information

The purpose of this flow is to load into OTM the supplier information that was updated in Oracle EBS by triggering the SupplierPartyListEbizJMSProducer service.

Figure 3-3 shows the incremental update of supplier information:

Figure 3-3 Incremental Load of Suppliers (Service Providers)

This image is described in surrounding text.

When you initiate the incremental load, these events occur:

  1. In Oracle EBS, if you create or update the supplier information, the activity invokes the SyncSupplierPartyListEbizAdapter through a business event. This adapter service listens to the events and then invokes the SupplierPartyListEbizJMSProducer.

  2. The SupplierPartyListEbizJMSProducer invokes the Oracle EBS API to query for the SupplierPartyListEbizABM and drops the message into the AIA_EbizSupplierPartyJMSQueue.

  3. The SyncSupplierPartyListEbizJMSConsumer picks up the message from the AIA_EbizSupplierPartyJMSQueue and invokes the SyncSupplierPartyListEbizReqABCSImpl.

  4. The SyncSupplierPartyListEbizReqABCSImpl transforms the SupplierPartyListEbizABM message into the SyncSupplierPartyListEBM. The transformation does cross-referencing for systems specific values and calls the SupplierPartyEBS with operation SyncSupplierPartyList. The SupplierPartyEBS is a routing mediator service with several operations on the SupplierPartyEBO.

  5. The SupplierPartyEBS routes the SyncSupplierPartyListEBM to the SyncSupplierPartyListLogisticsProvABCSImpl or CAVS.

  6. The SyncSupplierPartyListLogisticsProvABCSImpl receives the message and transforms the SyncSuplierPartyListEBM into the SupplierPartyListOTMABM. The transformation invokes the LogisticsWebservice and waits for the transmission report from the LogisticsWebService. If the transaction is successful, it populates the cross-reference values. If the transaction is not successful, it invokes the AIAAsyncErrorHandlingBPELProcess.

3.3 Assumptions and Constraints

These are the solution assumptions and constraints:

  • Oracle EBS Financials AP is the source system for suppliers, contacts, locations, and addresses.

  • This integration is a one-way synchronization from Oracle EBS into OTM. Any update to supplier information in OTM is not synchronized into Oracle EBS.

  • The capability of creating service providers in the OTM application must be disabled.

  • The supplier header information is synchronized to OTM. Any purchasing sites that exist for the supplier should be synchronized into OTM based on a configuration option.

    The supplier pay sites are not stored in OTM. When invoices are received from OTM into Oracle EBS, the default supplier pay site information is derived using the supplier number, organization unit details or purchasing site information.

  • The service provider in OTM has the same value for location ID and corporation ID. In the case that purchasing sites are synchronized into OTM, the corporation ID is the supplier number for that site or location.

  • The supplier information is created as locations and service providers in OTM in the OTM domain specified in the configuration file. This domain can be overridden through a Custom.xsl.

  • If Oracle EBS is sending the purchasing sites, then the contact and address information is updated with the purchasing site address/contact information.

  • Whenever an inactive date is entered for a supplier associated with multiple purchasing sites in Oracle EBS, the synchronization of the inactive date does not happen to all the corresponding purchasing sites for the supplier in OTM. Therefore, you should enter the inactive date for the purchasing sites in Oracle E-Business and this should be synchronized to OTM.

  • The initial creation of supplier in Oracle EBS has no value set for the supplier type because the supplier type is not mandatory.

    On the other hand, in OTM the supplier type/location role is not mandatory; therefore, the supplier records are created in OTM with the location role blank. In Oracle EBS, you can update the supplier type (through the organization form field) and the location role is created in OTM. If you want to filter by supplier type, a routing rule can be added during implementation.

  • The Oracle EBS vendor name is 240 characters long and in OTM the corporation name is 120 characters; therefore, a vendor name longer than 120 are truncated in OTM.

  • The Oracle EBS vendor alternate name is 320 characters long and in OTM the service provider alias is only 101 characters; therefore, an alternate name longer than 101 characters is truncated in OTM.

3.4 Oracle EBS Interfaces

These are the Oracle EBS interfaces for the supplier integration flow:

  • Oracle EBS API exposes a business event called oracle.apps.ap.supplier.event as an interface to subscribe to the creation and updates of supplier data.

  • Apart from the business event, Oracle EBS also provides an API called the AP_SUPPLIER_INFO_PKG that helps to retrieve the supplier information based on either a range of suppliers or a specific supplier.

For more information about Oracle EBS web services and documentation prior to Release 12.1.3, see the library on Oracle Technology Network: http://www.oracle.com/technetwork/documentation/applications-167706.html?. For Oracle EBS documentation for R12.1.3 and beyond, see this library: https://download.oracle.com/docs/cd/E18727_01/index.htm.

3.5 OTM Interfaces

OTM provides an interface through a web service to connect to its application. This connectivity is established as a partner link in the provider service. Once invoked, the logistics web service immediately returns an acknowledgment with a transmission number. Once the processing is complete, it then sends a transmission report back indicating the success or the failure. The application business message (ABM) details can be seen in the GLOG xsd with the location element.

For more information about the logistics service, see Oracle Transportation Management Integration Guide.

3.6 Core Oracle AIA Components

The supplier party integration flow uses these components:

  • SupplierPartyEBO

  • SyncSupplierPartyListEBM

  • SupplierPartyEBS

The core enterprise business object (EBO) and enterprise business message (EBM) XSD files can be located by EBO within the $AIA_HOME/AIAMetaData/AIAComponents/EnterpriseObjectLibrary/Core/EBO/ parent folder.

The core enterprise business services (EBS) web services definition language (WSDL) files can be located by EBO within the $AIA_HOME/AIAMetaData/AIAComponents/EnterpriseBusinessServiceLibrary/Core/EBO/ parent folder.

For detailed documentation of individual EBOs and EBMs, click AIA Reference Doc link on EBO and EBM detail pages in the Oracle Enterprise Repository.

For more information about using the Oracle Enterprise Repository and configuring it to provide the AIA Reference Doc link, see Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Configuring and Using Oracle Enterprise Repository as the Oracle AIA SOA Repository."

EBOs can be extended, for instance, to add new data elements. These extensions are protected, and remain intact after a patch or an upgrade.

For more information, see Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Extensibility for AIA Artifacts".

3.7 Integration Services

These are the services delivered with this integration:

  • InitialLoadSupplierPartyListEbizAdapter

  • SyncSupplierPartyListEbizAdapter

  • SupplierPartyListEbizJMSProducer

  • SyncSupplierPartyListEbizJMSConsumer

  • SyncSupplierPartyListEbizReqABCSImpl

  • SupplierPartyEBS

  • SyncSupplierPartyListLogisticsProvABCSImpl

  • SupplierPartyResponseEBS

3.7.1 InitialLoadSupplierPartyListEbizAdapter

This service is an asynchronous Business Process Execution Language (BPEL) process. This process is used for the initial load of suppliers from Oracle EBS into the OTM web service. This service queries the supplier information in Oracle EBS, counts the vendor IDs to obtain a minimum and maximum number of vendor IDs, and invokes the SupplierPartyListEbizJMSProducer.

3.7.2 SyncSupplierPartyListEbizAdapter

The SyncSupplierPartyListEbizAdapter is used only for incremental changes. This is a mediator service with one Oracle applications adapter that subscribes to the oracle.apps.ap.supplier.event. Whenever a supplier, site, or contact is created or updated, this adapter service listens to the events and then invokes the SupplierPartyListEbizJMSProducer service.

3.7.3 SupplierPartyListEbizJMSProducer

The SupplierPartyListEbizJMSProducer service is a Business Process Execution Language (BPEL) process used for both initial and incremental loads. The Oracle EBS application invokes this service when either a new supplier is created or an existing supplier is updated

This service reads the supplier party ID information either from the InitalLoadSupplierPartyEbizAdapter, or the SyncSupplierPartyEbizAdapter for incremental changes. It invokes the Oracle EBS API (ap_supplier_info_pkg) to retrieve the SupplierPartyListEbizABM and drops the messages into the AIA_EbizSupplierPartyJMSQueue individually.

3.7.4 SyncSupplierPartyListEbizJMSConsumer

The SyncSupplierPartyListEbizJMSConsumer is a mediator service. It has a Java Message Service (JMS) adapter, which picks up the messages from AIA_EbizSupplierPartyJMSQueue and invokes the SyncSupplierPartyListEbizReqABCSImpl.

3.7.5 SyncSupplierPartyListEbizReqABCSImpl

The SyncSupplierPartyListEbizReqABCSImpl is a Business Process Execution Language (BPEL) process and a single operations service that has the SupplierPartyEBS as a partner service. This service receives the SupplierPartyListEbizABM message as a request and does not return a response to the calling service.

This service performs these actions:

  • Accepts the SupplierPartyListEbizABM message from Oracle EBS. This message contains a cross-reference for suppliers, sites, and contacts.

  • Transforms the SupplierPartyListEbizABM into the SyncSupplierPartyListEBM. While it is transforming from the application business message (ABM) to the enterprise business message (EBM), cross-references are looked up for:

    • SUPPLIERPARTY_ID

    • SUPPLIERPARTY_ADDRESS_ID

    • SUPPLIERPARTY_LOCATION_ID

    • SUPPLIERPARTY_CONTACT_ID

  • Sends the SyncSupplierPartyListEBM message as an input to the SyncSupplierPartyList operation in the SupplierPartyEBS service.

These DVM lookups are used by this service:

  • CURRENCY_CODE: domain value mapping for currency codes.

  • ADDRESS_COUNTRYSUBDIVID: domain value mapping for the state code values in address of supplier.

  • SUPPLIERPARTY_TYPECODE: domain value mapping for the type of supplier.

  • ADDRESS_COUNTRYID: domain value mapping for the country code values.

  • LANGUAGE_CODE: domain value mapping for language.

3.7.6 SupplierPartyEBS

The SupplierPartyEBS is an enterprise business service that exposes all the enterprise operations related to the supplier party like create supplier-party, update supplier-party, and so on. This integration only uses the SyncSupplierPartyList operation. This service routes the request to the appropriate provider like the SyncSupplierPartyListLogisticsProvABCSImpl or the Composite Application Validation System (CAVS) based on the filter condition and operations. Updates and creates are done using the synchronize action. No transformations are done in this service. OTM determines whether this synchronize supplier party message is for create or an update action.

For more information about this enterprise business service (EBS), see Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Designing and Developing Enterprise Business Services" and Oracle Fusion Middleware Concepts and Technologies Guide for Oracle Application Integration Architecture Foundation Pack, "Understanding Enterprise Business Services".

3.7.7 SupplierPartyResponseEBS

The SupplierPartyResponseEBS is the enterprise business service (EBS) used to route all supplier party response related actions to the requesting application like create supplier-party, update supplier-party, and synchronize supplier-party-list.

3.7.8 SyncSupplierPartyListLogisticsProvABCSImpl

The SyncSupplierPartyListLogisticsProvABCSImpl is a Business Process Execution Language (BPEL) process, which receives the SyncSupplierPartyListEBM, transforms the message into the SupplierPartyListOTMABM, invokes the logistics web service with the SyncSupplierPartyListEBM, and waits for the transmission report from the LogisticsWebService. If the transmission report specifies the transaction is successful, it populates the cross-reference values otherwise it invokes the AIAAsyncErrorHandlingBPEL process to generate the error messages

These DVM lookups are used by this service:

  • CURRENCY_CODE: domain value mapping for currency codes.

  • ADDRESS_COUNTRYSUBDIVID: domain value mapping for the state code values in address of supplier.

  • SUPPLIERPARTY_TYPECODE: domain value mapping for the type of supplier.

  • ADDRESS_COUNTRYID: domain value mapping for the country code values.

  • LANGUAGE_CODE: domain value mapping.

The SupplierPartyResponseEBS is the enterprise business service (EBS) used to route all supplier party response related actions to the requesting application like create supplier-party, update supplier-party, and synchronize supplier-party-list.

3.7.9 SupplierPartyResponseEBS

The SupplierPartyResponseEBS is the enterprise business service (EBS) used to route all supplier party response related actions to the requesting application like create supplier-party, update supplier-party, and synchronize supplier-party-list.