WHToLocation_tafr

Overview

A merchandizing system (RMS) publishes the WH message family to describe the attributes of a warehouse. RWMS needs location information for all warehouses referenced in Item, POs, ASN, and/or Stock Order messages.

 

Each published warehouse has a location type attribute and an array of addresses. Each address has a primary address indication detailing whether this address is the primary address for the warehouse. There may be only one primary address for a warehouse. The warehouse type of physical (denoted with a value of “p”) need to be passed on as other warehouse types are not of interest to RWMS.

 

Warehouse addresses input to RWMS use the Location message family. Hence, the primary functionality of the WHToLocation Tafr is to filter partner messages regarding non-External partners and to publish Location messages for all RWMS instances.

 

Functional requirements

Message type: It is an error if the input message type is not one of the following. “whcre”, “whmod”, “whdel”, “whdtlmod”, “whdtldel”, “whdtlcre” .

Input message routing information: The routing information for an input

WH message must contain the following routing info records

A “location type” routing info record detailing the type of the location referred in the payload. A value of “p” implies this record is for a physical location and needs to be transformed into a Location message. Any other value will result in the message being dropped

Output message routing information: The following routing information records must be present in output messages as per the specifications below:

A “location type” routing info record (<name> tag value of “loc_type”) will have a <value> tag value the same as input “location type” routing info record. Currently, all messages must have an output location type of “p”, since all input messages with other values will be filtered.

RibMessage envelope header fields: output messages will have the same values as the input messages for the RIB message envelope tags of: <ribMessageID>, <customFlag>, <customData>, <id>. If one of these input fields is not present, the output message will also not contain this tag. Nested tags within these fields will also be copied. An input message may contain a null or missing <publishTime>, while the output message may contain a set publishTime. All output messages’ <publishTime> fields must be set to a date/time equal to or after the input publishTime.

Message payload XML schema declaration: The <messageData> or “payload” string will contain a namespace xml schema declaration detailing the URL of a XML schema definition (XSD) file. The directory specification in this URL will reside in the configuration, thus allowing the customer to configure his/her own value. The name of the XSD file specified must be “LocationDesc.xsd” for output “LocationCre”, “LocationMod”, and “LocationDtlMod” message types. The name of the XSD file specified must be “LocationRef.xsd” for output messages of the type “LocationDel”

Field conversion failures: Input message fields assumed to be numeric will cause the TAFR to fail if a non-numeric value is found.

No primary Address indication: Any input WH payloads that a) do not contain an address record with a “primary address indication” of true and b) reference an external location type will result in an error. The TAFR MDB framework will handle the error.

Note: This implies that RMS will publish “whmod” messages with a primary address record, even if the modification is only with one of the “header” fields (such as description or currency_code)

Message type transformation: Capitalization differences of the input message <type> value will be ignored. Input messages types will be mapped to output message types as per the table below.

Input type

Output type

whcre

Locationcre

whmod

Locationmod

whdel

Locationdel

whdtlmod

LocationMod

whcre, whmod and whdtlmod payload processing: The input payload class type for whcre, whmod and whdtlmod payloads will be com.oracle.retail.integration.base.bo.whdesc.v1.WHDesc  class. The output payload class will be com.oracle.retail.integration.base.bo.locationdesc.v1.LocationDesc class.

The tables below detail the conversion between the WHDesc fields and the LocationDesc fields. The <WhDesc> element contains an array of <AddrDesc> elements which are mapped to

WHDesc field

LocationDesc field

Required for

Comment

wh

dest_id

 

 

wh_name

description

 

 

currency code

currency_code

 

 

 

WHDesc records also contain one or more AddrDesc records. The first AddrDesc input record containing a “primary_addr_ind” with a value of “Y” or “y” will be mapped to an output (Location family) AddrDesc record. Only a single output AddrDesc record will be output. All other input AddrDesc elements will be ignored.

Any input AddrDesc field not included in the table below will be ignored.

Input AddrDesc field

Output AddrDesc field

Required for

Comment

add1

address1

 

 

add2

address2

 

 

city

city

 

 

state

state

 

 

country_id

country_id

 

 

post

zip

 

 

contact_name

contact_person

 

 

contact_fax

dest_fax

 

 

contact_phone

phone_nbr

 

 

primary_addr_ind

 

 

Used to determine if this record is to be output. No field in the output record is mapped to the input field. Only the first input record with a value of “y” or “Y” for this field is output.

whdel message processing: The input payload class for whdel messages will be com.oracle.retail.integration.base.bo.whref.v1.WHRef class. The output payload class will be the com.oracle.retail.integration.base.bo.locationref.v1.LocationRef class. The table below details the conversion between the WhRef fields and the Locationref fields. Any WHRef field not contained in this table will be ignored.

WHRef field

LocationRef field

Required for

Comment

wh

dest_id

both

 

 

 

Disclaimer: This document is a general data mapping and reference guide for data coming in and out of Oracle Retail application systems via RIB messages; it is not meant to give detailed information about every possible data scenario.