Importing Enterprise Foundation Data through Omnichannel Cloud Data Service (OCDS)

Overview: Use the integration with Omnichannel Cloud Data Service (OCDS) to import information and create or update records, including items, item warehouses and locations, prices, and item images, that have been added to the OCDS database from Oracle Retail Merchandising Foundation Cloud Service (RMFCS) and Oracle Retail Pricing Cloud Service (RPCS).

About OCDS: Oracle Omnichannel Cloud Data Service (OCDS) is a data hub, enabling Oracle Retail Merchandising and Pricing applications to share foundation data with Oracle Retail omnichannel applications through the use of RESTful web services.

OCDS contains the following components:

  • BDI Batch Job Admin: Enables in-bound data flow into OCDS using Oracle Bulk Data Integration (BDI) technology. Job Admin has a User Interface (UI) to support the management of BDI batch Jobs. Handles the initial load into OCDS.

  • RIB Injector: Enables inbound data flow into OCDS from the Oracle Retail Integration Bus (RIB).

  • ORDS: Enables outbound data flow from the OCDS database to omnichannel applications, such as Order Administration, Order Orchestration, and Oracle Retail Customer Engagement, and Xstore.

Enterprise order integration: You can use the data imported from OCDS to support enterprise order integration, including the use of purchase order information originating in RMFCS to control when orders can be fulfilled through submission to Order Orchestration. See Enterprise Order Integration (Future Receipts and Active PO/Pre-Order Processing) for more information.

In this topic:

Data Flow from OCDS to Order Administration

If your company is configured for enterprise foundation data integration, processing takes place as follows:

1. When the OCDSITM Periodic Function runs, it uses the system control values listed below to generates a RESTful request for various types of information that is available in OCDS. This information was previously sent to OCDS by enterprise applications, including Oracle Retail Merchandising Foundation Cloud Service (RMFCS) and Oracle Retail Pricing Cloud Service (RPCS).

Note:

You need to run the full import before attempting an incremental import. See the OCDSITM Periodic Function for background.

GZIP compression: The generated request message indicates that gzip encoding is accepted, and OCDS sends the data in GZIP compression format.

2. The OCDSITM periodic function uses the data in the response messages from OCDS to create or update records in the target tables, as mentioned above. It creates a record if it does not exist; otherwise, it updates the record. However, some fields are never updated for existing records. See Mapping Information into Order Administration for details.

Note:

The periodic function does not delete records. If OCDS passes a delete request, it is ignored.

Logging and import history: See Troubleshooting Information for OCDS for a discussion.

Configuration for OCDS Integration

The configuration required in Order Administration to support importing information through OCDS is described below.

System Control Values

The following system control values must be selected:

The following system control values must be unselected:

Enterprise Integration Values: Use the Enterprise Integration Values (M41) screen to define additional values required for integration with OCDS, including URLs and default values for mapping.

Supporting values: Several of these system control values require additional setup of supporting values. For example, you need to configure warehouse and location records in order to specify the defaults to use for the integration. See each system control value for more information.

When you run the import, each type of data is imported only if the related URL is specified at this screen. For example, merchandise hierarchy information is imported only if the OCDS Merchandise Hierarchy URL (M43) system control value specifies a valid URL. See that screen for more information.

Properties

Use the OCDS_JOB_HISTORY_RETENTION_DAYS property to control the number of days to retain records in Enterprise Data Imports History (the INT_OCDS_STATUS table) before thee OCDSITM periodic function automatically deletes them.

Web Service Authentication

Use the Work with Outbound Web Service Authentication Screen to set up authentication for the OCDS Service.

If the OCDS Service is configured to use OAuth for authentication, then the OCDSITM periodic function requests not only the initial item price, but also the regular item price and the clearance item price, using the URLs specified in the related system control values at the Enterprise Integration Values (M41) screen. Otherwise, if the service uses basic authentication, only the initial item price is requested.

OCDSITM Periodic Function

