cancel
Showing results for 
Search instead for 
Did you mean: 

Two Transformations in a BPM

Former Member
0 Kudos

For a Testing purpose I had the following scenario

Block 1

1) Receive step (Empno, Empname) Test_MI

2) Transformation ( Simple Transformation [Empno Concat Empno into Empno, Empname to Empname (Result)]

Block 1

Bloc 2

3) Transformation (Result from previous step to New Output)

4) Send Step

Block 2

The above Test also failed. The error was

CL_SWF_XI_MSG_BROKER method CALL_TRANSFORMATION cannot be executed

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

IT seems like you are getting an mapping error in one of the mapping steps. It should be possible to get a hold on the mapping trace from the faild mapping.

/daniel

Former Member
0 Kudos

Daniel, its a simple mapping. Empno --> empno, empname --> empname.

If I have only one transformation It works fine.

If I have the second transformation it is failing. (I am trying to take the Result from the First Transformation and trying to use in the Second Transformation, thats where this transformation II is failing).

Any suggestions???

moorthy
Active Contributor
0 Kudos

Hi,

You have given the output of second tranformation step directly into the req of second call.

As you told, you are using External definitions, your message structure will be having both Req and Resp structure.

Execute second mapping outside the BPM. So you will Sync Send Step with dummy message.

Outside the BPM execute a Interface Mapping , which has 1)dummy response (output of first mapping) to second http req

2) Http2 Response to Response2 structure

If you do this, it will work. The problem is somewhere in synchronous mapping..

Don't think, I am keep on suggesting same thing:)

Regards,

Moorthy

Former Member
0 Kudos

Krishna , Thanks for all your patience.

For this two Transformation Testing, I have created my own Data Types . It is not an External Definition.

I am not sure how to execute the Second Mapping outside the BPPm.

I went into the Interface determination, but when I try to select the mapping, it says object not found.

Thanks again for your help. If you could, please try to develop a simple scenario like me and see are you able to succeed with that.

Have a great week end.

moorthy
Active Contributor
0 Kudos

MRM,

In the Interface Determination, choose, Sender Interface as Abs, Async , message interface, which you have created without external definition. Then receiver interface is Sync, Inbound Message interface of type 2nd http call.

So to get the mapping, you need to do the mapping between newly created Message type with Http2 reqeuest and another mapping between Httpresponse2 to some structure to receive the response2.

Now create a interface mapping between Abs , Async Interface and Http2 Request by using above Req mapping..

Now you supposed to see this object in the interface determination step in the Directory.

Hope this helps,

Regards,

Moorthy

Former Member
0 Kudos

Thanks Krishna. But you know what, I was trying to do a simple Transformation, followed by another transformation. Even thats not working. The answer you have given above is totally for my earlier query. I will try that.

But in this thread what I am trying to do is

1) Receive a message (Empno, Empname)

100 Murthy

Source Target

2) Transformation1 Empno Concat Empno to Empno (100100)

Empname to Empname(Murthy)

3) Transformation2 : Take the output from Transformation1 as input for this transformation.

Empno +1 to Empno (101)

Empname to Empname (Murthy)

4) Send to a file system.

First Transformation works fine, but the second one fails.

So its looks like we cannot use two transformation continuously???/

thanks.

Answers (0)