Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In this page:

Table of Contents

Anchor
WH_Objects_Structure
WH_Objects_Structure
Warehouse Objects Structure

The diagram below illustrates the Warehouse Objects structure and the relationships between them.

The following Warehouse objects are available:

Object Type

Inbound Rule

Outbound Rule

Bind File Name

SP Name (ORA DB)

Batch Mode Support

Batch Key Pattern

Batch Key Example

Warehouse Open Lot

xml-warehouse_v2.xml

extract_warehouse_openlot.xml

bind-std_interfaces_dbdir.xml

HOLDINGDBO.EGL_GEN_HOLDING.LOT_EGL_GEN_INTERFACE

Y

entityId^effectiveDate^sourceName

my_entity^20140120^EAGLE PACE

Warehouse Position

xml-warehouse_v2.xml

extract_warehouse_position.xml

bind-std_interfaces_dbdir.xml

HOLDINGDBO.EGL_GEN_HOLDING.POS_EGL_GEN_INTERFACE

Y

entityId^effectiveDate^sourceName

my_entity^20140120^EAGLE PACE

Warehouse Trade

xml-warehouse_v2.xml

extract_warehouse_trade.xml

bind-std_interfaces_dbdir.xml

TRADESDBO.EGL_GEN_TRADE.TRD_EGL_GEN_INTERFACE

Y

entityId^effectiveDate^sourceName

my_entity^20140120^EAGLE PACE

Warehouse Close Lot

xml-warehouse_v2.xml

extract_warehouse_closelot.xml

bind-std_interfaces_dbdir.xml

TRADESDBO.EGL_GEN_TRADE.CLL_EGL_GEN_INTERFACE

Y

entityId^effectiveDate^sourceName

my_entity^20140120^EAGLE PACE

Warehouse Cash Activity

xml-warehouse_v2.xml

extract_warehouse_cash_activity.xml

bind-std_interfaces_dbdir.xml

CASHDBO.EGL_GEN_CASH.CSA_EGL_GEN_INTERFACE

Y

entityId^effectiveDate^sourceName


Warehouse Performance

xml-warehouse_v2.xml

extract_warehouse_performance.xml

bind-std_interfaces_dbdir.xml
bind_wrhs_performance.xml

PERFORMDBO.EGL_GEN_PERFORM.PRO_EGL_GEN_INTERFACE
PERFORMDBO.EGL_GEN_PERFORM.PRF_EGL_GEN_INTERFACE

Y

entityId^^endEffectiveDate^sourceName^frequencyCode^dictionaryName^perfSummaryType
entityXrefId^EntityXrefIdType^endEffectiveDate^sourceName^frequencyCode^dictionaryName^perfSummaryType

ENTVALUE^^20130713^EAGLE PACE^D^DICTIONARY1^S
E001^CLIENT^20130713^EAGLE PACE^D^DICTIONARY1^S

Warehouse Broker Trade Quote

xml-wh_brokertradequote_v2.xml

extract_warehouse_brokertradequote.xml

bind_trade_quote.xml

TRADESDBO.TRADE_QUOTE_UPLOAD.TRADE_QUOTE_INSUPD

Y

masterTicketNumber

1200303M

Warehouse Pending Trade

xml-warehouse_v2.xml

extract_warehouse_pending_trades.xml

bind-wrhs_pending_trade.xml

TRADESDBO.PENDING_TRADE.INS_PENDING_TRADE
TRADESDBO.PENDING_TRADE.UPD_PENDING_TRADE




Warehouse Cash Flow Projection

xml-warehouse_v2.xml

extract_warehouse_cash_flow_proj.xml

bind_wrhs_cashflowproj.xml

CASHDBO.EGL_GEN_CASH_PROJ.INS_UPD_CASH_FLOW_PROJ




Warehouse GL Balances

xml-warehouse_v2.xml

extract_warehouse_gl_detail_posting.xml

bind_wrhs_gl_balanes.xml

LEDGERDBO.SPD_LEDGER.LED_EGL_GEN_INTERFACE




Warehouse NAV

