Go to primary content
Oracle® Retail Merchandising Foundation Cloud Service Operations Guide Volume 2 - Message Publication and Subscription Designs
Release 16.0.028
E97817-01
  Go To Table Of Contents
Contents

Previous
Previous
 
Next
Next
 

5 SOAP Web Service Consumer Implementation

This chapter gives an overview about the SOAP Web service Consumer Implementation API designs used in the RMS environment and various functional attributes used in the APIs.

GL Account Validation Service

This section describes the GA account validation service.

Functional Area

Financial Integration

Business Overview

RMS holds the general ledger chart of account (GLCOA) information in the FIF_GL_ACCT table. A chart of account is essentially the financial application's debit and credit account segments (for example, company, cost center, account, and so on) that apply to the RMS product hierarchy. In some financial applications, this is known as code combination IDs (CCID). The GL Cross Reference form is then used to associate the appropriate department, class, subclass, and location data to a CCID and to populate that data to the GL_FIF_CROSS_REF table.

From RMS's GL Cross Reference form, RMS invokes a GL Account Validation Web service to validate the general ledger chart of accounts information against an external financial application. The segments like department, class, subclass and location cross reference to a CCID can only be established if the account is valid for the same segment combination in financial application.

This document describes the GL Account Validation Web service integration between RMS and an external financial application. In this integration context, RMS acts as the service consumer that invokes a Web service hosted by an external financial application.

Package Impact

The process flow for the Web service API.

Figure 5-1 Process Flow for Web Service API

Process Flow for Web Service API

Public API Procedures

Filename: rmsaiapub_coavals/b.pls

ACC_VALIDATE_API.VALIDATE_ACC
    (O_error_message    OUT    RTK_ERRORS.RTK_TEXT%TYPE,
     O_acc_val_rec   IN OUT    ACC_VALIDATE_API.ACC_VALIDATE_TBL)
RETURN BOOLEAN;

This function validates the segments, set_of_book_id and ccid combination in the input collection. It invokes AIA_WEBSERVICE_SQL.VALIDATE_ACCOUNT to do that.

Filename: rmsaiapub_dbcoawebss/b.pls

VALIDATE_ACCOUNT
    (O_error_message        IN OUT   RTK_ERRORS.RTK_TEXT%TYPE,
     O_requesting_system    IN OUT   VARCHAR2,
     O_set_of_books_id      IN OUT   ORG_UNIT.SET_OF_BOOKS_ID%TYPE,
     O_ccid                 IN OUT   FIF_GL_CROSS_REF.DR_CCID%TYPE,
     O_segment1             IN OUT   FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     O_segment2             IN OUT   FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     O_segment3             IN OUT   FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     O_segment4             IN OUT   FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     O_segment5             IN OUT   FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     O_segment6             IN OUT   FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     O_segment7             IN OUT   FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     O_segment8             IN OUT   FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     O_segment9             IN OUT   FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     O_segment10            IN OUT   FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     O_segment11            IN OUT   FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     O_segment12            IN OUT   FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     O_segment13            IN OUT   FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     O_segment14            IN OUT   FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     O_segment15            IN OUT   FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     O_segment16            IN OUT   FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     O_segment17            IN OUT   FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     O_segment18            IN OUT   FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     O_segment19            IN OUT   FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     O_segment20            IN OUT   FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     O_account_status       IN OUT   VARCHAR2,
     I_requesting_system    IN       VARCHAR2,
     I_set_of_books_id      IN       ORG_UNIT.SET_OF_BOOKS_ID%TYPE,
     I_ccid                 IN       FIF_GL_CROSS_REF.DR_CCID%TYPE,
     I_segment1             IN       FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     I_segment2             IN       FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     I_segment3             IN       FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     I_segment4             IN       FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     I_segment5             IN       FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     I_segment6             IN       FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     I_segment7             IN       FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     I_segment8             IN       FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     I_segment9             IN       FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     I_segment10            IN       FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     I_segment11            IN       FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     I_segment12            IN       FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     I_segment13            IN       FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     I_segment14            IN       FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     I_segment15            IN       FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     I_segment16            IN       FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     I_segment17            IN       FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     I_segment18            IN       FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     I_segment19            IN       FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE,
     I_segment20            IN       FIF_GL_CROSS_REF.DR_SEQUENCE1%TYPE)
RETURN BOOLEAN;

This function validates the segments, set_of_book_id and ccid combination in the input. It invokes the RSE generated service contract as defined in the GlAccountValidationServiceCons package to make a secure Web service call.

