cancel
Showing results for 
Search instead for 
Did you mean: 

BPM help required

former_member335553
Active Contributor
0 Kudos

Hi

scenario is from IDOC - stored procedure and based upon the response switch condition with 2 branches.

Now that in switch condition I need to check the existence and /nonexistence of 2 fields.

if field "a" exist and field "b" does not exist then update db1

if field "a" exist and field "b" exist then send mail to user

Currently i am using a transformation in BPM between the responses(dummy mapping) so that non existence for the field "b" is checked using an UDF (transform so that if field not exist then 0 anyways i check for field "a" existence in switch condition )

questions would be

1. Do I have any operator in switch condition to include non existence of field

2. Since I am doing with another transformation for response mapping(to do ths ninexistence check ) do I need to add any configuration i n ID

kindly let me know

Accepted Solutions (1)

Accepted Solutions (1)

former_member335553
Active Contributor
0 Kudos

Hi All ,Thanks for all ur inputs

I have an erro rout in BPM

scenario is IDOC--Xi----Stored proc to database1 ; bsed onthe response switch condition with 2 branches

I get an error insend synchrnous step and BPM is stopped with system error in Moni

BPm steps

receive IDOC

transformation of idoc with stored proc request

send synchronous

switch with 2 branches and in each branch 2 individual tranformationrouting to various receivers.

test configuration in ID works fine .Is there somethigg wrong with my ID

for stored procedure my configurations are

RD-----

Int process to DB1

Interfce Determinatio

Int process- sending synch abstract interface to receiver DB1 and in the inbound interface I have the same synchrouns abstract interface

I had prirly used request message in the inbuond interface but failed

please advise on the rght configuration

former_member335553
Active Contributor
0 Kudos

Bringing it to the top

Former Member
0 Kudos

Anusha,

Can you open the message in moni and see does the error gives any details. Since you got error in sychronous send step you received the idoc successfully and send to your procedure successfully. Now you should check whether you received any data from it or not. Check in moni or rwb for any error information.

Also please check for any mismatch between the message type and the SP response.

Regards,

---Satish

former_member335553
Active Contributor
0 Kudos

Hi

I get an error as delivery exception in moni and this is hte extradct of the message in moni

<Trace level="1" type="T">select interface MI_STOREDPROC_WEBCUST_REQUEST_ABS </Trace>

<Trace level="1" type="T">select interface namespace http:/xxx.com/xi/ecom_md_crm/customer </Trace>

<Trace level="1" type="T">--start receiver interface action determination </Trace>

<Trace level="1" type="T">Loop 0000000001 </Trace>

<Trace level="1" type="T">select interface MI_STOREDPROC_WEBCUST_REQUEST_ABS </Trace>

<Trace level="1" type="T">select interface namespace http://xxx.com/xi/ecom_md_crm/customer </Trace>

<Trace level="1" type="T">--no sender or receiver interface definition found </Trace>

<Trace level="1" type="T">Hence set action to DEL </Trace>

Edited by: Anusha Ramsiva on Jul 13, 2009 12:00 AM

former_member200962
Active Contributor
0 Kudos
no sender or receiver interface definition found

What you need to check for Sync Send:

1) Sync message in BPM is having the required req-resp DB structure

2) The same structure is included in the IN Sync MI for the DB

3) The same MIs are included in the Interface Detremination.

4) The Sync ABS MI of the BPM is refered in the Receiver Determination of the BPM <---> DB flow....

The error mentions some mismatch in the MTs included in the SYnc MIs.....just once again check for it.....

Regards,

Abhishek.

former_member335553
Active Contributor
0 Kudos

Hi Abishek

Yes I was able to get the message from the content in moni

But these are the configurations I had done .

Receiver determination : Integration Process -


> synch abs interface -


>DB

Interface determination---Integration process----->synch abstarct interface -


>DB and configured inbound interface as abstract asychronous request message

Receiver agreeement -


integration process -


>DB------Inbound interface as abstract asynchrouns request

In Integration process these are my steps

Receiver IDOC

transformation of IDOC and stored proc request

send syncrounous - sunchrous interface with req and resp message

then switch with 2 braches based on the response

Please let me know in case I ahd gone wrong somehwere

Thanks

Anusha

former_member200962
Active Contributor
0 Kudos
Interface determination-----Integration process------->synch abstarct interface --------->DB and configured inbound 
interface as abstract asychronous request message

If it is not a typo then your error lies in the above configuration.....you cannot make a sync call (your Source MI from BPM) to an Async MI (your DB req Async MI)

You have to include the SYNC MI in the Interface Determination (input message)....The request-response messages of BPM should match with that of the req-resp messages of the MI on the DB side....else how are you going to receive the response back......since it is a receiver JDBC channel you need not worry about it not working with SYNC call...just make the DB MI SYNC and then test....

Regards,

ABhishek.

former_member335553
Active Contributor
0 Kudos

Thanks all of you

Corrected mistaked from your answers as well theere was an issue in the stored proecedure itself

Answers (3)

Answers (3)

former_member200962
Active Contributor
0 Kudos

You can refer the thread(1) provided by Satish when you are dealing with Switch in PI7.1....

In PI7.0, you can check the existence as normal (Field a -


> EX; left and right operands respectively)

To check the non-existence of a node check this WIKI section:

https://wiki.sdn.sap.com/wiki/display/XI/XpathConditioninReceiverDetermination

If you are working on PI7.1 then non-existence has to be checked as !(EX cond_var).

Regards,

Abhishek.

Former Member
0 Kudos

Do you need to map any details from the Stored procedure executed to the target structure? If not, You don't need a BPM.

Use a Dynamic Receiver Determination to obtainer receiver1 or receiver2 based on ur condition.

Then use interface determinations (2 Interface det in your case) to map the src to target.

At runtime only one receiver is identfied & the corresponding Interface determination is executed.

-SM

Former Member
0 Kudos

Anusha,

For question1: You can use doesnot exist and also you can build your own path.

Check this threads for this and follow shabharish blog in this thread:

For question2:

You may not to do any config but in BPM you should take the sync step and do the mapping accordingly. Please follow this blog for some reference:

/people/bhavesh.kantilal/blog/2006/07/03/jdbc-receiver-adapter--synchronous-select-150-step-by-step

Regards,

---Satish