xml-warehouse_v2.xml

extract_warehouse_nav_multi.xml

bind_wrhs_nav.xml

HOLDINGDBO.EGL_GEN_HOLDING.MFP_NAV_PERF_EGL_GEN




Warehouse NAV Multi

xml-warehouse_v2.xml

extract_warehouse_nav.xml

bind_wrhs_nav_multi.xml

ESTAR.ESTAR_PKG_NAV.INS_UPD_NAV_MULTI




Custody Restriction Activity

 - (extract only)

extract_warehouse_custody_activity.xml






Custody Restriction Balance

 - (extract only)

extract_warehouse_custody_balance.xml






Common Elements

Element

Optional/Required

Value type

sourceName

Required

string

updateSource

Optional

string

effectiveDate

Required

date

entityId

Required

string

Asset Identifiers

Required

Asset Identifiers Model Group


Anchor
WH_Stream_Logic
WH_Stream_Logic
Stream Logic

EagleML Processing Sequence

All the Warehouse are 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 (xml-wh_brokertradequote_v2.xml for Broker Trade Quotes).


Info
titleNote

To load or update data in Warehouse database tables send an EagleML message into the eagle_ml-2-0_default_in_xml_warehouse_preproc stream.
eagle_ml-2-0_default_in_xml_warehouse is retired since the September 2015 EagleML release, but it is still used in the Generic Load workflow (because Warehouse Position and Open Lot objects are extracted in XMLDBAPI format).

Any overlay includes you were using with eagle_ml-2-0_default_in_xml_warehouse will be "taken" by eagle_ml-2-0_default_in_xml_warehouse_preproc , thus providing backward compatibility.


Expand
titleCSV and PIPE processing details for Warehouse (click to expand):

Anchor
CSV_processing_sequence
CSV_processing_sequence
CSV Processing Sequence

Warehouse objects (supported objects are listed in the table below) are loaded into 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 - CSV to EagleML (or CSV to XMLDBAPI) transformation. On this step one of the corresponding rules is used:

    Object Type

    Inbound Rule

    Output Format

    Warehouse Cash Activity

    csv-wrhs_cash_activity_xmldbapi.xml

    XMLDBAPI request

    Warehouse Close Lot

    close_lot.xml

    EagleML

    Warehouse Open Lot

    csv-wrhs_open_lot_xmldbapi.xml

    XMLDBAPI request

    Warehouse Performance

    performance.xml

    EagleML

    Warehouse Position

    csv-wrhs_position_xmldbapi.xml

    XMLDBAPI request

    Warehouse Trade

    trade.xml

    EagleML


  • eagle_ml-2-0_default_in_xml_warehouse_preproc or eagle_ml-2-0_default_in_xml_warehouse (Depending on the Output format of Transformation step)
    • If EagleML then eagle_ml-2-0_default_in_xml_warehouse_preproc
    • If XMLDBAPI then eagle_ml-2-0_default_in_xml_warehouse

To load or update data in Warehouse tables, send your CSV message to the eagle_default_in_csv_warehouse stream.

Anchor
Pipe-delimeted_processing_sequence
Pipe-delimeted_processing_sequence
Pipe-delimited Processing Sequence

Warehouse Performance as PIPE is loaded to database with the following streams:

  • eagle_default_in_pipe_warehouseCLP - This is PRF stream which consist of two steps transform and load.
  • ​eagle_default_in_pipe_warehouseCLP_t - transformation PIPE to XMLDBAPI
  • 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 Performance tables, send your pipe-edelimited message to the eagle_default_in_pipe_warehouseCLP stream.

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

Info
titleNote
Please keep in mind that pipe-delimited messages are loaded without header elements.


Anchor
WH_Load_Modes
WH_Load_Modes
Load Modes

Info
titleNote
Some of the objects do not support all load modes. Please refer to their specification pages to get more details.

Anchor
Batch_Mode
Batch_Mode
Batch Mode

In batch mode multiple rows can be loaded into DB by one EagleML message. In this mode the warehouseTransaction element usually contains several complex elements, specific for each object type, for example, warehouseCloseLot.

