Versions Compared

Key

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

In this page:

Table of Contents

Overview

Warehouse Cash Activity inbound interface is designed to load and update data in CASHDBO.CASH_ACTIVITY database table.
Incoming message format: EagleML (WarehouseCashActivity complex type).

Anchor
Stream_Logic
Stream_Logic
Stream Logic

EagleML Processing Sequence

Warehouse Cash Activity 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 Cash Activity database tables send an EagleML message into the eagle_ml-2-0_default_in_xml_warehouse_preproc stream.

On this page

Table of Contents
Expand
titleClick to expand an example of incoming EagleML message
Include Page
Warehouse Cash Activity Example
Warehouse Cash Activity Example

Anchor
CSV_processing_sequence
CSV_processing_sequence
CSV Processing Sequence

Warehouse Cash Activity is loaded to DB with 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_cash_activity_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 Cash Activity tables, send your CSV message to the eagle_default_in_csv_warehouse stream

Master/Original Transaction Number Logic

Single Mode Load

Values in the incoming file

Values loaded to DB

Both values are not set or missing

originalTransactionNumber is NULL
masterTransactionNum is NULL

You will get the following error:

Original Transaction Number cannot be null

Only original transaction number set

originalTransactionNumber = FILLED
masterTransactionNum is NULL

-  masterTransactionNum copies the originalTransactionNumber value:

Image Modified

 - if you send the same message again, the values will remain the same (as from the file):

Image Modified

- change originalTransactionNumber value to FILLED_B, once again masterTransactionNum copies this value and a new record will be created:

Image Modified

Both values are set:

originalTransactionNumber = FILLED_C
masterTransactionNum = FILLED_D

- first load: values from file loaded into DB:

Image Modified

- if you change originalTransactionNumber to FILLED_Е, the record will be updated updated with the new originalTransactionNumber value:

Image Modified

- if you change masterTransactionNum to FILLED_F, the record will be updated with the new masterTransactionNum value:

Image Modified

- if you change both: originalTransactionNumber to  FILLED_G and masterTransactionNum to  FILLED_H, a new record will be created:

Image Modified

Batch Mode Load

If no masterTransactionNum value is provided in the file for load, masterTransactionNum value will reflect the originalTransactionNumber value from the record:

Image Modified

Anchor
Security_Resolution_Logic
Security_Resolution_Logic
Security Resolution Logic

<securityAlias> should not be specified in the incoming EagleML message.

Refer to Security Resolution for Warehouse Objects

Anchor
Entity_Resolution_Logic
Entity_Resolution_Logic
Entity Resolution Logic

Refer to Entity Resolution for Warehouse Objects

The Reflexive flow processing

is depended on the System Control value, systemControl is required element and should have the same value as cashdbo.cash_activity.SPD_PERF_FLOW_RULE field

Based on CSA_EGL_GEN_INTERFACE stored procedure calculateReflexiveFlowsSwitch flag works with systemControl node that can be equaled 0,1,2,3,5,6,7.

Additional details:

If systemControl equals 3 or 7 then BASE_INCOME_FLOW, BASE_PRINCIPAL_FLOW, BASE_TOTAL_FLOW, LOCAL_INCOME_FLOW, LOCAL_PRINCIPAL_FLOW, LOCAL_TOTAL_FLOW, SYS_TOTAL_FLOW, SYS_PRINCIPAL_FLOW, SYS_INCOME_FLOW fields set as 0 in cash_activity table.

If systemControl equals 0,1,2,5,6 then spawn record is inserted:

if systemControl equals 1,5 then

BASE_INCOME_FLOW, BASE_PRINCIPAL_FLOW, BASE_TOTAL_FLOW, LOCAL_INCOME_FLOW, LOCAL_PRINCIPAL_FLOW, LOCAL_TOTAL_FLOW, SYS_TOTAL_FLOW, SYS_PRINCIPAL_FLOW, SYS_INCOME_FLOW fields set as 0;

if systemControl equals 0,2,6 then

BASE_INCOME_FLOW, BASE_PRINCIPAL_FLOW, BASE_TOTAL_FLOW, LOCAL_INCOME_FLOW, LOCAL_PRINCIPAL_FLOW, LOCAL_TOTAL_FLOW, SYS_TOTAL_FLOW, SYS_PRINCIPAL_FLOW, SYS_INCOME_FLOW fields insert with inverted value with minus sign.