Configuring Custom Security Resolution Logic
Available in EagleML 2016 January release or newer.
Standard EagleML Security Resolution logic can sometimes be not quite fit for a project. For these rare occasions we have made it possible to configure and enable custom security resolution logic.
Please keep in mind that custom logic is global for an environment, meaning that it will be applied to every object type and stream processing. These changes should be carried out with care as they can affect stability and overall performance of the box.
If you want to use this feature, please edit /customer/eagleml/security_resolution_custom.inc and then enable your new logic by setting
<COL TAG="var_mid_customsec_res" EXPRESSION="'Y'"/>
in /eagle_ml-2-0_custom_cm/w_config_custom.inc
When you are finished make sure that security alias (tag10) gets a value as a result of resolution - this is essential for further processing. In the examples below the following code implements this:
<COL TAG="10" EXPRESSION="iif(:tag3931: = 'FWXXXX' OR LEFT(:tag3931:,2) = 'SW',0,:tag10:)"/>
and for standard SWAP securities:
<COL TAG="10" EXPRESSION="IF (:tag3931: = 'FWXXXX' AND :tag1377:= 'B') THEN :BUY_10:
ELSE IF (:tag3931: = 'FWXXXX' AND :tag1377:= 'S') THEN :SELL_10:
ELSE IF LEFT(:tag3931:,2) = 'SW' AND |swapType| = 'C' THEN :CON_10:
ELSE IF LEFT(:tag3931:,2) = 'SW' AND |swapType| = 'P' THEN :PAY_10:
ELSE IF LEFT(:tag3931:,2) = 'SW' AND |swapType| = 'R' THEN :REC_10:
ELSE ''" CONTENT="REFERENCE_NO"/>
To skip standard Security Resolution set spokeCheckFlag to "1" in your SMF message. The aliases will be loaded into DB "as is" instead.