About the Warehouse Open Lot Inbound Interface
Overview
The Warehouse Open Lot inbound interface allows loading and updating data in the following database tables:
HOLDINGDBO.LOT_LEVEL_POSITION
HOLDINGDBO.POSITION_COST_LOT
HOLDINGDBO.POSITION_COST_DETAIL (roll up the values)
HOLDINGDBO.POSITION_DETAIL (roll up the values)
HOLDINGDBO.POSITION (roll up the values)
Relationship between DB tables LOT_LEVEL_POSITION and POSITION_COST_LOT (1:1):
HOLDINGDBO.POSITION_COST_LOT.POSITION_LOT_ID = HOLDINGDBO.LOT_LEVEL_POSITION.LOT_LEVEL_POSITION
Relationship between DB tables POSITION_COST_DETAIL and POSITION_COST_LOT (1:N – roll up):
HOLDINGDBO.POSITION_COST_DETAIL.POSITION_ID = HOLDINGDBO.POSITION_COST_LOT.POSITION_ID
Relationship between DB tables POSITION_DETAIL and POSITION_COST_LOT (1:N – roll up):
HOLDINGDBO.POSITION_DETAIL.POSITION_ID = HOLDINGDBO.POSITION_COST_LOT.POSITION_ID
Relationship between DB tables POSITION and POSITION_COST_LOT (1:N – roll up):
HOLDINGDBO.POSITION.POSITION_ID = HOLDINGDBO.POSITION_COST_LOT.POSITION_ID
Incoming message format: EagleML (WarehouseOpenLot complex type).
Stream Logic
EagleML Processing Sequence
Warehouse Open Lot is loaded into DB via eagle_ml-2-0_default_in_xml_warehouse_preproc in two steps:
XSLT transformation. XSLT rule 'eagle_default/in/xml/xslt/wrh_egl_gen_interface3.xsl' is used.
Loading data into the database. The 'eagle_default/in/xml/xml-warehouse_v2.xml' rule is used.
To load or update data in Warehouse Open Lot database tables send an EagleML message into the eagle_ml-2-0_default_in_xml_warehouse_preproc stream.
See an example of incoming EagleML message
Refer to the data Map Table for Warehouse Open Lot object
CSV Processing Sequence
Warehouse Open Lot is loaded to DB via the following streams:
eagle_default_in_csv_warehouse - this is PRF stream which consist of two steps transform and load
eagle_default_in_csv_warehouse_t - transformation CSV to XMLDBAPI request
csv-wrhs_open_lot_xmldbapi.xml rule
eagle_ml-2-0_default_in_xml_warehouse
Loading data into the database. The 'eagle_default/in/xml/xml-dbdirect_invar.xml' rule is used
To load or update data in Warehouse Open Lot tables, send your CSV message to the eagle_default_in_csv_warehouse stream.
Required Elements
The following 5 elements are required in the EagleML message:
Effective Date: warehouseTransaction/warehouseOpenLot/effectiveDate. Mapped to HOLDINGDBO.LOT_LEVEL_POSITION.EFFECTIVE_DATE
Entity Id: warehouseTransaction/warehouseOpenLot/entityId (or warehouseTransaction/warehouseOpenLot/xrefAccountId and warehouseTransaction/warehouseOpenLot/xrefAccountIdType). Mapped to HOLDINGDBO.POSITION.ENTITY_ID
Source Name: warehouseTransaction/warehouseOpenLot/sourceName
Lot Number: warehouseTransaction/warehouseOpenLot/lotNumber – Mapped to HOLDINGDBO.LOT_LEVEL_POSITION.LOT_NUMBER
Security Identifiers to resolve the Security Alias (see the section 'Security Resolution Logic'), Security Alias mapped to HOLDINGDBO.LOT_LEVEL_POSITION.SECURITY_ALIAS
Security Resolution Logic
<securityAlias> should not be specified in the incoming EagleML message. Refer to Security Resolution for Warehouse Objects
Entity Resolution Logic
Refer to Entity Resolution for Warehouse Objects
Modes of Data Loading
The Warehouse Open Lot inbound interface has 3 modes for loading data into the DB table
Batch Mode
Single Row Upsert Mode
Roll Up
If you are using EagleML July release or earlier, please add <procedureFlag>PD</procedureFlag> node before the <primaryAssetId> node in order to have the Roll Up work properly in Batch Mode.
Roll Up summs up some numeric values from Warehouse Open Lot DB tables and inserts the result values into the fields of the following Position DB tables: Position Cost Detail, Position Detail and Position.
After committing the data into the database through any of 3 modes, one of the rules for Warehouse Open Lot data loading calls a stored procedure to roll up the values in the HOLDINGDBO.LOT_LEVEL_POSITION DB table into the HOLDINGDBO.POSITION_DETAIL, HOLDINGDBO.POSITION_COST_DETAIL and HOLDINGDBO.POSITION DB tables.