We can use ERP adapter to consume Business Events from Fusion and process them. Before we need to subscribe the events , we need to create a CSF key or Token based authentication schema in Fusion. ERP event handler framework will use these key or authentication schema to invoke the OIC integration.
Integration reactivated after 2021 - May will use the token based authentications. It doesn't require additional settings.
Use the ERP adapter at trigger point and select Business Events Operations and select the particular business event.
Example : Invoice Hold Applied.
This will create a subscriber entry in Fusion. We can verify subscriber details using following URL. This will ask for credentials and need to provide valid credentials.
https://xx-vijay.fa.ocs.oraclecloud.com/soa-infra/PublicEvent/subscriptions
All events are triggered from Fusion. Fusion will use the subscriber details and invoke integrations.
Sample Invoice Hold Payload:
<ns01:onEvent xmlns:ns01="http://xmlns.oracle.com/cloud/adapter/erp/XXVV_SUBSCRIBE_TO_INVHOLD_REQUEST/types"> <ns0:ApInvHoldAppliedInfo xmlns:ns0="http://xmlns.oracle.com/apps/financials/payables/invoices/transactions/model/entity/events"> <ns0:InvoiceId> <ns0:newValue value="XXXXXXX00000001"/> <ns0:oldValue/> </ns0:InvoiceId> <ns0:OrgId> <ns0:newValue value="XXXXXXX00000002"/> <ns0:oldValue/> </ns0:OrgId> <ns0:HoldId> <ns0:newValue value="72011"/> <ns0:oldValue/> </ns0:HoldId> <ns0:HoldLookupCode> <ns0:newValue value="AMT REC"/> <ns0:oldValue/> </ns0:HoldLookupCode> <ns0:HoldReason> <ns0:newValue value="Amount billed exceeds amount received."/> <ns0:oldValue/> </ns0:HoldReason> <ns0:LineNumber> <ns0:newValue value=""/> <ns0:oldValue/> </ns0:LineNumber> <ns0:HeldBy> <ns0:newValue value="5"/> <ns0:oldValue/> </ns0:HeldBy> <ns0:HoldDate> <ns0:newValue value="2021-06-04T06:27:33"/> <ns0:oldValue/> </ns0:HoldDate> <ns0:LineLocationId> <ns0:newValue value="XXXXXXX00000003"/> <ns0:oldValue/> </ns0:LineLocationId> <ns0:RcvTransactionId> <ns0:newValue value=""/> <ns0:oldValue/> </ns0:RcvTransactionId> </ns0:ApInvHoldAppliedInfo></ns01:onEvent>
Use the following Filter Expression to filter a specific Hold.
<xpathExpr xmlns:ns0="http://xmlns.oracle.com/apps/financials/payables/invoices/transactions/model/entity/events">$eventPayload/ns0:HoldLookupCode/ns0:newValue/@value='AMT REC'</xpathExpr>
No comments:
Post a Comment