13 Integrations
This chapter describes the integration setup within EICS to Integrate with other systems.
For completed integration interfaces, see Oracle Retail Enterprise Inventory Cloud Service Administration Guide - Integration chapter.
Pricing Integration with Retail Pricing Cloud Service
Clearance Transaction Import
See Oracle® Retail Enterprise Inventory Cloud Service Administration Guide Batch Chapter: Clearance Transaction Import
Price Change Transaction Import
See Oracle® Retail Enterprise Inventory Cloud Service Administration Guide Batch Chapter: Price Change Transaction Import
Promotion Offer Import (N/A): Requires Field Enabled Integration
SIOCS does not use Oracle Retail Pricing Cloud Service Interface PromotionOffer_Tx. It requires field enabled integration. At this point, the pricing service does not post promotion price by item/date, so there is nothing for SIOCS to use. SIOCS does have a generic promotion interface for the retailer to integrate promotion price into.
Stock Count Export Integration with MFCS
Stock Count Export
When a Unit Amount stock count is authorized, a Unit and Amount Stock Counts Export file is generated.
See Oracle® Retail Enterprise Inventory Cloud Service Administration Guide Appendix: Unit and Amount Stock Counts Export.
Sale Data Integration with POS and ReSA
Retail Sale Audit Import Batch
See:
-
Oracle® Retail Enterprise Inventory Cloud Service Administration Guide Batch chapter
-
Oracle® Retail Enterprise Inventory Cloud Service Administration Guide Integration chapter
Xstore Integration - How does SIOCS Process Sales Transactions?
Configuration
SIOCS now does a-synchronous processing for sales transactions.
Processing
-
The basic form and structure of the POS transaction is validated. If this fails, the entire service call is rejected. *** please see validation checks for this step #1 below.
-
The transactions are broken up into items. Each item is then categorized as associated to order or not associated to order.
-
All records are written into POS_TRANSACTION table to be processed later.
-
MPS processing sub-queue is notified with a request number to process a group of transaction records.
-
MPS processes records in bulk groups by type for efficiency.
-
Items that succeed are processed.
-
Items that fail are written back to POS_TRANSACTION table with failed status and a record is written to POS_TRANSACTION_LOG to capture the failure
*** please see error handling for this step #5 below.
-
Error Handling During Processing Step 1
If any error occurs in the first step, the entire web service call is failed and rejected.
The following errors can occur in Step 1.
-
If sale upload is configured to GMT and a non-GMT date is sent.
-
If more than one store is found on the input.
-
If the single store found in the input is not an existing store.
-
If the maximum number of (configured) total items is exceeded.
-
If duplicate records are found in the input itself.
-
If duplicate records are found in already existing data.
Error Handling During Step 5
If an unexpected or system error occurs, the entire request will fail, and all records associated to the request will not process.
If an expected or business error occurs, it is handled, and the specific item only is failed, and processing continues until the request is complete.
Failed items with business errors can be dealt with in SIOCS POS administration screen.
Note:
If a sales audit process is used, depending on the type of failure, the audit change process could send an audited file back to SIOCS, which means it may not be required to fix the error in SIOCS since it will be overlaid by the transaction coming from the sales audit application.
Web Service: Integration with Manifest System
See:
-
Oracle® Retail Enterprise Inventory Cloud Service Administration Guide - Integrate with Manifest System
-
Web Service URL:
System Integrator provides the external Web Service URL. This URL is taken as input by the EICS installer to update system configuration entry in the database.
The URL can also be updated via EICS System Configuration UI using the below configuration.
SIOCS is not a package shipping management system. It calls an external shipping-manifest system that acts as a broker for multiple courier entities such as FedEX, UPS, DHL, national mail carriers and so on.
Details of the shipping manifest web service are captured in the WSDL. Details of the data elements are provided in the XSD.
-
Download Shipping-Manifest-Service jar from the External Integration Artifacts Download Files section of MOS Doc ID 2614551.1.
-
Please look at all the definitions/wsdl in that JAR and write service as needed. This service will run on a server outside of Oracle network.
-
Please log a service request to allow-list this server URL.
-
Please use the Credentials Administration UI under Technical maintenance to update credential details. For details, please see Oracle® Retail Enterprise Inventory Cloud Service Administration Guide - Chapter 6.
-
-
Web Service User alias: manifest-user
-
Web Service: Integration with External System for Ticket Printing
Web Service: Integration with External System for Ticket Printing
See:
-
Oracle® Retail Enterprise Inventory Cloud Service Administration Guide - Ticket Print
-
Web Service URL:
System Integrator provides the external Web Service URL. This URL is taken as input by the EICS installer to update system configuration entry in the database.
SIOCS is not a printing system that manages printers & formats. Tickets are sent to an external web service endpoint; that is implemented by any system that needs to receive tickets. The external system is responsible for managing printing.
SIOCS stages the printed tickets in the Message Processing System queue. To process the staged tickets, the TicketPrint outbound MPS work type needs to be enabled through the MPS Work Type screen. Please refer to the Oracle Retail Enterprise Inventory Cloud Service Administration Guide for details on MPS Work Type screen.
The external web service is called tps-TicketPrint and has one operation printTickets.
Details of the ticket printing web service are captured in the WSDL. Details of the ticket data elements are provided in the XSD.
-
Download tps- TicketPrintService jar from the External Integration Artifacts Download Files section of MOS Doc ID 2614551.1.
-
Please look at all the definitions/wsdl in that JAR and write service as needed. This service will run on a server outside of Oracle network.
-
Please make sure outbound TicketPrint MPS work type has been enabled.
-
Please log a service request to allow-list this server URL.
-
Please use the Credentials Administration UI under Technical maintenance to update credential details. For details, please see Oracle® Retail Enterprise Inventory Cloud Service Administration Guide - Chapter 6.
-
-
Web Service User alias: ticket-user
ZPL
-
ZPL is a proprietary ticket formatting language used for printing to Zebra printers.
-
ZPL is not entirely an ASCII format and is not readable without tools.
-
If not using ZPL ticket printing on Zebra printers, then usage of ZPL is not recommended.
-
If using ZPL with ZPL printers, SIOCS allows for the placement of tags within the ZPL design (managed by ZPL tools).
-
SIOCS will then replace those tags with the correct data before sending the ticket information to the web service endpoint.
-
ZPL files and formats are created and managed by tools and software outside of SIOCS. Files are uploaded into SIOCS.
Non-ZPL Printing
-
Information captured in printer administration is sent with the ticket information, such as printer name and address.
-
The custom development of the printing system (or middleware system designed to speak to a printing solution) must use the printer and ticket information to determine how to print.
-
Ticket information can be used to determine format of ticket to print, but such tasks as matching the ticket type information to a template managed by the implementing system.
-
Once a template in the middleware system is identified, the middleware system should use ticket information to populate the template and print the ticket. SIOCS does not manage printing templates.
-
Printer information can be used to determine which printer it should be sent to.
-
Printing templates are created and manages by tools and software outside of SIOCS as part of a custom or middleware product.
Figure 13-1 Ticket Printing
RIB Integration Guidance (From SIOCS Perspective)
Overview
The Oracle Retail Integration Bus (RIB) is a fully distributed integration infrastructure that implements messaging using Asynchronous JMS Publish/Subscribe Fire-and-Forget model.
The concept of message-bus is that one product broadcasts information and each product or cloud service only subscribes to those message families/payloads that they are interested in. Everything else is ignored.
To process all messages intended for ordering systems, pricing systems, or any other external systems would require massive processing of mapping, then writing to the database, and then reading messages that are not intended for processing in our system to discard them.
To avoid all the processing and overhead, messages not intended for SIOCS are simply dropped at the point of receiving them from the RIB.
Unsupported Messages and Payloads
When an entire family or message type is not used or desired in SIOCS, then it is not subscribing to and does not arrive at SIOCS.
The message type and payload have no injector that places the RIB payload into the MPS staged message processing workflow in SIOCS.
Unsupported Data within Messages and Payloads
In the case of some message families or types, a brief look at the internal information of the message may also determine, it is not meant for SIOCS.
-
SIOCS does not process non-stockholding stores (stores with no inventory). So, if a payload arrives for a message family and type we support, but the payload contains an internal attribute, usually labeled "stockholding_ind" that is set to "N", the payload is dropped as it is not intended for the SIOCS system.
-
SIOCS does not process virtual stores so limited itself by store type. If the payload contains a store type attribute, then SIOCS only processes COMPANY ("C") stores and FRANCHISE ("F") stores.
-
When dealing with quantities, a quantity of 0 primarily means a cancellation or removal of that item or detail from a transaction, and so it is deleted. There may be exception to this in certain circumstances.
Errors
Errors that occur within the RIB through injection in MPS are logged and managed within the RIB.
Errors that occur within MPS staged messages within SIOCS are logged and can be seen and managed with MPS management workflow.
Messages that are successfully processed, including successfully being ignored as not relevant to the store, do not log any information.
Modify/Delete
In the case of transaction data, in some cases if the transaction is actively being processed by a user or business functionality in the store, it may have already passed a state where it can be modified or canceled.
Message Family/Type
The following table contains a list of message families and types that SIOCS subscribes to (incoming) or broadcasts (publishes out) to other systems.
It indicates the family name, message type, payloads used within the family, whether SIOCS publishes or subscribes to it, and whether it is part of the initial data seeding.
Message type suffixes indicates intent of the payload: Cre means create information, Mod means modify information, and Del means cancel or delete information.
Table 13-1 Message Family/Type
Message Family | Message Type | Payload | Publish/ Subscribe | Seeded | SIOCS Data |
---|---|---|---|---|---|
ASNIn |
ASNInCre ASNInMod |
ASNInDesc |
Subscribe |
No |
Store Delivery |
ASNOut |
ASNOutCre |
ASNOutDesc |
Publish |
No |
Store Shipment |
ClrPrcChg |
ClrPrcChgCre ClrPrcChgMod ClrPrcChgDel |
ClrPrcChgDesc ClrPrcChgRef ClrPrcChgDtlRef |
Subscribe |
No |
Clearance Price Change |
CoInvAvail |
COInvAvailMod |
COInvAvailDesc |
Publish |
No |
Customer Order Store Inventory Shift Notification |
Diffs |
DiffCre DiffDel DiffMod |
DiffDesc DiffRef |
Subscribe |
Yes |
Differentiators |
DSDReceipt |
DSDReceiptCre DSDReceiptMod |
DSDReceiptDesc |
Publish |
No |
Non-PO DSD Receipt |
FulfilOrd |
FulfilOrdStDlvCre FulfilOrdReqDel FulfilOrdApprDel |
FulfilOrdDesc |
Subscribe |
No |
Fulfillment Orders |
FulfilOrdCfm |
FulfilOrdCfmCre |
FulfilOrdCfmDesc |
Publish |
No |
Fulfillment Order Confirm |
FulfilOrdCfmCnc |
FulfilOrdCfmCncCre |
FulfilOrdRef |
Publish |
No |
Fulfillment Order Cancel |
InvAdjust |
InvAdjustCre |
InvAdjustDesc |
Publish, Subscribe |
No |
Stock Movement Notification |
InvReq |
InvReqCre |
InvReqDesc |
Publish |
No |
Store Order/Item Request |
ItemLoc |
ItemLocCre ItemLocDel ItemLocMod ItemLocReplMod |
ItemLocDesc |
Subscribe |
Yes |
Item Location Item Replenishment |
Items |
ItemBOMCre ItemBOMDel ItemBOMMod ItemCre ItemDel ItemHdrMod ItemImageCre ItemImageMod ItemImageDel ItemUPCCre ItemUPCDel ItemUPCMod |
ItemBOMDesc ItemDesc ItemHdrDesc ISCDimDesc ItemImageDesc ItemTcktDesc ItemUPCDesc |
Subscribe |
Yes |
Item Item Details Item UPC Item Image |
Items |
RelItemHeadCre RelItemHeadMod RelItemHeadDel RelItemDetCre RelItemDetDel RelItemDetMod |
RelatedItemDesc |
Subscribe |
Yes |
Related Items |
Items |
ItemSupCre ItemSupDel ItemSupMod ItemSupCtyCre ItemSupCtyDel ItemSupCtyMod ISCDimCre ISCDimMod ISCDimDel ISCMfrCre ISCMfrDel ISCMfrMod |
ItemSupCtyDesc ItemSupCtyMfrDesc ItemSupDesc |
Subscribe |
Yes |
Supplier Items Supplier Manufacturer Supplier Country |
Items |
ItemUDALOVCre ItemUDALOVMod ItemUDALOVDel ItemUDAFFCre ItemUDAFFMod ItemUDAFFDel ItemUDADateCre ItemUDADateMod ItemUDADateDel |
ItemUDADateDesc ItemUDAFFDesc ItemUDALOVDesc |
Subscribe |
Yes |
Item User Defined Attributes |
MerchHier |
ClassCre ClassMod ClassDel DeptCre DeptMod DeptDel SubclassCre SubclassMod SubclassDel |
MrchHrClsDesc MrchHrDeptDesc MrchHrSclsDesc |
Subscribe |
Yes |
Department Class Subclass |
Order |
POCre PODel PODtlCre PODtlDel PODtlMod POHdrMod |
PODesc PORef |
Subscribe |
No |
Purchase Order |
Partner |
PartnerCre PartnerDel PartnerMod PartnerDtlCre PartnerDtlDel PartnerDtlMod |
PartnerDesc PartnerOUDesc PartnerRef |
Subscribe |
Yes |
Finishers |
PrmPrcChg |
MultiBuyPromoCre MultiBuyPromoMod MultiBuyPromoDel PrmCnlItemLocCre |
PromotionDesc |
Subscribe |
No |
Promotions |
RcvUnitAdj |
RcvUnitAdjCre RcvUnitAdjMod |
RcvUnitAdjDesc |
Subscribe |
No |
Adjusts Supplier Deliveries |
Receiving |
ReceiptCre ReceiptOrdCre |
ReceiptDesc |
Publish |
No |
Transfer Receipt, Purchase Order Receipt, Receipt with Customer Order |
RegPrcChg |
RegPrcChgCre RegPrcChgMod RegPrcChgDel |
RegPrcChgDesc RegPrcChgDtl |
Subscribe |
No |
Regular Price Change |
RTV |
RTVCre |
RTVDesc |
Publish, Subscribe |
No |
Warehouse Return |
RTVReq |
RTVReqCre RTVReqMod RTVReqDel RTVReqDtlCre RTVReqDtlDel RTVReqDtlMod |
RTVReqDesc RTVReqRef |
Subscribe |
No |
Supplier Return |
SeedData |
DiffTypeCre DiffTypeDel DiffTypeMod |
DiffTypeDesc DiffTypeRef |
Subscribe |
Yes |
Differentiator Types |
ShipInfo |
ShipInfoCre |
ShipInfoDesc |
Publish |
No |
Pre-Shipment Notification |
SOStatus |
SOStatusCre |
SOStatusDesc |
Publish, Subscribe |
No |
Transfers Shipments |
StkCountSch |
StkCountSchCre StkCountSchMod StkCountSchDel StkCountSchDtlDel |
StkCountSchDesc |
Publish |
No |
Stock Count Schedule |
StockOrder |
SOCre SODtlCre SODtlDel SODtlMod SOHdrDel SOHdrMod |
SODesc SORef |
Subscribe |
No |
Transfer Allocation |
Stores |
StoreCre StoreDel StoreMod StoreDtlCre StoreDtlDel StoreDtlMod |
StoreDesc StoreRef |
Subscribe |
Yes |
Store |
UDAs |
UDAHdrCre UDAHdrMod UDAHdrDel UDAValCre UDAValMod UDAValDel |
UDADesc UDARef UDAValDesc UDAValRef |
Subscribe |
No |
User Defined Attributes |
Vendor |
VendorAddrCre VendorAddrDel VendorAddrMod VendorCre VendorDel VendorHdrMod VendorOUCre VendorOUDel |
VendorAddrDesc VendorAddrRef VendorDesc VendorRef |
Subscribe |
Yes |
Suppliers |
WH |
WHCre WHDel WHMod |
WHDesc WHRef |
Subscribe |
Yes |
Warehouse |
Other Integration Interfaces
See Oracle® Retail Enterprise Inventory Cloud Service Administration Guide Integration chapter.
Standalone Deployment - Integration with on-premise RMS/RIB
SIOCS V22 has enabled standalone deployment (that is, not shared pluggable database with MFCS) option. In order to integrate with on-premise Retail merchandising system, field enablement would be needed.
As noted in the Oracle SIOCS Implementation Overview chapter, File Transfer Service (FTS) would play a key role in enabling this integration.
Depending on the version of Retail Merchandising System (RMS), RIB payloads may differ as well. Implementers will have to do analysis. If your RMS version is V19 or V16 then payloads would be much more compatible in terms of required attributes; than dealing with pre-V16 RMS.
Please note that RIB (retail integration bus) would always deploy where Merchandising gets deployed; hence RIB-on-premise would interact with SIOCS.
At high level, field enablement would be needed for:
-
Foundation Data seeding and pricing
For file layout and more detail, please see the Standalone Data Seeding section in the Oracle Retail Enterprise Inventory Cloud Service Administration Guide.
-
File movement between SIOCS and Merchandising
-
ReSA import into SIOCS
-
Stk count export from SIOCS to Merchandising
-
-
3rd party file imports
For more information, please see the FTS Enabled Third Party File Import Batches section within the File Transfer Services chapter in the Oracle Retail Enterprise Inventory Cloud Service Administration Guide.
-
In order to call RIB instance located on-premises from SIOCS V22, RIB endpoint needs to be allow listed. Create a service request on My Oracle Support to allow list the on-premises server url.
-
Once allow listed, SIOCS to RMS communication via RIB can commence through standard RIB- SOAP services.
-
Similarly on-premise RMS would use RIB-SOAP-injector service to communicate with SIOCS.
-
Standalone Deployment - Integration with GBUCS MFCS/RICS
SIOCS V22 has enabled standalone deployment (that is, not shared pluggable database with MFCS) integration option with MFCS/RICS v 19.x deployed in GBUCS.
Please note that RICS (retail integration cloud service) would always deploy where Merchandising gets deployed.
Biggest difference between GBUCS cloud and NextGen Cloud is use of sFTP v/s Object storage (FTS - file transfer service) for file movement.
Before starting, please verify with Oracle AMS team about this mixed mode deployment.
In this deployment, following integration takes place.
-
ReSA files from MFCS/GBUCS to SIOCS
-
MFCS invokes FTS end points to push files from sFTP
-
-
Pricing - regular and clearance files get pushed from pricing cloud service (part of MFCS) into SIOCS's object storage (FTS)
-
Pricing import files are pulled & processed from object storage into application item price tables.
-
On completion, the processed files are moved to SIOCS FTS internal archive file location and purged after configured days.
-
On failures, the failed records are written to reject files, and the reject files are sent to object storage rejects location. The errors can be viewed via SIOCS job admin UI or can be downloaded via table in job admin UI.
-
To re-run the corrected data files, user can place the corrected data files into SIOCS FTS/object storage import location, and the import batch will process the data files.
-
-
Stock count file gets pushed from SIOCS's object storage to MFCS's sFTP
-
MFCS will continue to send inventory transactions via RIB messages to SIOCS
-
** SIOCS end points are publicly exposed
-
-
SIOCS will continue to send inventory transaction RIB messages to MFCS
-
** url will be whitelisted & configured on SIOCS to allow this
-