Use Working with Periodic Functions (WPER) to set up the periodic function. When setting up the function:

  • Set the Program name to PFR0202.

  • Set the Parameter to:

    • FULL or leave it blank to perform a full load of each type of item-related data.

    • INCREMENTAL to perform a load of new or changed information since the last time you imported data for the company.

    • INCREMENTAL plus a date and time to perform a load of new or changed information since the specified date and time, based on the OCDS server’s local date and time. The date format is based on the locale of the user who configures the periodic function. If the user’s Date Format is set to:

      • DDMMYY, format as INCREMENTAL 31/12/2020 23:59

      • MMDDYY, format as INCREMENTAL 12/31/2020 23:59

      • YMMDD, format as INCREMENTAL 2020/12/31 23:59

      Note:

      You need to perform a full load for a company before you can perform an incremental load.
  • Select the Company Parameter flag.

Creation and update only: The periodic function creates new records and updates existing records. It does not delete records.

Periodic Process

Use Working with Periodic Processes (WPPR) to assign the periodic function described above to a periodic process. The Company parameter is required to indicate the company where the records should be created or updated.

Additional Considerations for OCDS Integration

Does not support SKUs: Since RMFCS does not support SKU’s, all items imported from RMFCS are non-SKU’d items.

Using RMFCS Item Level and Tran Level to determine whether to create or update an item: RMFCS uses a different hierarchy than Order Administration for multi-level items. The RMFCS hierarchy supports:

  • A level 1 item: For example, a picture frame that comes in only one finish and size.

  • A level 2 item: For example, an item group that includes a novelty tee shirt in sizes small, medium, and large. Level 1 is the tee shirt, while level 2 includes the sizes.

  • A level 3 item: For example, an item group that includes a polo shirt in red, blue, and yellow, and sizes small, medium, and large. Level 1 is the polo shirt, level 2 is the sizes, and level 3 is the colors.

The records in the itemhdr file that map to items in Order Administration are identifiable by the fact that the ItemLevel passed in the file is the same as the TranLevel. If the ItemLevel and the TranLevel are different, the record is not used to update the item record in Order Administration.

Troubleshooting Information for OCDS

If the OCDS process ends without successfully importing data, possible explanations include:

Enterprise Data Import History: Activity for the OCDSITM periodic function, as well as the OCDSFA periodic function, is also recorded in the INT_OCDS_STATUS table. You can review this data at the Enterprise Data Import History page in Modern View. The periodic function writes a record in this table each time:

  • The import for a feed type begins. The periodic function attempts each import feed type of the system control value defining the feed’s URL is populated. Possible import feed types are:

  • Item price: Item offer and price information.See Item Price Import and Mapping. The feed requests different price types separately, as follows:

    • ITEMPRICEINI: The initial item price.

    • ITEMPRICEREG: The regular item price.

    • ITEMPRICECLR: The clearance price.

    The OCDSFA periodic function creates FUTUREAVAILABLE records.

  • The result of each attempted import feed, including:

    • Execution time: The total number of seconds that elapsed while executing the feed.

    • Total rows count: The total number of records that met the selection criteria for the import feed.

    • Updated rows count: The total number of existing records that were updated through the import feed.

      Note:

      The updated row count might not match the actual number of records changed.
    • Inserted rows count: The total number of new records that were created through the import feed.

The OCDSITM periodic function clears all outdated Enterprise Data Import History records based on the number of days specified in the OCDS_JOB_HISTORY_RETENTION_DAYS property.

  • When it purges records, it writes an entry in the OCDS (Omnichannel Cloud Data Service) Log: Purged successfully.

  • When there are no eligible records to purge, it writes a log entry: No Records Available to Purge.

Mapping Information into Order Administration

Mapping details are provided below:

Merchandise Hierarchy Import and Mapping

About merchandise hierarchy: Merchandise hierarchy information in OCDS originates in RMFCS. If the OCDS Merchandise Hierarchy URL (M43) specifies a valid URL, the OCDSITM Periodic Function imports the item hierarchy information. The information that maps to Order Administration through the item hierarchy import is described in the following table.

Note:

The import process creates or updates records. It does not delete item hierarchy records that already exist.
RMFCS Hierarchy Level Order Administration Hierarchy Level Menu Option

Division

Not imported

N/A

Group

Long SKU Division

Creating and Maintaining Long SKU Divisions (WLDV)

Department

Long SKU Department

Working with Long SKU Departments (WLSD)

Class

Retail Class

Working with Long SKU Departments (WLSD)

Subclass

Not imported as part of item hierarchy.

Note:

The subclass is included in the item import; see Item-Related Import and Mapping.

