About the Warehouse Position Inbound Interface
Overview
Warehouse Position inbound interface was designed to load and update data to the following database tables:
HOLDINGDBO.POSITION
HOLDINGDBO.POSITION_DETAIL
HOLDINGDBO.POSITION_COST_DETAIL
Relationship between DB tables HOLDINGDBO.POSITION_DETAIL and HOLDINGDBO.POSITION_COST_DETAIL (1:1):
HOLDINGDBO.POSITION_COST_DETAIL.POSITION_DETAIL_ID = HOLDINGDBO.POSITION_DETAIL.POSITION_DETAIL_ID
Relationship between DB tables HOLDINGDBO.POSITION and HOLDINGDBO.POSITION_DETAIL (1:Many):
HOLDINGDBO.POSITION.POSITION_ID = HOLDINGDBO.POSITION_DETAIL.POSITION_ID
Relationship between DB tables HOLDINGDBO.POSITION and HOLDINGDBO.POSITION_COST_DETAIL (1:Many):
HOLDINGDBO.POSITION.POSITION_ID = HOLDINGDBO.POSITION_COST_DETAIL.POSITION_ID
The format of the incoming message is EagleML.
Stream Logic
EagleML Processing Sequence
Warehouse Position 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 Position database tables send an EagleML message into the eagle_ml-2-0_default_in_xml_warehouse_preproc stream.
Refer to the data map table for Warehouse Position object
CSV Processing Sequence
Warehouse Position 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_position_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 Position tables, send your CSV message to the eagle_default_in_csv_warehouse stream.
Pipe-delimited Processing Sequence
Warehouse Position as PIPE is loaded to database with the following streams:
eagle_default_in_pipe_pos - this is PRF stream which consist of two steps transform and load
eagle_default_in_pipe_pos{_}t - transformation PIPE to XMLDBAPI
pipe-wrhs_position_xmldbapi.xml rule
eagle_ml-2-0_default_in_xml_warehouse – loading data into the database. In this step the rule eagle_default/in/xml/xml-dbdirect_invar.xml is used.
To load or update data in Warehouse Position tables, send your pipe-delimited message to the eagle_default_in_pipe_warehouse stream.
Please keep in mind that pipe-delimited messages are loaded without header elements.
Required Elements
The following elements are required in the EagleML message:
Effective Date: warehouseTransaction/warehousePosition/effectiveDate – mapped to HOLDINGDBO.POSITION.EFFECTIVE_DATE
Entity Id: warehouseTransaction/warehousePosition/entityId (or warehouseTransaction/warehousePosition/xrefAccountId and warehouseTransaction/warehousePosition/xrefAccountIdType) – mapped to HOLDINGDBO.POSITION.ENTITY_ID
Source Name: warehouseTransaction/warehousePoition/sourceName
Security Identifiers for resolving the Security Alias (see the section 'Security Resolution Logic'), Security Alias mapped to HOLDINGDBO.POSITION_DETAIL.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 Position inbound interface has 3 modes for loading data into the DB table:
Batch Mode
Single Row Upsert Mode
Roll Up
Roll Up sums up some numeric values from Position Detail DB table and inserts the result values into the fields of Position DB table.
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.POSITION_DETAIL DB table into the HOLDINGDBO.POSITION DB table.
Click to read more about Roll Up
Position Detail Analytics Switch Logic
Position Detail Analytics Switch controls the way you load elements of the Position Analytics Model to Position Analytics tables.
XML path: EagleML/warehouseTransaction/warehousePosition/posDetAnlSwitch
Valid values:
NONE - do not load data to any Position Analytics tables;
ANL - load to POSITION_DETAIL_ANL table only;
ANL_EQ - load to POSITION_DETAIL_ANL_EQ table only;
ANL_FI - load to POSITION_DETAIL_ANL_FI table only;
ANL_KRD - load to POSITION_DETAIL_ANL_KRD table only;
ANL_USER - load to POSITION_DETAIL_ANL_USER table only.
ALL - load to all tables (POSITION_DETAIL_ANL, POSITION_DETAIL_ANL_EQ, POSITION_DETAIL_ANL_FI, POSITION_DETAIL_ANL_KRD, POSITION_DETAIL_ANL_USER);
Fragment of the data message to load <pricingSpread> to HOLDINGDBO.POSITION_DETAIL_ANL.PRICING_SPREAD:
...
<posDetAnlSwitch>ANL</posDetAnlSwitch>
...
<analytics>
<pricingSpread>157.27</pricingSpread>
</analytics>
...