ASNOutToASNIn_tafr.doc

Overview

 

ASNOut (Advanced Ship Notification Out of the warehouse/store) messages are published by a warehouse or stores system as part of its shipping process. These messages are published when a truck/train/… is loaded with items destined for a store or warehouse. The expectation is that the electronic ASNOut message will arrive at the store/Retail Warehouse Management System (RWMS) or the merchandizing system before the shipment physically arrives at the store/warehouse. An ASNOut Rib Message node is specific to a single source/destination combination.

 

For the destination store or warehouse, the logic to process these incoming messages is already in place for the ASNIn (Advanced Ship Notification Into a warehouse/store). Hence, this TAFR has the purpose to transform the ASNOut message into an ASNIn message and route the output message to the correct warehouse instance or store inventory system.

 

Other interested parties to the ASNOut messages, such as a merchandizing system, must subscribe to the original etASNOut topic as a separate subscriber. This TAFR is only concerned with transforming and routing on behalf of a store or warehouse system.

 

In RMS, on-line shipping and receiving functionality allows clients to setup their system such that shipping and receiving can be done within RMS if a separate store or warehouse system is not used. Shipments created within RMS will be published out as ASNOut messages.

 

In RMS, shipments can also be created for wholesale/franchise returns. These wholesale franchise returns are essentially transfers from wholesale/franchise stores to company stores/warehouses. For SIM or RWMS to receive these shipments, they need to have a valid ASN to receive against. This requires RMS to publish shipments created for wholesale/franchise returns.

 

To appropriately route these, RMS created ASNOut messages have a routing info tag called “source app” to support TAFR functions.  This TAFR look at this addition routing info tag.

 

 

Functional Requirements

 

The routing information for a message should contain the “from location” and the “to location” specification. If either the “to location” type or the “from location” type is not found in the routing info, then the message payload is searched for the location and location type values for both the “to location” and the “from location”.

 

1.      If either the “to location” type or the “from location” type is not found in the routing info, then the message payload is searched for both values.

2.      The message will be considered to be in error if both the “from location” type is a store and the “to location” type is a store.

3.      Published output messages for the warehouse will be sent to a warehouse specific JMS destination. Published output messages for all stores will all be published to the same JMS destination.

4.      The following output message routing info records will be added if not present on the input message:

a.       facility_type – the facility type. The value used will come from the default facility type found in the configuration.

b.      asn_type – a default of “C' will be used.

 

 

Outbound 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, then 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 message <publishTime> fields must be set to a date/time equal to or after the input publishTime.

 

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 will be “ASNInDesc.xsd”.

 

Capitalization differences of the input message <type> value will be ignored. Input messages having a <type> value of “asnoutcre” will be mapped to an output type of “ASNInCre”. The output payload class type for this set of messages will be the com.retek.payload.ASNInDesc class. The input payload class will be the com.retek.payload.ASNOutDesc class. The table below details the conversion between the ASNOutDesc fields and the ASNInDesc fields. Any ASNOutDesc field not contained in the table will be ignored.

 

 

ASNOutDesc field

ASNInDesc field

Required for

Comment

to_location

to_location

Both

 

from_location

from_location

Both

 

asn_nbr

asn_nbr

ASNIn only

Implementation will assume this value is set on input.

asn_type

asn_type

ASNIn only

Implementation will assume this value is set on input.

container_qty

container_qty

ASNIn only

Implementation will assume this value is set. ASNOutDesc uses integer, ASNInDesc uses String

bol_nbr

bol_nbr

ASNOut only

 

shipment_date

shipment_date

ASNIn only

Implementation will assume this value is set. Hour, minute, second are optional

est_arr_date

est_arr_date

Neither

Hour, minute, second are optional

ship_address_1

ship_address_1

Neither

 

ship_address_2

ShipAddress2

Neither

 

ship_address_3

ship_address_3

Neither

 

ship_address_4

ship_address_4

Neither

 

ship_address_5

ship_address_5

Neither

 

ship_city

ship_city

Neither

 

ship_state

ship_state

Neither

 

ship_zip

ship_zip

Neither

 

ship_country_id

ship_country_id

Neither

 

trailer_nbr

trailer_nbr

ASNOut only

 

seal_nbr

seal_nbr

Neither

 

carrier_code

carrier_code

ASNOut only

 

comments

comments

Neither

 

 

vendor_nbr

ASNIn only

 vendor_nbr  does not exist in ASNOutDesc. However, since it is required, the TAFR will copy an empty string to this field.

 

 

 

ASNOutDesc records contain zero or more ASNOutDistro elements.  The ASNOutDistro elements will be copied to ASNInPO elements.  Any ASNOutDistro field not included in the table below will be ignored. On input, ASNOutDistro records are included in an array of <ASNOutDistro> elements. On output, ASNInPO records are held in an array of < ASNInPO > elements.

 

ASNOutDistro field

ASNInPO field

Required for

Comment

distro_nbr

po_nbr

Both

 

distro_doc_type

doc_type

Both

 

comments

comments

Neither

 

 

 

 

 

ASNOutDistro elements  contain 1 or more ASNOutCtn (ASNOut container) elements. ASNOutCtn elements are copied to ASNInCtn elements contained in an ASNInPO element according to the table below.  Any ASNOutCtn field not included in the table below will be ignored.

ASNOutCtn field

ASNInCtn field

Required
for

Comment

final_location

final_location

ASNOut only

Also copied to ASNInItem if not found in ASNOutItem.

container_id

container_id

Both

 

container_weight

container_weight

Neither

 

container_length

container_length

Neither

 

container_width

container_width

Neither

 

container_height

container_height

Neither

 

container_cube

container_cube

Neither

 

expedite_flag

expedite_flag

Neither

 

in_store_date

in_store_date

Neither

 

rma_nbr

rma_nbr

Neither

 

tracking_nbr

tracking_nbr

Neither

 

freight_charge

freight_charge

Neither

 

comments

comments

Neither

 

 

ASNOutCtn elements  contain 1 or more ASNOutItem  elements. ASNOutCtn elements are copied to ASNInItem elements contained in an ASNInPO element according to the table below.  An ASNInPO record contains both the ASNInCtn and the ASNInItem element arrays for a specific purchase order. Any ASNOutItem  field not included in the table below will be ignored.

 

ASNOutItem  field

ASNInItem field

Required
for

Comment

item_id

item_id

Both

 

unit_qty

unit_qty

Both

 

priority_level

priority_level

Neither

ASNOutItem uses integer, ASNInItem uses string

order_line_nbr

order_line_nbr

Neither

 

lot_nbr

lot_nbr

ASNInItem only

Implementation will assume lot_nbr set on input

comments

comments

Neither

 

container_qty

container_qty

Neither

ASNOutItem uses integer, ASNInItem uses string

final_location

final_location

ASNInItem

If final_location is not set in ASNOutItem, use from ASNOutCtn. 

 

distro_nbr

ASNInItem

Use from ASNOutCtn.

 

distro_doc_type

ASNInItem

Use from ASNOutCtn.

 

 

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.