N/A

Mapping: The item hierarchy information is mapped as follows:

Target Field Attributes Description Notes

Company

Numeric, 3 positions.

The code identifying the company selected when running the OCDSITM Periodic Function.

This company code applies to each of the mapped records.

Long SKU Division records

   

See Creating and Maintaining Long SKU Divisions (WLDV).

Long SKU division records are created where OCDS passes a hierarchylevel of GROUP and a parentlevel of DIVISION.

Long SKU Division

Numeric, 4 positions.

From the NodeID identifying the group.

If the long SKU division already exists, the description is updated.

Note:

Although the long SKU division code is alphanumeric in Order Administration, the division code created through the import is always numeric.

Long SKU Division Description

Alphanumeric, 30 positions.

From the nodename describing the group.

If no nodename is passed, the description is automatically set to Auto Created 1234 where 1234 is the NodeId.

If the nodename exceeds 30 positions, it is truncated.

The nodename is converted to all uppercase.

Long SKU Department records

   

See Working with Long SKU Departments (WLSD).

Long SKU department records are created where OCDS passes a hierarchylevel of DEPARTMENT and a parentlevel of GROUP.

Long SKU Department

Numeric, 4 positions.

From the NodeID identifying the department.

If the long SKU department already exists, the description is updated.

Long SKU Department Description

Alphanumeric, 30 positions.

From the nodename describing the department.

If no nodename is passed, the description is automatically set to Auto Created 1234 where 1234 is the NodeId.

If the nodename exceeds 30 positions, it is truncated.

The nodename is converted to all uppercase.

Retail Class

   

Use Working with Long SKU Departments (WLSD) to review retail classes that are assigned to long SKU departments.

Retail class records are created where OCDS passes a hierarchylevel of CLASS and a parentlevel of DEPARTMENT.

Retail Class

Numeric, 4 positions.

From the NodeID identifying the class.

If the retail class already exists, the description is updated.

Retail Class Description

Alphanumeric, 30 positions.

From the nodename describing the class.

If no nodename is passed, the description is automatically set to Auto Created 1234 where 1234 is the NodeId.

If the nodename exceeds 30 positions, it is truncated.

The nodename is converted to all uppercase.

Long SKU Department

Numeric, 4 positions.

From the parentnodeid identifying the long SKU department.

Identifies the long SKU department to be assigned the retail class.

Item-Related Import and Mapping

About item, SKU, item warehouse, and item location mapping: Item information in OCDS originates in RMFCS, and additional information in Order Administration, such as SKU, item warehouse, and item location records, is built during the import process using predefined defaults. If the OCDS Item URL (M45) specifies a valid URL, the OCDSITM Periodic Function imports the item information and creates the related records. The information that maps to Order Administration through the item import is described in the following table.

You need to run a full import of the periodic function before you can run an incremental import.

Additional item and SKU information: The ITEMLOCATION feed imports additional item and SKU information that is defined in the ITEM_LOC table in OCDS. See Item Location Attributes Import and Mapping for more information.

Note:

About unmapped fields: Any item, SKU, item warehouse, and item location fields in Order Administration that are not listed below are not mapped through the OCDSITM Periodic Function. Y/N fields are set to N; otherwise, fields are left blank if alphanumeric, or set to 0 if numeric. Also, these fields are not updated after initial record creation.

Note:

The import process creates or updates records. It does not delete records that already exist.
Target Field   Value Used Description/ Comments

Company

Numeric, 3 positions.

The code identifying the company selected when running the OCDSITM Periodic Function.

Note:

This company code applies to each of the mapped records. See Item Mapping and Defaults, SKU Mapping and Defaults, Item Warehouse Mapping and Defaults, and Item Location Mapping and Defaults.

Not updated after initial record creation in Order Administration.

Item Mapping and Defaults

     

Item

Alphanumeric, 12 positions.

Item passed.

Rather than using the item and SKU fields in the same way as Order Administration, RMFCS uses a hierarchical system to identify the relationships between individual items. An item code in the import table creates or updates an item in Order Administration only if the item’s ItemLevel and TranLevel in RMFCS are the same. See Additional Considerations for OCDS Integration for a discussion.

Applies to SKU, item warehouse, and item location records. See SKU Mapping and Defaults, Item Warehouse Mapping and Defaults, and Item Location Mapping and Defaults.

