cancel
Showing results for 
Search instead for 
Did you mean: 

BPM with error handling

Former Member
0 Kudos

Hi,

I have a BPM scenario as follows,

Receive input file thru HTTP protocol

Send it to SAP thru sync XI protocol

Response from SAP has a field with status code

If the code says its success, then send response back to 3rd party and place the input file in archive dierectory.

If the code says its failed, then send an email with error description and plance the input file in error directory.

I would like to have a breif hint on the step-wise process flow in BPM technically.

Thanks,

Karthik

Accepted Solutions (0)

Answers (7)

Answers (7)

Former Member
0 Kudos

Thanks

Former Member
0 Kudos

Thanks Abhishek for your quick response.

Do we have any scenario when we need correlation in send step?

Thanks,

Karthik

former_member200962
Active Contributor
0 Kudos
Do we have any scenario when we need correlation in send step?

may be not......you activate a correlation in a send (or receive) step and then use it in the following Receive step....if you want to know what is correlationand how to use it refer this help section:

http://help.sap.com/saphelp_nw70/helpdata/EN/a5/64373f7853494fe10000000a114084/content.htm

http://help.sap.com/saphelp_nw70/helpdata/EN/6d/94364296f1b26be10000000a155106/frameset.htm

Regards,

Abhishek.

Former Member
0 Kudos

Thank you all.

I would like to follow the solution suggested by Tarang Shah as below

1. Receive step to receive the HTTP request

2. sync send to send the data to SAP and get the response back

3. then the switch where

if status = 'OK' then

1.async send --- to send rseponse to the directory u want

2.async send ---here the message will be the one specified in step 1 which will go into Archive

otherwise

1.async send --- to send the mail using mail adapter

2.async send ---here the message will be the one specified in step 1 which will go

into ERROR folder

Now my question is 'Do we need correlation in this case or will the refMessageID in the SAP response be internally correlated to MessageID of the request message in step 1?'

Please clarify.

Thanks,

Karthik

Edited by: Karthik Kaveriselvan on May 29, 2009 8:36 AM

former_member200962
Active Contributor
0 Kudos

we need a correlation when we have two or more Receive Steps...however in your case this is not required....

jagesh_lakdawala
Active Participant
0 Kudos

HI Karthik,

I do agree with BPM steps provided by Mr. Tarang.

But I think we can do the same without using the BPM also.

(1)Receive the Input File through HTTP protocol i.e. Async HTTP-XI-SAP

(2)In SAP as you have Status code already decide either of the following way.

(a)If success then Send the Input file data from SAP-XI-Thrid party(async) system in archive directory.

(b)If Error means sends the Sends the Mail data from SAP-XI-Mail receiver(async) and then sends the

Input file data from SAP-XI_Third party(async) system in error directory.

In both the cases a & b, you can use the same IR, ID objects for sending the files to the Third party system with Dynamic Configuration in File receiver adapter.

Hope this will help you if you want to go without BPM.

Thanks & Regards

Jagesh

Former Member
0 Kudos

Hi Karthik,

Why cant you use fault message?

Eventhough the standard BPM design will not allow you to make the fault message as an abstract mesasge,You can call the alert function module : SALERT_CREATE using a RFC call in the fault message mapping with the help of UDF and also make the BPM to fail by not handling the fault message exception.

Let me know you need further inputs if you are considering this design approach.

Regards

Sunil

Former Member
0 Kudos

Are you stuck with Design or are you checking the feasibility

this can be achieved by using BPM steps

Rajesh

former_member206760
Active Contributor
0 Kudos

1. Receive step to receive the HTTP request

2. sync send to send the data to SAP and get the response back

3. then the switch where

if status = 'OK' then

1.async send --- to send rseponse to the directory u want

2.async send ---here the message will be the one specified in step 1 which will go into Archive

otherwise

1.async send --- to send the mail using mail adapter

2.async send ---here the message will be the one specified in step 1 which will go

into ERROR folder

This will work