cancel
Showing results for 
Search instead for 
Did you mean: 

Help with BPM

Former Member
0 Kudos

Hi,

Is it possible to send two different XML structures using only ONE BPM ? Suppose i have a source xml

<SourceXml>

- <ItemCode>

- <Price>

- <Description>

</SourceXml>

Now inside BPM, i check the ItemCode and based on that i can send two xml structures.

<Output1>

- <ItemCode>

- <Quantity>

</Output1>

or the other structure is

<Output2>

- <ErrorInfo>

- <ErrorCode>

- <ErrorDetails>

</ErrorInfo>

</Output2>

I cant have two sender interfaces for BPM. But can this be done using Receiver Determination in BPM ? If yes, any pointers?

Accepted Solutions (1)

Accepted Solutions (1)

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

You do not need a BPM for this

You can use Multimapping without BPM.

Just check this blog,

/people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible

Regards,

Bhavesh

Answers (1)

Answers (1)

Shabarish_Nair
Active Contributor
0 Kudos

Just a suggestion;

Why dont you check the structure in Recv. determination itself and then in your interface mapping call the required mapping to convert the structure accordingly.

Maybe you can avoid the BPM itself.

Ref:

/people/shabarish.vijayakumar/blog/2006/06/07/customise-your-xpath-expressions-in-receiver-determination

/people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers

/people/suraj.sr/blog/2006/01/05/multiple-inbound-interfaces-within-a-service

Former Member
0 Kudos

I think the question was not put properly. Actually i have a BPM in which i have single block within which i have an exception block. Now, If there's an exception then an <ErrorXML> is generated and sent to SysA and if there's no error then the <SuccessXML> is sent to SysB. Sorry for not putting it properly at the first go!

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

<i>I cant have two sender interfaces for BPM. But can this be done using Receiver Determination in BPM ? If yes, any pointers?</i>

You can have 2 sender Interfaces in your BPM? So, just define 2 Abstract Asynch Interfaces , one for the Valid message and other for Error and then use them in the correspoding Send Steps with container variable and the corresponding receievr Determaintion..

2 receiver determaintions involving,

1. VALID ASYNCH ABTSRACT INTEFARCE

2 . ERROR ASYNCH AVSTRACT INTERAFCE

Regards,

Bhavesh

Former Member
0 Kudos

I suppose we can add the interfaces only when i install the Integration process into IR. Once installed, when i double click on it, it shows me the sender & receiver tabs with their respective interfaces. In sender interfaces, i DONT' have an option to add another interface. Where else can i add the second interface ?

Former Member
0 Kudos

Oops! Can u help me with any weblog ? in the BPM i have two send steps (One for correct and another for error). I also have two different container variables for error adn success messages. Stuck with the Receiver determination part! Dunno how it works! any weblog / link / any stuff which would help would be highly appreciated .?

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

You will have 2 different receiver determinations.

1. Sender Service : BPM

Sender Interface : Valid Abstract Aychn Interface.

Reciver Service : Reciver of the message

Inbound Interface : Valid Aynch Inbound Interface

2. Sender Service : BPM

Sender Interface :Error Abstract Aychn Interface.

Reciver Service : Reciver of the Error message

Inbound Interface : Error Aynch Inbound Interface

You need to have total 4 interfaces in IR. 2 Aycnh Abstract and 2 Aynch Inbound.>!!

Regards,

Bhavesh

Former Member
0 Kudos

Hi Qadeer,

You have to design your BPM in the following way:

1)Recieve step : to recive the data from the source

2)switch : check the condition( success or failue )

design one send step there after that one container varible.

In the swithch on other side design one more send step and container variable..

You have two reciever determinations here.only one reciever determination will work in run time..

your ID steps :

1)Source to BPM

2)BPM to destination (success)

3)BPM to destination (failure)

Sekhar

Former Member
0 Kudos

Yeah i can understand what you are trying to tell.

Suppose the source sys is "SourceSys" and the success message is to be sent to "SuccessSys" and Failure message is to be sent to "FailureSys", i run the Configuration wizard once from SourceSys to BPM. And i run it again for BPM to SuccessSys.

Now, When i try to run the wizard again from BPM to FailureSys, the list of sender interfaces for BPM DOESNT' show the Abstract Error Interface which obviously means that i will have to add that abstract interface for error to my BPM's list of Sender interfaces which is not allowed.

Please check this image : It shows the BPM installed into IR. There's no option to add another interface to BPM...

<a href="http://www.geocities.com/qadeer_824/images/BPMImage.jpg">BPM Image in IR</a>

Former Member
0 Kudos

Hi Qadeer,

<i>Now, When i try to run the wizard again from BPM to FailureSys, the list of sender interfaces for BPM DOESNT' show the Abstract Error Interface which obviously means that i will have to add that abstract interface for error to my BPM's list of Sender interfaces which is not allowed</i>

You have to create one more interface mapping for failure..did u create this one?

Thanks,

Sekhar

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

Am not able to open the link to the image, but can you confirm that the Interface is an Anych Abstract Interface in your IR? and also, if you have Activated the same.

Regards,

Bhavesh

Former Member
0 Kudos

Hi Qadeer,

If you did not create then .. create one more interface mapping ie between Asynchrous abstract interface(source) and asynchronous inbound interface(destination).Give this abstract asyn interface in BPM failure send step.

Then you can find the message interfaces for the source and destination in the ID.

Thanks,

Sekhar

Former Member
0 Kudos

Hi Sekhar,

Yeah! i have created the Interface mapping for the Abstract error interface of BPM to the Inbound Interface of FailureSys. In total i have two IM's one for success mapping other for failure mapping.

Former Member
0 Kudos

Hi ,

I am not able to open the image of your BPM :

<i>i will have to add that abstract interface for error to my BPM's list of Sender interfaces which is not allowed</i>

In this case which step you are using in BPM ?

You can send me a screen shot to the id. so that I can help you out.

Sekhar