Not updated after initial record creation in Order Administration.

Allow SKUs

N/A

Set to N.

Only non-SKU’d items are created. See Additional Considerations for OCDS Integration for a discussion.

Non-Inventory

Y/N

Based on Inventoryind.

RMFCS uses an Inventoryind of Y to identify an inventoried item, while Order Administration uses a Non-Inventory setting of Y to identify a non-inventoried item. As a result, the Non-Inventory flag is set to N when the Inventoryind flag passed is set to Y, and vice versa.

Ship Alone

Alphanumeric, 1 position.

ShipAloneInd passed.

Set to S if the ShipAloneInd is set to Y; otherwise, blank.

Description

Alphanumeric, 120 positions.

Description passed.

Truncated if it exceeds the maximum field length in Order Administration.

Create Date

Date

Date when record is first created.

Not updated after initial record creation in Order Administration.

Last Change Date

Date

Most recent create or change date in Order Administration.

 

Retail Style #

Alphanumeric, 20 positions.

Item or ItemParent passed.

If no ItemParent is passed, then set to the Item.

Class (Long SKU Class)

Numeric, 4 positions.

Class passed.

Not updated after initial record creation in Order Administration.

Valid? If the import passes a long SKU class code that has not been set up through Working with Long SKU Classes (WLSC), it is still written to the item record; however, the Change Item screen displays an error. See Performing Initial Item Entry (MITM) for background.

Department (Long SKU Department)

Numeric, 4 positions.

Dept passed.

Not updated after initial record creation in Order Administration.

Valid? If the import passes a long SKU department code that has not been set up through Working with Long SKU Departments (WLSD), it is still written to the item record; however, the Change Item screen displays an error. See Performing Initial Item Entry (MITM) for background.

Long SKU Style

Alphanumeric, 20 positions.

ItemParent passed, of any; otherwise, Item passed.

 

Whs (Warehouse)

Numeric, 3 positions.

From the Default Warehouse (A04); otherwise, set to 0.

Not updated after initial record creation in Order Administration.

UOM (Unit of Measure)

Alphanumeric, 3 positions.

Default Item Unit of Measure (B33).

Not updated after initial record creation in Order Administration, except through Item Location Attributes Import and Mapping.

Updated by User

Alphanumeric, 10 positions.

User ID flagged as the Default User during system configuration.

 

Created by User

Alphanumeric, 10 positions.

User ID flagged as the Default User during system configuration.

Not updated after initial record creation in Order Administration.

OROB Eligible

Y/N

Y

Not updated after initial record creation in Order Administration.

Retail Subclass

Alphanumeric, 4 positions.

Subclass passed.

 

SKU Mapping and Defaults

   

A single SKU record is created for each item record with the same company and item code.

Collating Sequence #

Numeric, 5 positions.

1

Not updated after initial record creation in Order Administration.

Retail Reference #

Numeric, 15 positions.

Item passed.

Not updated after initial record creation in Order Administration.

Note:

The retail reference number needs to match the item code, so you should not change it after the SKU record is created.

Short SKU

Numeric, 7 positions.

Unique number assigned by Order Administration.

Not updated after initial record creation in Order Administration.

Last Change Date

Date

Most recent create or change date in Order Administration.

 

Create Date

Date

Date when record is first created.

Not updated after initial record creation in Order Administration.

Whs (Warehouse)

Numeric, 3 positions.

From the Default Warehouse (A04); otherwise, set to 0.

Not updated after initial record creation in Order Administration.

Location

Alphanumeric, 7 positions.

From the OMS Default Primary Location (M51); otherwise, blank.

Not updated after initial record creation in Order Administration.

Soldout Control Code

Alphanumeric, 2 positions.

Defaults from the Default Soldout Control Code (D72).

Not updated after initial record creation in Order Administration.

Updated by User

Alphanumeric, 10 positions.

User ID flagged as the Default User during system configuration.

 

Created by User

Alphanumeric, 10 positions.

User ID flagged as the Default User during system configuration.

Not updated after initial record creation in Order Administration.

Item Warehouse Mapping and Defaults

   

An item warehouse record is created for each item record with the same company, item code, and SKU.

Whs (Warehouse)

Numeric, 3 positions.

From the Default Warehouse (A04); otherwise, set to 0.

