L Appendix: Open Transaction Seeding via BDI
Overview
Merchandising Solution usually goes live prior to the SIOCS system. The integration layer supports the flow of foundation data via BDI (bulk data import) process or via RIB Messages. As the customer is currently in the transition phase that is, cutover from old system to Oracle Cloud Solution, the complete transaction freeze for the stores may not be achievable. There would be a few transactions which would be currently in In-Progress states which means they are either not fully received, closed or cancelled. This data needs to be imported into SIOCS as these are open transactions.
Third Party Open TX data imports open transaction data for three main areas.
-
Purchase Order
-
Direct Store Deliveries from Supplier
-
Transfer / Allocations
Third party transaction import is considered to be a one-time activity before go live and not a practice for transactional data flow. The system would allow creating new transactions and updating existing transactions only if the sanity of the transaction that is, the current state in SIOCS database is the same.
As the transaction import is from an external system, the identifier generated for the transactions on the external system will also be mapped to the external identifier of SIOCS transactional data.
The complete integration of data imports direct from Merchandising similar to foundation data import is currently not supported.
The implementation team would be responsible for sourcing this data via BDI External Interfaces.
The following Transaction Import batches are independent of each other and would be responsible for processing the transactions to SIOCS database.
BDI Implementation Considerations
To load third party data into EICS via BDI, external system needs to provide data sourcing implementations.
This section lists two approaches for data sourcing implementation.
Option A: BDI External Process Flow (via External Edge App)
With this approach, the BDI Ext Process Flow will move the data from sourcing system to destination system's application table. BDI process flow provides BDI job scheduling, end to end data transportation from sourcing system's database table into destination application's tables.
For additional details, see RICS documentations:
Oracle® Retail Bulk Data Integration Cloud Service Implementation Guide
Oracle® Retail Enterprise Integration Overview Guide
Option B: BDI CLI Transmitter
BDI CLI File Transmitter is a client command line tool, is applicable for smaller data file size which does not require concurrent processing.
BDI CLI file transmitter only transports data files from sourcing systems to destination system's interface tables. It does not provide end to end data transportation. If you choose BDI CLI File transmitter for loading third party data into EICS application tables, it will require three steps:
-
Download BDI CLI File Transmitter from RICS' and install on customer's system.
-
Run BDI CLI Transmitter batch to load data file from sourcing system into receiver system's interface table (*_IN tables).
-
Once the data is loaded into the receiver app's inbound interface tables, the user would need to provide the data set id and start EICS's importer job to move the data from the inbound interface table into the EICS app tables.
Open Transaction Data Processing
The following section details a few key points for the technical design of transaction data import:
-
Flattening the database tables
Flattened database architecture makes the query execution much faster than the normalized form. Each row on the table would denote a line item with complete information of the transaction it belongs to and what line item attribute values are.
This reduces the overhead cost of join and querying multiple tables to get the complete transaction detail identified by a particular identifier.
-
Data Validation
The first and foremost step of the transaction import is validating the data against the values available. The transaction import batch processes would validate the complete data as the data would then be processed to the SIOCS transaction tables. The basic validations which would be performed are as follows:
-
Is the transaction for a valid store?
-
Is the transaction from a valid source? (store, warehouse, finisher or supplier)
-
Is the item identifier existing on the item master table of SIOCS database?
-
Is the status / type specified on data denoting valid information as per the SIOCS technical design?
Please refer to Data Import Exception Handling section for more details.
-
-
Parallel Processing
The batch process will split the data into partitions by the transaction external identifiers to support the parallel processing of the transaction import. Each partition will contain the list of transaction identifiers which are to be processed. The number of partitions in which the data would be divided is defined by an existing system admin configuration parameter (Batch Maximum Threads). The default value for this parameter is set to 5. Each thread would be assigned a partition to be processed.
So, if there are 10000 transactions to be imported, 5 separate thread processes would be instantiated to process a workload of 2000 transactions per thread.
The partition feature used here is as per JSR 352 specification defined for Java EE 7 and Java SE 6 platforms.
-
Data Import
The partitioned transaction external identifier will be validated against the existing transactions on the SIOCS database (if any exists). If the no matching transactions are found, a new transaction would be added to the respective transaction table. If the transaction identifier matches to an existing record, then that transaction would be updated with the latest data from the flattened staging table. The data import process does not update the state of transaction.
The data import processes the data into chunks and a failover mechanism is added to process the correct data and mark the invalid data as failed. This also helps improving the server performance as not all transactions on a partition are imported at one go. The chunk process will further break the partition in sub-lists and process the data in group of records reducing the server overhead and memory consumption.
-
Inventory Correction
The inventory correction logic is not applicable for purchase order processing as there is no inventory bucket to be updated.
For the transfer transactions that are currently approved, the transfer reserved bucket of the item's inventory at source store needs to be corrected once the transaction is successfully imported into the system.
For the Direct Store Delivery transactions (if associated with customer order), the picking quantity would need to be updated when the received delivery is created depending on a system parameter.
Below is the configuration parameter to be considered while processing the direct store delivery which has a container in Received status.
Direct Delivery - Import Details
This batch imports the direct delivery transaction imported from Merchandising / Third Party System posted on SIOCS BDI table for example, EXT_DSD_IN. The job supports only creation of the deliveries of ASN types. Data validation is also part of processing and proper error mechanism will log the error against each batch execution. This job does not support the importing of UINs and Custom Attributes.
For the interface definition, please refer to the DSD Interface Specification section.
Table L-1 EXT_DSD_IN and SIOCS Transaction Table Mappings
BDI Interface Table | SIOCS Transactional Tables |
---|---|
EXT_DSD_IN |
DSD |
DSD_CARTON |
|
DSD_LINE_ITEM |
|
DSD_ADJUSTMENT |
For the detail column level mapping please refer to Data Mapping section.
Table L-2 Configuration Parameters for DSD Received Status
Parameter Name | Description |
---|---|
Reserve Customer Order Inventory Upon Receiving |
Update the customer order reserved bucket while creating a new transaction. |
Auto Pick On Receive - Direct Delivery |
Will update the picked quantity on customer order (if exists). |
Auto Pick Mixed Containers |
Will update the picked quantity on customer order (if exist) for a container which contains both customer order related items and normal items. |
Transfer - Import Details
This batch imports the transfer and allocation records from Merchandising / Third Party System posted on SIOCS BDI table that is, EXT_TSF_IN. The job support creates the transfer / allocation records in SIOCS database and makes them accessible on UI for users. The inventory in-transit calculation posts the importing of the transaction and will be taken care of by this batch job. Data validation is also part of processing and proper error mechanism will log the error against each batch execution.
For the interface definition, please refer to the Transfer Interface Specification section.
Table L-3 EXT_TSF_IN and SIOCS Transaction Table Mappings
BDI Interface Table | SIOCS Transactional Tables |
---|---|
EXT_TSF_IN |
TSF |
TSF_LINE_ITEM |
|
TSF_ALLOCATION |
Purchase Order - Import Details
This batch imports the purchase order records from Merchandising / Third Party System posted on SIOCS BDI table that is, EXT_PURCH_ORDER. This job creates the purchase order records in SIOCS database and makes them accessible on UI for users. Data validation is also part of processing and proper error mechanism will log the error against each batch execution.
For the interface definition, please refer to the Purchase Order Interface Specification section.
Table L-4 EXT_PURCH_ORDER_IN BDI And App Table Mappings
BDI Interface Table | SIOCS Transactional Tables |
---|---|
EXT_PURCH_ORDER_IN |
PURCHASE_ORDER |
PURCHASE_ORDER_LINE_ITEM |
For the detail column level mapping please refer to the Data Mapping section.
Data Mapping
The table below specifies the database column mapping for each functional area.
-
Direct Store Delivery from Supplier (DSD Receiving)
BDI Transaction Import Table: EXT_DSD_IN
BDI Column Transaction Mapped Column Transaction Mapped Table DSD_ASN
ASN_ID
DSD
DSD_STORE
STORE_ID
DSD
DSD_SUPPLIER
SUPPLIER_ID
DSD
DSD_STATUS
STATUS
DSD
DSD_EXPECTED_DATE
EXPECTED_DATE
DSD
DSD_CREATE_DATE
CREATE_DATE
DSD
DSD_UPDATE_DATE
UPDATE_DATE
DSD
DSD_RECEIVED_DATE
RECEIVED_DATE
DSD
DSD_INVOICE
INVOICE_ID
DSD
DSD_INVOICE_DATE
INVOICE_DATE
DSD
DSD_CREATE_USER
CREATE_USER
DSD
DSD_CUST_ORD_ID
CUST_ORDER_ID
DSD
DSD_FUL_ORD_EXT_ID
FUL_ORD_EXTERNAL_ID
DSD
DSD_CARRIER_ENTITY
CARRIER_ENTITY
DSD
DSD_CARRIER_TYPE
CARRIER_TYPE
DSD
DSD_CARRIER_CODE
CARRIER_CODE
DSD
DSD_COUNTRY_CODE
COUNTRY_CODE
DSD
DSD_SOURCE_ADDRESS
SOURCE_ADDRESS
DSD
DSD_LICENSE_PLATE
LICENSE_PLATE
DSD
DSD_FREIGHT_ID
FREIGHT_ID
DSD
DSD_CURRENCY_CODE
CURRENCY_CODE
DSD
DSD_INVOICE_COST
INVOICE_COST_VALUE
DSD
DSD_RECEIVED_USER
RECEIVED_USER
DSD
DSD_UPDATE_USER
UPDATE_USER
DSD
DSD_BOL_EXT_ID
BOL_EXTERNAL_ID
DSD
DSD_ADJ_PO_EXT_ID
PURCHASE_ORDER_EXT_ID
DSD_ADJUSTMENT
DSD_ADJ_ITEM
ITEM_ID
DSD_ADJUSTMENT
DSD_ADJ_DATE
ADJUSTMENT_DATE
DSD_ADJUSTMENT
DSD_ADJ_QUANTITY
ADJUSTMENT_QUANTITY
DSD_ADJUSTMENT
DSD_CARTON_EXT_ID
EXTERNAL_ID
DSD_CARTON
DSD_CARTON_STATUS
STATUS
DSD_CARTON
DSD_CARTON_STORE
STORE_ID
DSD_CARTON
DSD_CARTON_REFERENCE_ID
REFERENCE_ID
DSD_CARTON
DSD_CARTON_DAMAGED_REASON
DAMAGED_REASON
DSD_CARTON
DSD_CARTON_SERIAL_CODE
SERIAL_CODE
DSD_CARTON
DSD_CARTON_TRACKING_NUMBER
TRACKING_NUMBER
DSD_CARTON
DSD_CARTON_DAMAGE_REMAINING
DAMAGE_REMAINING
DSD_CARTON
DSD_CARTON_CREATE_USER
CREATE_USER
DSD_CARTON
DSD_CARTON_UPDATE_USER
UPDATE_USER
DSD_CARTON
DSD_CARTON_RECEIVE_USER
RECEIVE_USER
DSD_CARTON
DSD_CARTON_CREATE_DATE
CREATE_DATE
DSD_CARTON
DSD_CARTON_UPDATE_DATE
UPDATE_DATE
DSD_CARTON
DSD_CARTON_RECEIVE_DATE
RECEIVE_DATE
DSD_CARTON
DSD_CARTON_UIN_REQUIRED
UIN_REQUIRED
DSD_CARTON
DSD_CARTON_RCV_AT_SHOP_FLOOR
RECEIVE_AT_SHOP_FLOOR
DSD_CARTON
DSD_CARTON_QUALITY_CONTROL
QUALITY_CONTROL
DSD_CARTON
DSD_CARTON_EXTERNAL_CREATE
EXTERNAL_CREATE
DSD_CARTON
DSD_CARTON_ADJUSTED
ADJUSTED
DSD_CARTON
DSD_CARTON_CUST_ORD_RELATED
CUSTOMER_ORDER_RELATED
DSD_CARTON
DSD_LINE_ITEM
ITEM_ID
DSD_LINE_ITEM
DSD_LINE_CASE_SIZE
CASE_SIZE
DSD_LINE_ITEM
DSD_LINE_EXPECTED
QUANTITY_EXPECTED
DSD_LINE_ITEM
DSD_LINE_RECEIVED
QUANTITY_RECEIVED
DSD_LINE_ITEM
DSD_LINE_DAMAGED
QUANTITY_DAMAGED
DSD_LINE_ITEM
DSD_LINE_UNIT_COST_CURR
UNIT_COST_CURRENCY
DSD_LINE_ITEM
DSD_LINE_UNIT_COST_VAL
UNIT_COST_VALUE
DSD_LINE_ITEM
DSD_LINE_OVRD_UNIT_COST_CURR
OVERRIDE_UNIT_COST_CURRENCY
DSD_LINE_ITEM
DSD_LINE_OVRD_UNIT_COST_VAL
OVERRIDE_UNIT_COST_VALUE
DSD_LINE_ITEM
DSD_LINE_STORE
STORE_ID
DSD_LINE_ITEM
DSD_LINE_PO_EXT_ID
PURCHASE_ORDER_EXT_ID
DSD_LINE_ITEM
DSD_LINE_CUST_ORD_ID
CUST_ORDER_ID
DSD_LINE_ITEM
DSD_LINE_FUL_ORD_EXT_ID
FUL_ORD_EXTERNAL_ID
DSD_LINE_ITEM
DSD_LINE_VPN
VENDOR_PRODUCT_NUMBER
DSD_LINE_ITEM
DSD_LINE_RECEIVED_OVER
QUANTITY_RECEIVED_OVER
DSD_LINE_ITEM
DSD_LINE_DAMAGED_OVER
QUANTITY_DAMAGED_OVER
DSD_LINE_ITEM
DSD_LINE_PREV_RECEIVED
PREVIOUS_RECEIVED
DSD_LINE_ITEM
DSD_LINE_PREV_DAMAGED
PREVIOUS_DAMAGED
DSD_LINE_ITEM
-
Transfers
BDI Transaction Import Table: EXT_TSF_IN
Column TSF_DOC_TYPE = T denotes the transaction is transfer.
BDI Column Mapped Column Mapped Column Table TSF_EXT_ID
EXTERNAL_ID
TSF
TSF_SRC_TYPE
SOURCE_TYPE
TSF
TSF_SRC
SOURCE_ID
TSF
TSF_DEST_TYPE
DESTINATION_TYPE
TSF
TSF_DEST
DESTINATION_ID
TSF
TSF_STATUS
STATUS
TSF
TSF_CREATE_USER
CREATE_USER
TSF
TSF_UPDATE_USER
UPDATE_USER
TSF
TSF_APPROVAL_USER
APPROVAL_USER
TSF
TSF_CREATE_DATE
CREATE_DATE
TSF
TSF_UPDATE_DATE
UPDATE_DATE
TSF
TSF_APPROVAL_DATE
APPROVAL_DATE
TSF
TSF_CONTEXT_ID
CONTEXT_ID
TSF
TSF_CONTEXT_VALUE
CONTEXT_VALUE
TSF
TSF_CUST_ORD_ID
CUST_ORD_EXTERNAL_ID
TSF
TSF_FUL_ORD_EXT_ID
FUL_ORD_EXTERNAL_ID
TSF
TSF_PARTIAL_DELIVERY_IND
ALLOW_PARTIAL_DELIVERY
TSF
TSF_AUTH_CODE
AUTHORIZATION_CODE
TSF
TSF_NOT_AFTER_DATE
NOT_AFTER_DATE
TSF
TSF_REQUEST_DATE
REQUEST_DATE
TSF
TSF_REQUEST_USER
REQUEST_USER
TSF
TSF_USE_AVAILABLE
USE_AVAILABLE
TSF
TSF_LINE_ITEM
ITEM_ID
TSF_LINE_ITEM
TSF_LINE_CASE_SIZE
CASE_SIZE
TSF_LINE_ITEM
TSF_LINE_REQUESTED
QUANTITY_REQUESTED
TSF_LINE_ITEM
TSF_LINE_APPROVED
QUANTITY_APPROVED
TSF_LINE_ITEM
TSF_LINE_SHIPPING
QUANTITY_SHIPPING
TSF_LINE_ITEM
TSF_LINE_SHIPPED
QUANTITY_SHIPPED
TSF_LINE_ITEM
TSF_LINE_RECEIVED
QUANTITY_RECEIVED
TSF_LINE_ITEM
TSF_LINE_DAMAGED
QUANTITY_DAMAGED
TSF_LINE_ITEM
TSF_LINE_PREFERRED_UOM
PREFERRED_UOM
TSF_LINE_ITEM
-
Transfer Allocations
BDI Transaction Import Table: EXT_TSF_IN
Column TSF_DOC_TYPE = A denotes the transaction is transfer allocation.
BDI Column Mapped Column Mapped Column Table TSF_EXT_ID
EXTERNAL_ID
TSF_ALLOCATION
TSF_DELIVERY_DATE
DELIVERY_DATE
TSF_ALLOCATION
TSF_LINE_ITEM
ITEM_ID
TSF_ALLOCATION
TSF_DEST
STORE_ID
TSF_ALLOCATION
TSF_DELV_SLOT_ID
DELIVERY_SLOT_ID
TSF_ALLOCATION
TSF_SRC
SOURCE_ID
TSF_ALLOCATION
TSF_SRC_TYPE
SOURCE_TYPE
TSF_ALLOCATION
TSF_CONTEXT_VALUE
CONTEXT_VALUE
TSF_ALLOCATION
TSF_LINE_DIST_PARENT_ID
DISTRIBUTION_PARENT_ID
TSF_ALLOCATION
TSF_STATUS
STATUS
TSF_ALLOCATION
TSF_LINE_EXPECTED
QUANTITY_EXPECTED
TSF_ALLOCATION
TSF_LINE_RECEIVED
QUANTITY_RECEIVED
TSF_ALLOCATION
TSF_LINE_DAMAGED
QUANTITY_DAMAGED
TSF_ALLOCATION
TSF_CONTEXT_ID
CONTEXT_ID
TSF_ALLOCATION
-
Purchase Order
BDI Transaction Import Table: EXT_PURCH_ORDER_IN
BDI Column Mapped Column Mapped Column Table PO_EXT_ID
EXTERNAL_ID
PURCHASE_ORDER
PO_STORE
STORE_ID
PURCHASE_ORDER
PO_SUPPLIER
SUPPLIER_ID
PURCHASE_ORDER
PO_STATUS
STATUS
PURCHASE_ORDER
PO_NOT_BEFORE_DATE
NOT_BEFORE_DATE
PURCHASE_ORDER
PO_NOT_AFTER_DATE
NOT_AFTER_DATE
PURCHASE_ORDER
PO_CREATE_DATE
CREATE_DATE
PURCHASE_ORDER
PO_UPDATE_DATE
UPDATE_DATE
PURCHASE_ORDER
PO_COMPLETE_DATE
COMPLETE_DATE
PURCHASE_ORDER
PO_USER
USER_ID
PURCHASE_ORDER
PO_COMMENTS
COMMENTS
PURCHASE_ORDER
PO_CUST_ORD_ID
CUST_ORDER_ID
PURCHASE_ORDER
PO_FUL_ORD_EXT_ID
FUL_ORD_EXTERNAL_ID
PURCHASE_ORDER
PO_EXT_STATUS
EXTERNAL_STATUS
PURCHASE_ORDER
PO_LINE_ITEM
ITEM_ID
PURCHASE_ORDER_LINE_ITEM
PO_LINE_SUPP_COUNTRY
SUPPLIER_COUNTRY_ID
PURCHASE_ORDER_LINE_ITEM
PO_LINE_CASE_SIZE
CASE_SIZE
PURCHASE_ORDER_LINE_ITEM
PO_LINE_EXPECTED
QUANTITY_EXPECTED
PURCHASE_ORDER_LINE_ITEM
PO_LINE_RECEIVED
QUANTITY_RECEIVED
PURCHASE_ORDER_LINE_ITEM
PO_LINE_UNIT_COST_CURRENCY
UNIT_COST_CURRENCY
PURCHASE_ORDER_LINE_ITEM
PO_LINE_UNIT_COST_VALUE
UNIT_COST_VALUE
PURCHASE_ORDER_LINE_ITEM
PO_LINE_PREFERRED_UOM
PREFERRED_UOM
PURCHASE_ORDER_LINE_ITEM
PO_LINE_PUBLISHED
PUBLISHED
PURCHASE_ORDER_LINE_ITEM
Data Import Exception Handling
This section describes the error message with which batch would be marked as failed due to the invalid data on transaction import file.
Each error message will be prefixed with following text to denote the error recorded is for which row value in respective BDI transaction import table.
Prefix Text: Validation failed for Row Sequence: <BDI_SEQ_ID>
Table L-5 1. Purchase Order
Error | Cause | Data Column with Error |
---|---|---|
Purchase Order:<PO_EXT_ID> has invalid store information. |
Store identifier is not a valid store for a new purchase order. |
PO_STORE |
Purchase Order:<PO_EXT_ID> has invalid supplier information. |
Supplier identifier is not a valid supplier for a new purchase order. |
PO_SUPPLIER |
Purchase Order:<PO_EXT_ID> has no status information. |
Status is either null or not valid value for purchase order status for a new purchase order. |
PO_STATUS |
Purchase Order:<PO_EXT_ID> has no external status information. |
External status is either null or not valid value for purchase order external status for a new purchase order. |
PO_EXT_STATUS |
Purchase Order:<PO_EXT_ID> has invalid store information that does not match to existing transaction. |
Store identifier doesn't match to the existing purchase order. |
PO_STORE |
Purchase Order:<PO_EXT_ID> has invalid supplier information that does not match to existing transaction. |
Supplier identifier doesn't match to the existing purchase order. |
PO_SUPPLIER |
Purchase Order:<PO_EXT_ID> has invalid status code. |
Status is either null or not valid value for purchase order status for an existing purchase order. |
PO_STATUS |
Purchase Order:<PO_EXT_ID> has status which does not match the existing data. |
Status is not same as that for the existing purchase order. |
PO_STATUS |
Purchase Order:<PO_EXT_ID> has external status information which is not valid for existing transaction. |
External status is either null or not a valid value for an existing transaction. |
PO_EXT_STATUS |
Purchase Order:<PO_EXT_ID> Item:<ITEM_ID> is not ranged for store. |
Item is not range to the store. |
PO_LINE_ITEM PO_STORE |
Purchase Order:<PO_EXT_ID> Item:<ITEM_ID> is not ranged for supplier. |
Item is not ranged to the supplier. |
PO_LINE_ITEM PO_SUPPLIER |
Purchase Order:<PO_EXT_ID> Item:<ITEM_ID> has no supplier country information. |
Item Supplier country information is not available on the SIOCS. |
PO_LINE_ITEM PO_SUPPLIER PO_LINE_SUPP_COUNTRY |
Table L-6 2. Transfer
Error | Cause | Data Column with Error |
---|---|---|
Transfer:<TSF_EXT_ID> has invalid source information. |
Transfer source is not valid. |
TSF_SRC |
Transfer:<TSF_EXT_ID> has invalid destination information. |
Transfer destination is not valid. |
TSF_DEST |
Transfer:<TSF_EXT_ID> is not a valid store transfer. |
Transfer is not valid store transfer that is, both source and destination is not a store. |
TSF_SRC_TYPE TSF_DEST_TYPE |
Transfer:<TSF_EXT_ID> has invalid status information. |
Transfer Status is null or not valid value. |
TSF_STATUS |
Transfer:<TSF_EXT_ID> has source identifier which does not match the existing data. |
Transfer source identifier does not match to the existing transfer transaction on SIOCS. |
TSF_SRC |
Transfer:<TSF_EXT_ID> has destination identifier which does not match the existing data. |
Transfer destination identifier does not match to the existing transfer transaction on SIOCS. |
TSF_DEST |
Transfer:<TSF_EXT_ID> has status which does not match the existing data. |
Transfer status does not match to the existing transaction state on SIOCS. |
TSF_STATUS |
Transfer:<TSF_EXT_ID> is already approved and use available flag value doesn't match existing data. |
Use available flag is changed for the existing approved transfer transaction. |
TSF_USE_AVAILABLE |
Transfer:<TSF_EXT_ID> has no source type information. |
Transfer source type is either null or an invalid value. |
TSF_SRC_TYPE |
Transfer:<TSF_EXT_ID> has no destination type information. |
Transfer destination type is either null or an invalid value. |
TSF_DEST_TYPE |
Transfer:<TSF_EXT_ID> Item:<ITEM_ID> is not ranged for source. |
Item is not ranged for the source. |
TSF_LINE_ITEM TSF_SRC |
Transfer:<TSF_EXT_ID> Item:<ITEM_ID> is not ranged for destination. |
Item is not ranged for the destination. |
TSF_LINE_ITEM TSF_DEST |
Table L-7 3. Allocation
Error | Cause | Data Column with Error |
---|---|---|
Allocation:<TSF_ALLOCATION_ID> has source information which does not match existing data. |
Allocation source is not valid for the existing transaction. |
TSF_SRC |
Allocation:<TSF_ALLOCATION_ID> has invalid source information. |
Allocation source is either null or not a valid value. |
TSF_SRC |
Allocation:<TSF_ALLOCATION_ID> has invalid destination information. |
Allocation destination is either null or not a valid value. |
TSF_DEST |
Allocation:<TSF_ALLOCATION_ID> Item:<ITEM_ID> is not ranged for source. |
Item is not ranged to the allocation source. |
TSF_LINE_ITEM TSF_SRC |
Allocation:<TSF_ALLOCATION_ID> Item:<ITEM_ID> is not ranged for destination. |
Item is not ranged to the allocation destination. |
TSF_LINE_ITEM TSF_DEST |
Allocation:<TSF_ALLOCATION_ID> has invalid status code. |
Allocation status is not valid. |
TSF_STATUS |
Allocation:<TSF_ALLOCATION_ID> has status which does not match the existing data. |
Allocation status does not match to the existing transaction status. |
TSF_STATUS |
Allocation:<TSF_ALLOCATION_ID> has no expected quantity. |
Allocation quantity is null. |
TSF_LINE_EXPECTED |
Table L-8 4. Direct Store Delivery (DSD)
Error | Cause | Data Column with Error |
---|---|---|
DSD ASN is null. |
DSD ASN is null. |
DSD_ASN |
DSD:<ASN> has invalid store identifier. |
Store identifier is either null or not a valid store. |
DSD_STORE |
DSD:<ASN> has invalid supplier identifier. |
Supplier identifier is either null or not a valid supplier. |
DSD_SUPPLIER |
DSD:<ASN> has invalid status code. |
Delivery status is either null or not a valid status value. |
DSD_STATUS |
DSD:<ASN> has invalid carrier type code. |
Specified Carrier Type value is not valid. |
DSD_CARRIER_TYPE |
DSD:<ASN> has store identifier which doesn't matches to existing delivery. |
Store identifier does not match to the existing delivery transaction. |
DSD_STORE |
DSD:<ASN> has supplier identifier which doesn't matches to existing delivery. |
Supplier identifier does not match to the existing delivery transaction. |
DSD_SUPPLIER |
DSD:<ASN> has invalid status code for existing delivery. |
Status code is either null or an invalid value for an existing delivery. |
DSD_STATUS |
DSD:<ASN> has status which does not match the existing data. |
Status code does not match the current status of the existing delivery transaction. |
DSD_STATUS |
DSD:<ASN> is in <DELV_STATUS> status and has one or more container in open state. |
Delivery is currently in received status however few container records are in open state on import data. |
DSD_STATUS DSD_CARTON_STATUS |
DSD:<ASN> is in <DELV_STATUS> status and has one or more container in open or completed state. |
Delivery is in cancel/rejected status however few of the containers on delivery are either completed or open. |
DSD_STATUS DSD_CARTON_STATUS |
DSD:<ASN> Container Identifier is null or invalid. |
Container identifier is either null or an invalid value. |
DSD_CARTON_EXT_ID |
DSD Container:<CARTON_EXT_ID> has invalid status code. |
Container status is either null or invalid value for status. |
DSD_CARTON_STATUS |
DSD Container:<CARTON_EXT_ID> has invalid store identifier. |
Container store is either null or not a valid store. |
DSD_CARTON_STORE |
DSD Container:<CARTON_EXT_ID> has store identifier which doesn't match to delivery information. |
Container store does not match the delivery store identifier. |
DSD_CARTON_STORE DSD_STORE |
DSD Container:<CARTON_EXT_ID> has store identifier which doesn't matches to existing carton. |
Container store does not match to the store identifier for an existing container. |
DSD_CARTON_STORE |
DSD Container:<CARTON_EXT_ID> has invalid status code. |
Container status value is either null or not a valid status value. |
DSD_CARTON_STATUS |
DSD Container:<CARTON_EXT_ID> has status which does not match the existing data. |
Container status does not match the status of existing container. |
DSD_CARTON_STATUS |
DSD Container:<CARTON_EXT_ID> has invalid order related code. |
Order Related flag has an invalid code. |
DSD_CARTON_CUST_ORD_RELATED |
DSD Line Item:<ITEM_ID> is not ranged for store. |
Item is not ranged to the store. |
DSD_LINE_ITEM DSD_LINE_STORE |
DSD Line Item:<ITEM_ID> is not ranged for supplier. |
Item is not ranged to the supplier. |
DSD_LINE_ITEM DSD_SUPPLIER |
DSD Line Item:<ITEM_ID> has invalid store identifier. |
Store identifier for line item is either null or not a valid store. |
DSD_LINE_ITEM DSD_LINE_STORE |
DSD Line Item:<ITEM_ID> has store identifier which does not match to carton information. |
Store identifier for line item does not match to the container store identifier. |
DSD_LINE_STORE DSD_CARTON_STORE |
DSD Line Item:<ITEM_ID> has invalid purchase order identifier. |
Purchase Order external identifier for line item is not valid. |
DSD_LINE_PO_EXT_ID |
DSD Line Item:<ITEM_ID> has store identifier which does not match to existing line item information. |
Store identifier for line item does not match the store identifier for an existing line item. |
DSD_LINE_STORE |
DSD Adjustment Item:<ITEM_ID> is not ranged for store. |
Adjustment Item is not ranged to the store. |
DSD_ADJ_ITEM DSD_STORE |
DSD Adjustment Item:<ITEM_ID> is not ranged for supplier. |
Adjustment Item is not ranged to the supplier. |
DSD_ADJ_ITEM DSD_SUPPLIER |
DSD Adjustment Item:<ITEM_ID> has invalid purchase order external identifier. |
Adjustment Item has an invalid purchase order identifier. |
DSD_ADJ_PO_EXT_ID |
DSD Adjustment Item:<ITEM_ID> has invalid adjustment date. |
Adjustment data is set to null. |
DSD_ADJ_DATE |
DSD Adjustment Item:<ITEM_ID> has invalid adjustment quantity. |
Adjustment quantity is not specified. |
DSD_ADJ_QUANTITY |
Additional Details for BDI CLI File Imports
This section is only applicable if you choose to use BDI CLI File Transmitter to transport the data file. You may skip this section if you choose BDI External Process Flow for data transportation.
Transaction Interface Specifications
DSD Interface Specification
Name | Type | Optional (Null?) | Description |
---|---|---|---|
BDI_DATASET_ACTION |
VARCHAR2(20) |
No |
The required record action type, valid values are: REPLACE |
DSD_ASN |
VARCHAR2(128) |
No |
The advanced shipping notification identifier that is associated with the direct delivery. |
DSD_STORE |
NUMBER(10,0) |
Yes |
The unique identifier of the store that this direct delivery is for. |
DSD_SUPPLIER |
NUMBER(10,0) |
Yes |
The unique identifier of the supplier that shipped the items. |
DSD_STATUS |
NUMBER(4,0) |
Yes |
The current status of the direct delivery. The valid values: 0 - New, 1 - In Progress, 2 - Received, 3 - Canceled, 4 - Rejected, 9999 - Active. |
DSD_EXPECTED_DATE |
TIMESTAMP(6) |
Yes |
The expected date of the delivery. |
DSD_CREATE_DATE |
TIMESTAMP(6) |
Yes |
The date the direct delivery record was created. |
DSD_UPDATE_DATE |
TIMESTAMP(6) |
Yes |
The date the direct delivery was last updated. |
DSD_RECEIVED_DATE |
TIMESTAMP(6) |
Yes |
The received date of the Delivery. |
DSD_INVOICE |
VARCHAR2(128) |
Yes |
The unique identifier of the invoice that this direct delivery is associated to, as entered by the user. |
DSD_INVOICE_DATE |
TIMESTAMP(6) |
Yes |
The date of the invoice as entered by the user. |
DSD_CREATE_USER |
VARCHAR2(128) |
Yes |
The user who created the Delivery. |
DSD_CUST_ORD_ID |
VARCHAR2(128) |
Yes |
The customer order identifier. |
DSD_FUL_ORD_EXT_ID |
VARCHAR2(128) |
Yes |
The fulfillment order external identifier. |
DSD_CARRIER_ENTITY |
VARCHAR2(128) |
Yes |
The carrier name. |
DSD_CARRIER_TYPE |
NUMBER(2,0) |
Yes |
Indicate carrier type, 0 - Corporate, 1 - Third Party |
DSD_CARRIER_CODE |
VARCHAR2(4) |
Yes |
Unique code identifier for a carrier. |
DSD_COUNTRY_CODE |
VARCHAR2(3) |
Yes |
The Country code. |
DSD_SOURCE_ADDRESS |
VARCHAR2(1000 ) |
Yes |
The address of source sending delivery. |
DSD_LICENSE_PLATE |
VARCHAR2(128) |
Yes |
The license plate. |
DSD_FREIGHT_ID |
VARCHAR2(128) |
Yes |
The freight identifier. |
DSD_CURRENCY_CODE |
VARCHAR2(3) |
Yes |
The currency code. |
DSD_INVOICE_COST |
NUMBER(12,4) |
Yes |
The invoice cost value. |
DSD_RECEIVED_USER |
VARCHAR2(128) |
Yes |
The user who received the delivery. |
DSD_UPDATE_USER |
VARCHAR2(128) |
Yes |
The user who last updated the delivery. |
DSD_BOL_EXT_ID |
VARCHAR2(128) |
Yes |
The Delivery Bill Of Lading from external system or entered by SIM user. |
DSD_ADJ_PO_EXT_ID |
VARCHAR2(128) |
Yes |
The purchase order external identifier. |
DSD_ADJ_ITEM |
VARCHAR2(25) |
Yes |
The receiver unit adjustment item identifier. |
DSD_ADJ_DATE |
TIMESTAMP(6) |
Yes |
The receiver unit adjustment date. |
DSD_ADJ_QUANTITY |
NUMBER(20,4) |
Yes |
The receiver unit adjustment quantity. |
DSD_CARTON_EXT_ID |
VARCHAR2(128) |
Yes |
The unique external identifier of the container. |
DSD_CARTON_STATUS |
NUMBER(4,0) |
Yes |
Container status. valid values- 1 - New, 2 - In Progress, 3 - Submitted, 4 - Received, 5 - Damaged, 6 - Missing, 7 - Canceled |
DSD_CARTON_STORE |
NUMBER(10,0) |
Yes |
The unique store identifier to which container is associated to. |
DSD_CARTON_REFERENCE_ID |
VARCHAR2(128) |
Yes |
The reference identifier. |
DSD_CARTON_DAMAGED_REASON |
VARCHAR2(128) |
Yes |
The reason for container damage. |
DSD_CARTON_SERIAL_CODE |
NUMBER(18,0) |
Yes |
The serial code. |
DSD_CARTON_TRACKING_NUMBER |
VARCHAR2(128) |
Yes |
The Tracking number for the container. |
DSD_CARTON_DAMAGE_REMAINING |
VARCHAR2(1) |
Yes |
Indicates all remaining quantities should be damaged on final receipt. |
DSD_CARTON_CREATE_USER |
VARCHAR2(128) |
Yes |
The user who created the direct delivery container. |
DSD_CARTON_UPDATE_USER |
VARCHAR2(128) |
Yes |
The user who last updated the direct delivery container. |
DSD_CARTON_RECEIVE_USER |
VARCHAR2(128) |
Yes |
The user who received the direct delivery container. |
DSD_CARTON_CREATE_DATE |
TIMESTAMP(6) |
Yes |
The date when the direct delivery container was created. |
DSD_CARTON_UPDATE_DATE |
TIMESTAMP(6) |
Yes |
The date when the direct delivery container was updated. |
DSD_CARTON_RECEIVE_DATE |
TIMESTAMP(6) |
Yes |
The date when the direct delivery container was received. |
DSD_CARTON_UIN_REQUIRED |
VARCHAR2(1) |
Yes |
Indicates whether the container has uin items. Valid values: Y or N. |
DSD_CARTON_RCV_AT_SHOP_FLOOR |
VARCHAR2(1) |
Yes |
Indicates whether the inventory on container is to be received at shop floor. Valid values: Y or N. |
DSD_CARTON_QUALITY_CONTROL |
VARCHAR2(1) |
Yes |
Used to flag containers that require detailed receiving. |
DSD_CARTON_EXTERNAL_CREATE |
VARCHAR2(1) |
Yes |
Indicates whether the delivery is external created. Valid values: Y or N. |
DSD_CARTON_ADJUSTED |
VARCHAR2(1) |
Yes |
Indicates whether the delivery is adjusted. Valid values: Y or N. |
DSD_CARTON_CUST_ORD_RELATED |
VNUMBER(4,0) |
Yes |
Indicates if container contains customer order items. 1 - Yes, 2 - Mix, 3 - No |
DSD_LINE_ITEM |
VARCHAR2(25) |
Yes |
The unique identifier of the item that is contained in this container. |
DSD_LINE_CASE_SIZE |
NUMBER(10,2) |
Yes |
The number of units in the case that this item was shipped in. |
DSD_LINE_EXPECTED |
NUMBER(20,4) |
Yes |
The total number of units expected in this direct delivery. |
DSD_LINE_RECEIVED |
NUMBER(20,4) |
Yes |
The total number of units received in this direct delivery. |
DSD_LINE_DAMAGED |
NUMBER(20,4) |
Yes |
The total number of units that were damaged when the direct delivery was received. |
DSD_LINE_UNIT_COST_CURR |
VARCHAR2(3) |
Yes |
The unit cost currency code for the line item. |
DSD_LINE_UNIT_COST_VAL |
NUMBER(12,4) |
Yes |
The unit cost value for the line item. |
DSD_LINE_OVRD_UNIT_COST_CURR |
VARCHAR2(3) |
Yes |
The override unit cost currency. |
DSD_LINE_OVRD_UNIT_COST_VAL |
NUMBER(12,4) |
Yes |
The override unit cost value. |
DSD_LINE_STORE |
NUMBER(10,0) |
Yes |
The store identifier. |
DSD_LINE_PO_EXT_ID |
VARCHAR2(128) |
Yes |
The purchase order external identifier. |
DSD_LINE_CUST_ORD_ID |
VARCHAR2(128) |
Yes |
The customer order identifier. |
DSD_LINE_FUL_ORD_EXT_ID |
VARCHAR2(128) |
Yes |
The fulfillment order external identifier. |
DSD_LINE_VPN |
VARCHAR2(256) |
Yes |
The vendor product number. |
DSD_LINE_RECEIVED_OVER |
NUMBER(20,4) |
Yes |
Amount of received inventory over the expected quantities. |
DSD_LINE_DAMAGED_OVER |
NUMBER(20,4) |
Yes |
Amount of damaged inventory over the expected quantities. |
DSD_LINE_PREV_RECEIVED |
NUMBER(20,4) |
Yes |
Units previous received when container is reopened for adjustment. |
DSD_LINE_PREV_DAMAGED |
NUMBER(20,4) |
Yes |
Units previous received as damaged when container is reopened for adjustment. |
DSD Sample Data File
Comma Delimited File with fields defined (see Interface Definitions)
"REPLACE","ASN-EXT_PO_0",4241,770,1,,2022-04-15 11:00:00.000000000,2022-04-15 11:00:00.000000000,,"",,"SIM","","","",,"","US","","","","USD",,"","SIM","","EXT_PO_0","100050005",2022-04-15 11:00:00.000000000,20,"",,,"","",,"","","","","",,,,"","","","","",,"",,,,,"",,"",,,"","","","",,,,
Purchase Order Interface Specification
Purchase Order Sample File
Comma Delimited File with fields defined (see Interface Definitions)
"REPLACE","EXT_PO_1",4241,"55",1,2022-04-07 11:00:00.000000000,2022-04-07 11:00:00.000000000,2022-04-07 11:00:00.000000000, ,"TEST_USER","test1","CO0","FOE0",3,"100750010","US",1,10,0,"USD",10,"EA","N"
Transfer Interface Specification
Name | Type | Optional (Nullable) | Description |
---|---|---|---|
BDI_DATASET_ACTION |
VARCHAR2(20) |
No |
The required record action type, valid values are: REPLACE. |
TSF_DOC_TYPE |
VARCHAR2(2 BYTE) |
No |
The type of the document type. valid values: T - Transfer, A - Transfer Allocation. |
TSF_EXT_ID |
VARCHAR2(128 BYTE) |
No |
The external identifier of transfer/transfer allocation. |
TSF_SRC_TYPE |
NUMBER(2,0) |
Yes |
Source location type for transfer/transfer allocation. 1- Store, 3 Warehouse, 4 - Finisher |
TSF_SRC |
NUMBER(10,0) |
Yes |
The identifier of the source that will send the items on the transfer / Transfer Allocation. |
TSF_DEST_TYPE |
NUMBER(2,0) |
Yes |
Destination location type for the transfer. 1- Store, 3 Warehouse, 4 - Finisher |
TSF_DEST |
NUMBER(10,0) |
Yes |
The identifier of the destination that will receive the items on the transfer. |
TSF_STATUS |
NUMBER(2,0) |
Yes |
The status of transfer/transfer_allocation. Valid Transfer Allocation Status: 1 - Approved,2 - Completed, 3 - Canceled. Transfer Status: 1 - New Request, 2 - Requested, 3 - Request In-Progress, 4 - Rejected Request, 5 - Canceled Request, 6-Transfer In-Progress, 7 - Approved, 8 - In-Shipping, 9 - Completed Transfer, 10 - Canceled Transfer. |
TSF_CREATE_USER |
VARCHAR2(128 BYTE) |
Yes |
A person who created a transfer. |
TSF_UPDATE_USER |
VARCHAR2(128 BYTE) |
Yes |
The last user to update the transfer. |
TSF_APPROVAL_USER |
VARCHAR2(128 BYTE) |
Yes |
The user that approved the transfer. |
TSF_CREATE_DATE |
TIMESTAMP(6) |
Yes |
The original or create date of a transfer. |
TSF_UPDATE_DATE |
TIMESTAMP(6) |
Yes |
The date the transfer was last updated. |
TSF_APPROVAL_DATE |
TIMESTAMP(6) |
Yes |
The date the transfer was approved. |
TSF_CONTEXT_ID |
NUMBER(18,0) |
Yes |
The context identifier for Transfer / Transfer Allocation. |
TSF_CONTEXT_VALUE |
VARCHAR2(25 BYTE) |
Yes |
This field holds value for Transfer / Transfer Allocation relating to the context type, for example promotion number. |
TSF_CUST_ORD_ID |
VARCHAR2(128 BYTE) |
Yes |
Customer order external identifier for transfer. |
TSF_FUL_ORD_EXT_ID |
VARCHAR2(128 BYTE) |
Yes |
Fulfillment order external identifier for transfer. |
TSF_PARTIAL_DELIVERY_IND |
VARCHAR2(1 BYTE) |
Yes |
Indicate if partial delivery is allowed in transfer. |
TSF_AUTH_CODE |
VARCHAR2(12 BYTE) |
Yes |
Authorization code for the transfer. |
TSF_NOT_AFTER_DATE |
TIMESTAMP(6) |
Yes |
Date after which the transfer is not valid. |
TSF_REQUEST_DATE |
TIMESTAMP(6) |
Yes |
Request date of the transfer. |
TSF_REQUEST_USER |
VARCHAR2(128 BYTE) |
Yes |
The user that requested the transfer. |
TSF_USE_AVAILABLE |
VARCHAR2(1 BYTE) |
Yes |
Indicates if the transfer is for unavailable stock. |
TSF_DELV_SLOT_ID |
VARCHAR2(15 BYTE) |
Yes |
Delivery time slot id for allocation. |
TSF_DELIVERY_DATE |
TIMESTAMP(6) |
Yes |
The date that the allocation is expected to be delivered from the warehouse. |
TSF_LINE_ITEM |
VARCHAR2(25 BYTE) |
Yes |
The identifier of the item that this allocation/transfer is for. |
TSF_LINE_DIST_PARENT_ID |
VARCHAR2(25 BYTE) |
Yes |
A unique identifier of the parent transfer document that is associated to this allocation. |
TSF_LINE_CASE_SIZE |
NUMBER(10,2) |
Yes |
The size of the transfer item pack. |
TSF_LINE_EXPECTED |
NUMBER(20,4) |
Yes |
The total number of units expected for this allocation. |
TSF_LINE_RECEIVED |
NUMBER(20,4) |
Yes |
The total number of units received for this allocation/transfer. |
TSF_LINE_DAMAGED |
NUMBER(20,4) |
Yes |
The total number of units that were damaged for this allocation/transfer. |
TSF_LINE_REQUESTED |
NUMBER(20,4) |
Yes |
Requested quantity for the transfer. |
TSF_LINE_APPROVED |
NUMBER(20,4) |
Yes |
Approved quantity for the transfer. |
TSF_LINE_SHIPPING |
NUMBER(20,4) |
Yes |
Shipping quantity for the transfer. |
TSF_LINE_SHIPPED |
NUMBER(20,4) |
Yes |
Shipped quantity for the transfer. |
TSF_LINE_PREFERRED_UOM |
VARCHAR2(4 BYTE) |
Yes |
Preferred unit of measure of the transfer line item. |
Transfer Sample File
Comma Delimited File with fields defined (see Interface Definitions)
"REPLACE","T","EXT_TSF_1",1,4241,1,5251,1,"TEST_USER","TEST_USER","TEST_USER",2022-04-07 11:00:00.000000000,2022-04-07 11:00:00.000000000,2022-04-07 11:00:00.000000000,1,"PROM_TSF","CO1","FOE1","Y","AUTH_1234",2022-04-07 11:00:00.000000000,2022-04-07 11:00:00.000000000,"TEST_USER","Y","",,"100050005","",1,,0,0,100,100,0,0,"EA"
Setup BDI CLI File Transmitter Tool
This section describes steps to install the BDI Transmitter CLI for 64-bit Linux, using an archive binary file (.zip), the configurations include the Open Transaction Modules from external systems.
For additional BDI CLI Transmitter CLI overview and usages, see RICS documentation:
https://docs.oracle.com/cd/B31315_01/191000/BDI%20Implementation%20Guide/Output/Chapter%207%20-%20cli-tools.htm#sthref346Oracle® Retail Bulk Data Integration Cloud Service Implementation Guide
-
Download CLI Transmitter
Download the BdiCliTransmitter<version>ForAll<version>Apps_eng_ga.zip.
The archive binary can be installed in any location that you can write to.
-
Set CLI tool installation directory
Change directory to the location where you would like transmitter to be installed. Move the .zip archive binary to the current directory.
-
Unpack the transmitter
Unpack the zip and install the Transmitter.
unzip BdiCliTransmitter<version>ForAll<version>Apps_eng_ga.zip
You may delete the .zip file if you want to save disk space.
-
Modify bdi-file-transmitter.properties:
….source.system.name=EXTsim.receiver.url=https://<ext-lb> /sim-batch-job-admin/resources/receiversim.receiver.url.useralias=simReceiverUrlUserAlias#list of interface modules#interfaceModules=ExtPurchOrder_Tx, ExtDsd_Tx,ExtTsf_TxinterfaceModules=ExtPurchOrder_Tx#list of interface namesExtPurchOrder_Tx.receiver.appname=simExtPurchOrder_Tx.dataset.type=PARTIALExtPurchOrder_Tx.interfaceShortNames=Ext_Purch_OrderExtPurchOrder_Tx.Ext_Purch_Order.input.filepath= /data-files/po#ExtDsd_Tx.receiver.appname=sim #ExtDsd_Tx.dataset.type=PARTIAL #ExtDsd_Tx.interfaceShortNames=Ext_Dsd#ExtDsd_Tx.Ext_Dsd.input.filepath=/data-files/dsd#ExtTsf_Tx.receiver.appname=sim #ExtTsf_Tx.dataset.type=PARTIAL #ExtTsf_Tx.interfaceShortNames=Ext_Tsf#ExtTsf_Tx.Ext_Tsf.input.filepath=/data-files/tsf
(Notes: Based on your integration need, you can uncomment out the modules you want to seed into receiver app).
-
Set JAVA_HOME environment variable
For example,
export JAVA_HOME=/vol.rtk/java/oracle_linux/jdk1.8.0_66.64bit
-
Setup credential
$ ./bdi-file-transmitter.sh -setup-credentials
On prompt, enter receiver user
Where the receiver is assigned BdiEdgeSimJobOperatorGroup in IDCS), for example, simbdioperator
(Notes: if you add a new module or modify the transmitter properties, you need to run ./ bdi-file-transmitter.sh -setup-credentials)
-
Get Interface Metadata
$ ./bdi-file-transmitter.sh -get-interface-metadata sim
(Notes: to verify the Module>_metadata.json generated correctly, please check the contents of the metadata json file contains the interface table definition, which is located at <bdi-cli-transmitter>/conf/meta-data/sim
If the metadata json contains empty columns for specific interfaces, inspect the interface names in the returned <module>_metadata.json file to see if there is an empty space. If there is an empty space, then you need to remove the empty space in bdi-file-transmitter.properties, and then bounce the sim-bdi server to remove the metadata cache, and then re-execute the get metadata step)
Run BDI CLI File Transmitter
-
Place the data file into the location listed in the bdi-file-transmitter.properties
-
Run transmitter as below:
$ ./bdi-file-transmitter.sh -m <interfaceModuleName>
For example:
$ ./bdi-file-transmitter.sh -m ExtPurchOrder_Tx
-
Review the Receiver log
Login to BDI sim-batch-job-admin console -> navigate to System Logs -> Find the Receiver Log (for example, <sourceSyste>_ExtPurchseOrder_Tx_ReceiverService-bdi-server-system.log)
Note down the source data set id (you will need the data set id later in Importer Job step).
Figure L-1 Source Data Set
Run Importer Job
To run the importer job, follow these steps:
Once the BDI process is completed, you can load data from EICS inbound stage tables into the application tables.
To load stage data to application tables:
From Main Menu, navigate to Admin/Technical Maintenance/Job Admin.
The job would be available for the Admin user who is authorized to access/run the Data Seeding batch processes via EICS user interface. User will need to navigate to following screen to access and run these batch processes.
-
Login to EICS via browser
-
On Navigation menu select Admin/ Technical Maintenance/Job Admin/Data Seed.
User will be taken to Data Seed screen.
-
Select the desired Importer job from drop down list:
The supported BDI Open Transaction Imports are:
-
Third Party Purchase Order Import
-
Third Party Transfer Import
-
Third Party Vendor Delivery Import
-
-
Enter the data set identifier.
Note:
The data set id is required if importer data is not coming from BDI Process Flow. When importer data is coming from BDI CLI tool, user would need to find the dataset id for running the importer. The receiver source data set id can be identified via BDI SIM Job admin log.
-
Click on Start Job.
-
View Importer Job Execution:
Login SIOCS JET UI, navigate to Job Admin screen
By default, the job admin screen lists the failed job execution. To view the completed importer job, you may need to filter the job status by selecting the job status.
To view job execution details, user can click on the job execution link and navigate to the detail screen to see the exact reason of failure.