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> ...