Not updated after initial record creation in Order Administration.

Item Location Mapping and Defaults

   

An item location record is created for each item record with the same company, item code, SKU, and warehouse if the OMS Default Primary Location (M51) system control value specifies a value; otherwise, the record is not created.

Certain fields, such as the Type, default from the OMS Default Primary Location (M51).

Whs (Warehouse)

Numeric, 3 positions.

From the Default Warehouse (A04); otherwise, set to 0.

Not updated after initial record creation in Order Administration.

Location

Alphanumeric, 7 positions.

From the OMS Default Primary Location (M51).

Not updated after initial record creation in Order Administration.

Item Image Import and Mapping

Item image import: Item image URL information in OCDS originates in RMFCS. If the OCDS Item Image URL (M47) system control value specifies a valid URL and the item has been imported from OCDS, the OCDSITM Periodic Function imports the links to item images from OCDS and updates the corresponding field in the item table. The import takes place regardless of the setting of the Use External Item Image (L55) system control value.

The import process updates the item’s image link only when the response from OCDS indicates that it is flagged as the primary.

  • Company: The code identifying the company selected when running the OCDSITM Periodic Function.

  • Item: The code identifying an item in the OCDS database. If the item does not exist in the specified company in Order Administration, no update takes place.

  • Image link: The image link for the item. See the Item Image/Info Link Screen for more information.

Note:

The import process does not delete item image links that already exist.

Item Location Attributes Import and Mapping

Purpose: The item location attributes import through the OCDSITM Periodic Function actually updates certain fields in existing Item and SKU records based on the information in the ITEM_LOC table in OCDS; it does not create or update item location records. These updates take place only if the OCDS Item Location Attributes URL (M46) specifies a valid URL. The information in the Item and SKU tables that the function updates in Order Administration is described in the following table:

Identifying the items to update: The OCDSITM Periodic Function uses the OCDS RMS Location Identifier (M52) system control value to determine which records to update with item location attributes. Only OCDS ITEM_LOC records with a LOCATION that matches the system control value are used to update the Order Administration item and SKU records.

How are item locations updated? The OCDSITM Periodic Function creates and updates item location records through the Item and SKU import. See Item-Related Import and Mapping, including Item Location Mapping and Defaults, above, for more information.

Important:

About unmapped fields: Any item, SKU, item warehouse, and item location fields in Order Administration that are not listed below are not mapped through the OCDSITM Periodic Function. Y/N fields are set to N; otherwise, fields are left blank if alphanumeric, or set to 0 if numeric. Also, these fields are not updated after initial record creation.

Note:

The import process updates existing item and SKU records. It does not delete records that already exist.
Target Field Attributes Value Used Description/ Comments

Company

Numeric, 3 positions.

The code identifying the company selected when running the OCDSITM Periodic Function.

The company code used to identify the item and SKU records to update.

Item

Alphanumeric, 12 positions.

Item passed

The item code used to identify the item and SKU records to update.

Item Fields Updated through the Item Location Attributes Import

     

Item Status

Alphanumeric, 1 position.

The status passed.

A code that represents an item's status, such as obsolete, discontinued, etc. This information is used for inventory reporting purposes; also, items that are assigned the Item Status for Suppressing Item During Item Selection (L21) at the item level are not listed at the Item Selection screen.

Valid? If the import passes a status code that has not been set up through Working with Item Status (WIST), it is still written to the item record; however, the Change Item screen displays an error. See Performing Initial Item Entry (MITM) for background.

Unit of Measure

Alphanumeric, 3 positions.

The sellinguom passed.

A standard by which an item/SKU is sold.

Typical units of measure include:

  • EA = each

  • IN = inches

  • C12 = case of 12

Also updates the SKU record; see below.

Valid? If the import passes a unit of measure code that has not been set up through Working with Units of Measure (WUOM), it is still written to the item record; however, the Change Item screen displays an error. See Performing Initial Item Entry (MITM) for background.

Updated by User

Alphanumeric, 10 positions.

User ID flagged as the Default User during system configuration

 

Last Change Date

Date

Most recent create or change date in Order Administration.

 

SKU Fields Updated through the Item Location Attributes Import

     

Restrict

Y/N

From the stopsaleind passed.

