IBM Support

Why is the ON_FRAUDULENT_ORDER event not triggered for the YCD_FRAUD_CHECK.0001 agent?

Question & Answer


Question

Why is the ON_FRAUDULENT_ORDER event not triggered for the YCD_FRAUD_CHECK.0001 agent?

Answer

When the ON_FRAUDULENT_ORDER event is configured for the YCD_FRAUD_CHECK.0001 agent, the event is not raised by the application.
 
This behaviour is due to an issue with the input to the YFSProcessOrderHoldTypeUE. The input to the user exit has Transactionid="200506230954104503" but it should be Transactionid="YCD_FRAUD_CHECK.0001". The 'Is Fraud Check Hold' condition of the YCD_ProcessCustOrdMgmtHolds_1.0 service checks for Transactionid="YCD_FRAUD_CHECK.0001" and hence the condition fails due to which the ON_FRAUDULENT_ORDER event is not raised.

Solution:
The solution is to use an XSL to modify the attribute Transactionid="YCD_FRAUD_CHECK.0001 in the FraudCheck service so that the event will be raised as expected.
When the "Is Duplicate Order Hold" condition is evaluated as false, the XSL which is placed just before "Is Fraud Check Hold" condition should be invoked.
 
Output from the XSL should be as shown below:
 
<Order DocumentType="0001" EnterpriseCode="DEFAULT"</div> <div>    OrderHeaderKey="2009041015450747107" OrderNo="ABC" <strong>Transactionid="YCD_FRAUD_CHECK.0001</strong>">
    <HoldTypesToProcess>
        <OrderHoldType HoldType=" ABC" Status="1100"/>
    </HoldTypesToProcess>
</Order>

[{"Product":{"code":"SS6PEW","label":"IBM Sterling Order Management"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Component":"Not Applicable","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Historical Number

FAQ2845

Document Information

Modified date:
16 June 2018

UID

swg21519529