cancel
Showing results for 
Search instead for 
Did you mean: 

..Payload in Alert message

Former Member
0 Kudos

Friends,

this is in continuation with theard

my mistake, the thread was not marked as question!.

...to answer the experts..

i found a dictionary reference as XML Object , Class CL_SWF_XML_MESSAGE.

this variable creates HEADER and PAYLOAD in the stucture.

can someone elaborate more on this?.

thanks in advance,

Accepted Solutions (1)

Accepted Solutions (1)

former_member200962
Active Contributor
0 Kudos

can you tell me from where you got a refernce to this CL_SWF_XML_MESSAGE.....i am not able to find it anywhere

Former Member
0 Kudos

Create Container Element > Choose Object Type = XML Object Type, CL_SWF_XI_MESSAGE.

because, as per the documentation, this class refer to teh instance ( which created the alert to trigger?).

note:

for testing purpose, i am using inhouse PI 7.1 alert box. is this different from PI 7.0 Alert?

former_member200962
Active Contributor
0 Kudos

for testing purpose, i am using inhouse PI 7.1 alert box. is this different from PI 7.0 Alert?

no...

i found a dictionary reference as XML Object , Class CL_SWF_XML_MESSAGE. 
this variable creates HEADER and PAYLOAD in the stucture.
because, as per the documentation, this class refer to teh instance ( which created the alert to trigger?).

i think CL_SWF_XI_MESSAGE will create an header and payload which contains the alert details and not the message payload that XI receives.....so when you say this class refer to teh instance ( which created the alert to trigger?). i take the instance as the error instance and the apyload as the error message....just confirm

Edited by: abhishek salvi on May 29, 2009 2:38 PM

Former Member
0 Kudos

Hi Abhishek,

yes, i understood the class to be populating the values for header and payload of the erroneous message which caused the alert to trigger.

anyways, i would love to know ..the problem with this design...what is it that i am missing!

Raghu

former_member200962
Active Contributor
0 Kudos
Taken from your other thread:
I have a requirement wherein we need to send the alert via email. 
Subject / Message Body of the email need to contain the Payload - SalesOrder Number.

So if this is your design / requirement....then you can go for a BPM.

we will take a simple processing in BPM

Receive ---> Transformation ---> Block(SyncSend)

Now in the Block Right-click and say Insert ---> Exception Handling Branch... separate Branch will be created on the top.....lower branch is your normal processing branch in this lower branch include the SyncSend step

The Exception Branch will be executed when there is an error in sending the message to the end system. In the exception branch have a Transformation Step (for message from Receive Step to Mail message)....then have a AsyncSend step....use the Mail receiver Channel in this communication so that the user will get an email......

Now why i suggested SyncSend??

in a sync send step if an error occurs you get an immediate response (within seconds) and hence you can complete the BPM quickly and also notify the user ASAP......check if your end system supports Synchronous Communication.....

I am using this approach in my project and hence suggesting you the same

If you have to strictly go with Async Send then the Send step has an option called Acknowledgement and there you select Transport.....but this is the last option that I would go for not at all reliable

Regards,

Abhishek.

P.N: while answering I am referring your reply which says...above approach will work for this case

Moreover, when there is an issue with the communication channel failure, will the mapping based UDF - Alert work?.. i doubt?.

former_member200962
Active Contributor
0 Kudos

Had there been no need to get the payload i would have suggested you have a look at this blog:

/people/bhavesh.kantilal/blog/2006/07/25/triggering-xi-alerts-from-a-user-defined-function

Regards,

Abhishek.

Answers (2)

Answers (2)

Former Member
0 Kudos

oops, the class is CL_SWF_XI_MESSAGE.

former_member200962
Active Contributor
0 Kudos

no need of creating a new thread...you can mark that itself as Question