Indicates whether this item can be ordered.

  • selected = You cannot add this item to an order, and demand is not captured.

  • unselected = You can add this item to an order, and demand is captured.

Any existing orders before the item becomes restricted are processed normally.

Unit of Measure

Alphanumeric, 3 positions.

The sellinguom passed.

A standard by which an item/SKU is sold.

Typical units of measure include:

  • EA = each

  • IN = inches

  • C12 = case of 12

Also updates the item record; see above.

Valid? If the import passes a unit of measure code that has not been set up through Working with Units of Measure (WUOM), it is still written to the item record; however, the Change Item screen displays an error. See Performing Initial Item Entry (MITM) for background.

Updated by User

Alphanumeric, 10 positions.

User ID flagged as the Default User during system configuration

 

Last Change Date

Date

Most recent create or change date in Order Administration.

 

Item Price Import and Mapping

Purpose: The item offer and item price import through the OCDSITM Periodic Function creates or updates item offer and item price records for the Current Offer (A33). These updates take place only if the OCDS Initial Item Price URL (M48) specifies a valid URL. Regular and clearance price updates also take place if the OCDS Service is configured in Working with Web Service Authentication (WWSA) to use OAuth for authentication and the OCDS Regular Item Price URL (M68) and OCDS Clearance Item Price URL (M69) are specified. The information in the item offer and item price tables that the function updates in Order Administration is described in the following table:

Identifying the items to update: The OCDSITM Periodic Function uses:

  • The OCDS RMS Location Identifier (M52) system control value to determine which items are eligible to have item offer and item price records created or updated. Only OCDS ITEM_LOC records with a LOCATION that matches the system control value are used to update the Order Administration item offer and item price records.

  • The retail reference number in Order Administration, which needs to match the Item passed from OCDS. Ordinarily, the retail reference number and the item code in Order Administration are the same, as the periodic function sets them both to the same Item code.

Default offer: The periodic function creates item offer and item price records using the Current Offer (A33) system control value. This system control value must be set to a valid, current offer in order to create the item offer and item price records correctly.

Important:

About unmapped fields: Any item offer or item price fields in Order Administration that are not listed below are not mapped through the OCDSITM Periodic Function. They are set to N if a Y/N value; otherwise, they are left blank if alphanumeric, or set to 0 if numeric. Also, these fields are not updated after initial record creation.

Note:

The import process updates existing item offer and item price records. It does not delete records that already exist.
Target Field Properties Value Used Description/ Comments

Company

Numeric, 3 positions.

The code identifying the company selected when running the OCDSITM Periodic Function.

The company code used to identify the item and SKU records to update.

Item

Alphanumeric, 12 positions.

Item passed

The item code used to identify the record to update.

Matched based on retail reference number: The periodic function uses the retail reference number for the item to determine whether the item matches a record received from OCDS. The function sets the retail reference number to the same value as the item code, so ordinarily they are the same.

The periodic function creates item offer and item price records only for items that exist in OCDS and have been imported into Order Administration. Also, the item price is updated only if the retail reference number is numeric, because a non-numeric reference number indicates that the item is not sellable.

Item Offer Field Updated through the Price Import

   

Any additional item offer fields in Order Administration besides the item and offer are not mapped through the OCDSITM Periodic Function. They are set to N if a Y/N value; otherwise, they are left blank if alphanumeric, or set to 0 if numeric. Also, these fields are not updated after initial record creation.

Offer

Alphanumeric, 3 positions.

From the Current Offer (A33).

Valid? If the system control value is not set to a valid offer, the item offer and item price records are not created correctly.

Item Price Fields Updated through the Price Import

   

In addition to the company, item, and offer, described above, the following Item Price fields are created as follows.

If the periodic function retrieves updated price information for an item with a different effective date, a new item price record is created.

Effective Date

Date

From the effective date passed.

If no effective date is passed, the date is set to January 1 2000. Ordinarily, an effective date is passed only when there was an item price change recorded in OCDS. In that case, there are records in the CLEARANCE and PRICE_CHANGE tables.

Quantity

Numeric, 7 positions.

Set to 1.

 

Price

Numeric, 13 positions with a 2-place decimal.

From the price passed.

If multiple prices are passed with the same effective date, the last price passed is used.

If the price passed is not greater than zero, it is ignored. The item price record is not created or updated.