Warehouse Open Lot - Batch Mode of Data Loading
If you are using EagleML July release or earlier, please add <procedureFlag>PD</procedureFlag> node before the <primaryAssetId> node in order to have the Roll Up work properly in Batch Mode.
In the Batch mode multiple rows can be loaded into the database from the one EagleML message. In this mode the element warehouseTransaction can contain several complex elements warehouseOpenLot. Data from every element will be loaded into a separate database row.
Example of incoming EagleML message to load data in Batch Mode:
Batch Key Element
In Batch Mode, the data from the complex elements warehouseOpenLot should contain the same set of of element’s values: Entity Id + Effective Date + Source Name. The set of values for grouping should be specified in the element warehouseTransaction/batchKey.
The format of the Batch Key element: entityId^effectiveDate^sourceName
entityId – the element warehouseTransaction/warehouseOpenLot/entityId. This should be specified if it is mapped from the EagleML message directly (in the warehouseTransaction/warehouseOpenLot/entityId). If the value of entityId is defined by the warehouseTransaction/warehouseOpenLot/xrefAccountId and warehouseTransaction/warehouseOpenLot/xrefAccountIdType elements, the first part of warehouseTransaction/batchKey could be any. The batch key will be updated by calculated entityId element.
effectiveDate – the element warehouseTransaction/warehouseOpenLot/effectiveDate. This should be specified in data format YYYYMMDD.
sourceName – the element warehouseTransaction/warehouseOpenLot/sourceName.
Here are some examples of a valid Batch Key:
<batchKey>COMPTST1^20140120^EAGLE PACE</batchKey>
<batchKey>entity^20140120^EAGLE PACE</batchKey>
Delete Data
Before inserting, Batch mode will always try to delete records defined by warehouseTransaction/batchKey element.
Insert/Update
The stored procedure for the 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.
Use Single Row Upsert mode for updating a database row.
Other
The value for the field HOLDINGDBO.LOT_LEVEL_POSITION.POSITION_ID in all rows which are loaded from one EagleML message in Batch Mode will be identical. This value is calculated in the stored procedure for loading Warehouse Open Lot data – taken the following instance value. Also it mapped to the field HOLDINGDBO.POSITION.POSITION_ID DB field.
The values for DB field HOLDINGDBO.LOT_LEVEL_POSITION.POSITION_DETAIL_ID will be different in any rows. These values are calculated in the stored procedure.