The data from each element will be loaded into a separate database row.

Info
titleImportant Note
The stored procedure for batch mode supports only inserting data into the database. All data is inserted by batch commit, which means one transaction for all records specified in one incoming message. You can not UPDATE the data in batch mode. Use Single Row mode to do that.

Anchor
batch_key
batch_key
Batch Key

The complex objects in the batch are "tied" together by the batch key element.

Example of use:

Code Block
languagexml
    <warehouseTransaction>
        <header>
            <batchKey>entity^20150306^EAGLE PACE</batchKey>
            <objectType>WarehouseCloseLot</objectType>
        </header>
        <warehouseCloseLot>


Info
titleNote
The Batch key pattern is different for all Warehouse objects. To choose the right one, please refer to their wiki pages.

When you load a Warehouse in batch mode, first of all the stream takes the warehouseTransaction/batchKey element from your incoming EagleML message, resolves a specific DB key from the batch key and deletes all records with the same DB key from DB (if they exist). Only then inserting new records is performed.

Using Batch Error Mode

If some errors occur when you load a Warehouse object in Batch mode, there are two modes to display them:

  • Default mode: only the first error is reported in the Task Status Response (TSR).
  • Batch Error mode: all errors are reported in the TSR. To enable this mode add the following line to {}w_config_custom.inc:


Code Block
languagexml
<CODE>
   :EAGLEML_WAREHOUSE_BATCH_ERROR_MODE::='Y';
</CODE>

See a comparison of error reports for Default mode vs Batch Error mode

Anchor
Single_Row_UPSERT_Mode
Single_Row_UPSERT_Mode
Single Row UPSERT Mode

The UPSERT mode is used if the Batch Key element (warehouseTransaction/batchKey element) is not present or null in the incoming EagleML message. The message should contain a logical unique Object key for each Warehouse object instead. 

For single row mode the warehouseTransaction node can contain only one specific complex element (e.g. warehouseCloseLot).

Anchor
procedure_mode
procedure_mode
Procedure Mode

Info
titleNote
Procedure Mode setting is supported for Warehouse Open Lot and Warehouse Position only.

The mode - INSERT or UPDATE - can be defined automatically or by the Procedure Mode element .

Leave the Procedure Mode element (warehouseTransaction/.../procedureMode) empty and in this case the SP will decide itself whether to update the data in DB tables (if the row already exists) or to insert it (if it does not).
Valid values: 'INSERT', 'UPDATE'.

Grouped Single Mode

Grouped single mode is the load mode when a group of records is sent and loaded to DB separately (unlike Batch mode, when several records are considered as a batch and are sent in one event and are loaded to DB in one event.

  • Before load all position details are deleted
  • After load RollUp is performed

In EagleML this structure looks like several <warehousePosition> clusters under a single <warehouseTransaction> message. Batch key has no sense, so the header should look like this:

Code Block
languagexml
    <warehouseTransaction>
        <header>
            <objectType>WarehouseCloseLot</objectType>
        </header>
        <warehouseCloseLot>

Sub-Batch Load Mode

Info
titleNote
Supported for Warehouse Open Lot and Warehouse Position only

In Sub-Batch load mode the incoming file is split into several files, one file for each batch (the data for one batch cannot be split into different files!) and each batch is split into sub-batches to decrease its size:

Batch Keys for these sub-batches must be enhanced to express their relation, for example, with security alias numbers (this is important, batch key with 4 elements defines sub-batch mode):

  • Batch key: entity1^20150306^EAGLE PACE
  • Sub-Batch key: entity1^20150306^EAGLE PACE^212
Code Block
languagexml
    <warehouseTransaction>
        <header>
            <batchKey>entity^20150306^EAGLE PACE^212</batchKey>
            <objectType>WarehousePosition</objectType>
        </header>
        <warehousePosition>


Info

Automatic RollUp in some cases may work not properly (the latter sub-batches overwrite the earlier sub-batches) - in this case automatic RollUp should be switched of before load attempt and performed manually by dropping a special file with all batch keys from the source file