Intensive error handling for Asynchronous PI scenario(Error handling)
As is known to all of our pi consultant, sap released a standard function XI message alert to support xi message error handling(Mapping Error，Proxy Error), if you enable this function(need perform some configuration in pi), pi asynchronous or synchronous message error can be raised a exception error event, and such kinds of error event can be forwarded to central monitoring server. in central monitoring server we can handle this error event ,but standard handler function only supports to send Mail,Fax,SMS…, but does anyone encounter some challenge requirement raised by customer such as I want to get XI message exception info through call a service,this Service was provided by stakeholder who concerted PI exception), What a pity if we do without ccBPM! but today we can achieve this with some development.
Recently, i’m am consulting one of my customer to implement system integration between ecc and third party system(java platform, support webservice),customer raised a such kinds of challenge requirement to me : for the PI Asynchronous(my scenario is SOAP ->PI->ECC), if any message error occurred in PI and ECC, we need to inform this error to third part system in active manner,calls a service of third party system that is used to handle interface message error exclusive.now i’ll share my solution, demonstrated how to achieve this requirement, following is guidance, more detail , you can refer following blogs.
1. Maintain and enable pi alert in pi(Caution!!! don not Support CBMA).
2. Maintain in ECC and set it’s central monitoring server point to PI.
3.Create function ZSALERT_CREATE without any source abap code(copy from SALERT_CREATE,but delete source code).
4.Enhance SALERT_CREATE(add call ZSALERT_CREATE in background destination DES,DES is a tcp/ip connection created in SM59),also we can also add some complex logic , for example, actually we don’t concert all interface error, so we can do some filter for error event.
5.create a scenario RFC->PI->SOAP, For Sender RFC adapter ,configure it’s connection to destination DES. and for SOAP Receiver Adapter. configure it to the webservice that is used to handle error exclusively, generally provided by third party system.
6.in the scenario RFC->PI->SOAP,we can design complex mapping program ,and search XI message payload which error occurred with criteria message GUID. and parse payload , get some key field , for example,PO number。
7.finally ，the error infor (PO number or other key filed ,Error Reason adn etc)will send to third party system， update order status with key PO field.