Warehouse Cash Activity Inbound Interface
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).
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.
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  | You will get the following error: Original Transaction Number cannot be null |
Only original transaction number set originalTransactionNumber = FILLED | - masterTransactionNum copies the originalTransactionNumber value:  - if you send the same message again, the values will remain the same (as from the file): - change originalTransactionNumber value to FILLED_B, once again masterTransactionNum copies this value and a new record will be created: |
Both values are set: originalTransactionNumber = FILLED_C | - first load: values from file loaded into DB: - if you change originalTransactionNumber to FILLED_Е, the record will be updated updated with the new originalTransactionNumber value: - if you change masterTransactionNum to FILLED_F, the record will be updated with the new masterTransactionNum value: - if you change both: originalTransactionNumber to  FILLED_G and masterTransactionNum to  FILLED_H, a new record will be created: |
Batch Mode Load
If no masterTransactionNum value is provided in the file for load, masterTransactionNum value will reflect the originalTransactionNumber value from the record:
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
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.
Â