The service function that validates the account (validateGlAccount takes an OBJ_GLACCTCOLDESC as the input and returns OBJ_GLACCTCOLREF as the output. The structure of the objects is also defined in the service contract.

Message XSD

NA

Design Assumptions

None

Table Impact

NA

Customer Order Address Service

This section describes the Customer Order Address service.

Functional Area

Procurement

Business Overview

The primary role of this service is to query customer/shipping address details related to a customer order.

Query Customer Order Address (queryCustomerOrderAddress)

This section describes the Query Customer Order Address service.

Business Overview

This query service is used to retrieve customer/shipping address details from an endpoint such as an Order Management System (for example, Oracle OMS). It accepts a customer order number, fulfillment order number, fulfillment location, and source location, and returns customer/shipping address details related to the customer order.

In RMS, this service is only utilized if the Persist Customer Data system option is set to ’N'. The retrieved data will be displayed in the Order Customer screen. No update will be made to the ORDCUST table.

RMS acts as the consumer of the service provided by an Order Management System. Integration between RMS and Oracle OMS is NOT provided out-of-the-box at this point.

Input Parameter

Parameter Name Required Description Valid Values
customer_order_no Yes Unique customer order number NA
fulfill_order_no Yes Unique order number from an endpoint related to the fulfillment details NA
fulfill_loc_type Yes Indicates the fulfillment location type. NA
fulfill_loc_id Yes Indicates the store or warehouse number associated with fulfilling the customer order. NA
source_loc_type No Indicates the source location type. NA
source_loc_id No Indicates the location number associated with sourcing the customer order. NA

Output

  • customer_no

  • deliver_first_name

  • deliver_phonetic_first

  • deliver_last_name

  • deliver_phonetic_last

  • deliver_preferred_name

  • deliver_company_name

  • deliver_add1

  • deliver_add2

  • deliver_add3

  • deliver_county

  • deliver_city

  • deliver_state

  • deliver_country_id

  • deliver_post

  • deliver_jurisdiction

  • deliver_phone

  • deliver_email

  • bill_first_name

  • bill_phonetic_first

  • bill_last_name

  • bill_phonetic_last

  • bill_preferred_name

  • bill_company_name

  • bill_add1

  • bill_add2

  • bill_add3

  • bill_county

  • bill_city

  • bill_state

  • bill_country_id

  • bill_post

  • bill_jurisdiction

  • bill_phone

  • bill_email

Package Impact

Filename: omswebsvcb/s.pls

Package Name: OMS_WEBSERVICE_SQL

GET_CUSTOMER_ORDER_ADDRESS(O_error_message            IN OUT   VARCHAR2,
                           O_customer_no              IN OUT   VARCHAR2,
                           O_deliver_first_name       IN OUT   VARCHAR2,
                           O_deliver_phonetic_first   IN OUT   VARCHAR2,
                           O_deliver_last_name        IN OUT   VARCHAR2,
                           O_deliver_phonetic_last    IN OUT   VARCHAR2,
                           O_deliver_preferred_name   IN OUT   VARCHAR2,
                           O_deliver_company_name     IN OUT   VARCHAR2,
                           O_deliver_add1             IN OUT   VARCHAR2,
                           O_deliver_add2             IN OUT   VARCHAR2,
                           O_deliver_add3             IN OUT   VARCHAR2,
                           O_deliver_county           IN OUT   VARCHAR2,
                           O_deliver_city             IN OUT   VARCHAR2,
                           O_deliver_state            IN OUT   VARCHAR2,
                           O_deliver_country_id       IN OUT   VARCHAR2,
                           O_deliver_post             IN OUT   VARCHAR2,
                           O_deliver_jurisdiction     IN OUT   VARCHAR2,
                           O_deliver_phone            IN OUT   VARCHAR2,
                           O_deliver_email            IN OUT   VARCHAR2,
                           O_bill_first_name          IN OUT   VARCHAR2,
                           O_bill_phonetic_first      IN OUT   VARCHAR2,
                           O_bill_last_name           IN OUT   VARCHAR2,
                           O_bill_phonetic_last       IN OUT   VARCHAR2,
                           O_bill_preferred_name      IN OUT   VARCHAR2,
                           O_bill_company_name        IN OUT   VARCHAR2,
                           O_bill_add1                IN OUT   VARCHAR2,
                           O_bill_add2                IN OUT   VARCHAR2,
                           O_bill_add3                IN OUT   VARCHAR2,
                           O_bill_county              IN OUT   VARCHAR2,
                           O_bill_city                IN OUT   VARCHAR2,
                           O_bill_state               IN OUT   VARCHAR2,
                           O_bill_country_id          IN OUT   VARCHAR2,
                           O_bill_post                IN OUT   VARCHAR2,
                           O_bill_jurisdiction        IN OUT   VARCHAR2,
                           O_bill_phone               IN OUT   VARCHAR2,
                           O_bill_email               IN OUT   VARCHAR2,
                           I_customer_order_no        IN       VARCHAR2,
                           I_fulfill_order_no         IN       VARCHAR2,
                           I_source_loc_type          IN       VARCHAR2,
                           I_source_loc_id            IN       NUMBER,
                           I_fulfill_loc_type         IN       VARCHAR2,
                           I_fulfill_loc_id           IN       NUMBER)

This function begins by fetching service URL details found in RETAIL_SERVICE_REPORT_URL table where the RS_CODE is equal to 'COA'.

The CustomerOrderAddressServiceCon system properties for secure service call are set. Then the CustomerOrderAddressServiceCon.queryCustomerOrderAddress () function is called to retrieve the customer order address details.

Table Impact

NA

Customer Address Service

This section describes the Customer Address service.

Functional Area

Financials

Business Overview

The primary role of this service is to query customer address details related to a ReSA transaction.

Retrieve Customer (retrieveCustomer)

This section describes the Retrieve Customer service.

Business Overview

This query service is used to retrieve customer address details from an endpoint such as a Customer Engagement System (for example, Oracle RCE). It accepts a transaction customer ID as the input, and returns customer address details related to the customer.

In ReSA, this service is only utilized if the Persist Customer Data system option is set to ’N'. The retrieved data will be displayed in the ReSA Transaction Customer screen. No update will be made to the SA_CUSTOMER table.

ReSA acts as the consumer of the service provided by a Customer Engagement System. Integration between ReSA and Oracle RCE is NOT provided out-of-the-box at this point.

Input Parameters

Parameter Name Required Description Valid Values
customer_id Yes The unique identifier for a customer. NA

Output

  • first_name

  • last_name

  • company_name

  • add1

  • add2

  • add3

  • county

  • city

  • state

  • country_id

  • post

  • jurisdiction

  • phone

  • email

  • birthdate

Package Impact

Filename: rcewebsvcb/s.pls

Package Name: RCE_WEBSERVICE_SQL

GET_CUSTOMER_ADDRESS(O_error_message   IN OUT   VARCHAR2,
                     O_first_name      IN OUT   VARCHAR2,
                     O_last_name       IN OUT   VARCHAR2,
                     O_company_name    IN OUT   VARCHAR2,
                     O_add1            IN OUT   VARCHAR2,
                     O_add2            IN OUT   VARCHAR2,
                     O_add3            IN OUT   VARCHAR2,
                     O_county          IN OUT   VARCHAR2,
                     O_city            IN OUT   VARCHAR2,
                     O_state           IN OUT   VARCHAR2,
                     O_country_id      IN OUT   VARCHAR2,
                     O_post            IN OUT   VARCHAR2,
                     O_jurisdiction    IN OUT   VARCHAR2,
                     O_phone           IN OUT   VARCHAR2,
                     O_email           IN OUT   VARCHAR2,
                     O_birthdate       IN OUT   DATE,
                     I_customer_id     IN       VARCHAR2)

This function begins by fetching service URL details found in the RETAIL_SERVICE_REPORT_URL table where the RS_CODE is equal to 'CAS'.

The CustomerServiceConsumer system properties for secure service call are set. Then the CustomerServiceConsumer.retrieveCustomer() function is called to retrieve the customer address details.

Table Impact

NA

Transfer Management API

This section describes the Transfer Management API.

Functional Area

Transfer

Design Overview

In addition to RIB (please see Transfer Subscription API), RMS also exposes a Transfer Management web service to allow an external application to create, update, and delete transfers in RMS. The web service takes in a collection of transfers and will return success and failure through the service response object.

Package Impact

PL/SQL Web Service Wrapper

Package: TransferManagementServiceProviderImplSpec/Body.pls

For a web service deployment, the 'Transfer Management' service with supported operations is available for an external system to send Transfer requests to RMS. Each supported operation will invoke the public interfaces in the TransferManagementService package as follows:

  • createXTsfColDesc

  • createDetail

  • modifyHeader

  • modifyDetail

  • deleteHeader

  • deleteDetail

These public interfaces will call the corresponding procedures in svcprov_xtsf, which will in turn call rmssub_xtsf.consume to do the major processing logic.

Package: svcprov_xtsfs/b.pls

Procedures called from Transfer web service public interfaces in the TransferManagementService package to perform major processing.

If error happens, it calls SVCPROV_UTLITY.BUILD_SERVICE_OP_STATUS to build and return "RIB_ServiceOpStatus_REC"with a failure message; if no errors, it builds and returns "RIB_InvocationSuccess_REC" with a success message.

Message XSD

Here are the filenames that correspond with each message type. Please consult the RIB documentation for each message type in order to get a detailed picture of the composition of each message.

Message Types Message Type Description XML Schema Definition (XSD)
createXTsfColDesc Create Transfer Service Operation XTsfColDesc.xsd
createDetail Create Transfer Detail Service Operation XTsfColDesc.xsd
modifyHeader Modify Transfer Service Operation XTsfColDesc.xsd
modifyDetail Modify Transfer Detail Service Operation XTsfColDesc.xsd
deleteHeader Delete Transfer Service Operation XTsfColRef.xsd
deleteDetail Delete Transfer Detail Service Operation XTsfColRef.xsd

Design Assumptions

N/A

Tables

N/A