cancel
Showing results for 
Search instead for 
Did you mean: 

BPM: Messager Merge - Transformation Mapping Problem

Former Member
0 Kudos

Hi,

I tried an eg for time bound message merging (rather adding the items in the message).

I am using a single datatype/message type.

I was able to do the message mapping/interface mapping test by changing the source by making it 0 to unbounded and on the target I have same message type.

This test was successful.I went ahead with the creating the scenario .I used a file adapter for picking up a file. The message monitor shows it is picked it and sent to the bpm.

but the bpm part failed I checked in bpe monitor.It just says the mapping failed(transformation step).prior to which there is a receive step and container operation step which I used it for append the message .these are under a block and this block has a infinite loop for collecting the messages.There is a exception thrower(control step) which is for 2 minutes.this handled by a exception handler.and I guess my file was collected and send to the transformation step after this.but the thing is it never seems to appended since the two files are shown as two seperate error messages in transformation rather than as single ...

Can somebody tell what could be the problem/where to look for the file.

THnks

Accepted Solutions (0)

Answers (10)

Answers (10)

Former Member
0 Kudos

I am getting more and more sure that the problem is at the block entry only...becoz i checked with direct entry to loop with a counter as loop breaker.it entered the loop and added the lines to the message with multiple lines.and once it hit the counter it came out and did the transformation successfully and sent it to the target system.

when i add the block it fail right at the block entry for the first message after that all the messages show the green flag clicking on pe would show an empty queue...

I guess the only step happening before the block is the correlation key creation i amn't sure if this is giving some problems..

NOW FOR THE BPM Steps....

1.I created the correlation key.

2.I put the block for the block i added the correlation key and exception name.

3.I put the exception branch and the deadline branch

4.on the exception branch i put the name of the exception to be handled.

5. on the deadline branch i put a 2 minute duration

6.within the deadline branch i put the control which throws the exception...

7.i added a loop to the block which is 1 = 1.in that there is a recieve step

8.after that there is container operation which adds the message to the list...

9.followed by outside the block i have a transformation and send steps..

10.the block is in default mode.

I tried creating the scenario completely again and again with different datatype etc to avoid the cache problem + workflow item locked problem...

but no luckk

THNks

Former Member
0 Kudos

victoria,

THnks for your suggestion.I still could not make it out.since it would n't enter the block.there is no trace to see why it is not getting into .but i guess it must be some thing to do with the correlation id.and all the messages that come after that have the green flag.

but i did try with the loop with the counter = 2.it worked!!! i was able to collect the items and sent it out.

so i am not sure if have to put a receive step befor the block .....one more interesting thing was even with the loop it would be green flag for a while before it would turn to clock...waiting to collect others(2 of them).but in the block i guess it keeps waiting ....any thoughts...

THnks

moorthy
Active Contributor
0 Kudos

If u have a green flag, then it is scheduled. That's the reason I told you to check with SMQ2 Transaction.

Can you give me your BPM steps designed..

Also try to reimport the BPM into Integrtaion Directory and run the scenario.

Then go to Transaction SXI_CACHE and chheck the Return code against the Integrtaion Process.

Regards,

Moorthy

Former Member
0 Kudos

Hi

You can go to sxmb_adm transaction code and activate the queue so that messages in scheduled in queue will be activated and after that if u refresh ur sxmb_moni u can see the status flag is changed.

Thanks

Victoria.

Former Member
0 Kudos

Hi

First of all whenever you are making changes in integration process you hav to import it to Integration Configuration Builder again , have to delete the workflow using SWWL Transaction code. Then check the cache whether its updated there.In technical details check the container contents and check whether your transformation receive steps has required no. of messages in and messages out.If error is like Call_Transformation cannot be execute or somethin like tat then problem may be with ur namespace. Because i faced the similar problem and when i created under new software component version its workin for me.

let me know whether it helps u out or not.

Regards

Victoria.

Former Member
0 Kudos

"First go to Transaction SWWL and try to delete all the errored entries."

There are no entries in there.Probably somebody had deleted it

"Try to activate the BPM and check for syntaxt errors (with F7 button)and run the interface. then go to SXI_CACHE and check the Return code."

I activated it there are no syntax error .I checked sxi_cache it shows 0 return code which i guess is good.

"Correlation Id (the value should be same for the all the values)"

I don't understand this.Since there can be multiple messages coming I want to group all the zipcodes of the same numbers to be combined into one .so that there are different files for files for different zipcodes.

>>>For this go to transaction SMQ2 in XI and check the staus.

I checked in SMQ2...there is nothing in there...

THnks

Former Member
0 Kudos

Hi,

<i>"Correlation Id (the value should be same for the all the values)"</i>

Since you have specified a correlation, all these messages will have the same queue id in the sxmb_moni entry.

Since there is nothing in smq2 (inbound queue) that means, that your message is either deleted or it has completed successfully.

Click on the PE entry in sxmb_moni. Does it take you to the technical details of the BPM? If it takes you to the empty queue, that means the message has been deleted.

Regards,

Smitha.

Former Member
0 Kudos

To give you an idea of the problem I am using the same scenario as in sap eg for time bound merging.except that I want to collect the items in each of the message and keep adding it to the items of the final message for 5 minutes and sent this out.

I guess the problem is at the correlation .The first time it comes in there is a failure at the block step.After that whatever messages(the same file is copied into the ftp folder) that comes has a green flag(message scheduled on outbound side)at the receiver end and I don't know where it is went???

When i went to diagonise process with errors in sxmb_moni_bpe for the first message and see the container values in them In the payload I just see the correlation key alone existing in that.

I amn't sure if I am missing something.

And hope some body is listening to my story...:)

THnks

moorthy
Active Contributor
0 Kudos

Hi,

1) First go to Transaction SWWL and try to delete all the errored entries.

2) Try to activate the BPM and check for syntaxt errors (with F7 button)and run the interface. then go to SXI_CACHE and check the Return code.

3) Correlation Id (the value should be same for the all the values)

<i>(message scheduled on outbound side</i>

>>>For this go to transaction SMQ2 in XI and check the staus.

Hope this helps,

regards,

Moorthy

Former Member
0 Kudos

This is the error log I got from the PE-> Technical detail of the container/workflow log

Error when executing work item '000000001201'

Error during result processing of work item 000000001202

Notification of completion cannot be generated

Problems occurred when generating a mail

Error '9' when calling service 'SO_OBJECT_SEND'

Work item 000000001200: Object FLOWITEM method EXECUTE cannot be executed

Error when executing work item '000000001201'

Could it be the problem with the workflow...

or could it be the correlation(I just gave it as some field name in the message being collected).

Guess I am giving the right info to track the error..

THnks

Former Member
0 Kudos

I must first admit this is a very active and a helpful forum.Thankyou guys & gals..

first,

I test the mapping in IR it worked fine.YES I did change the source to 0 to unbounded .So it did put the message,message1 header.I was able to get the test succesful on the interface mapping as well as the messsage mapping.

I just made a similar sample for time bound collection as mentioned in the eg given by SAP.

I improved little bit on the earlier failure.I found that the block is never hit since I had given the 1=0 for entering the blocking.so that is the reason i saw 2 message handled seperately.now I have changed it 1 = 1 and exception thrown at 2 minute to come out of the block.but still I am having an error.

this time the workflow editor show right at the block (no agent)Error.

My question will is there some kind of method to see what is going in/trace of the whole thing.In case of mapping I guess we can use the mapping trace by the container.

and what could be the possible error...

THnks

STALANKI
Active Contributor
0 Kudos

Chinna ....Get the source XML before transformation step and paste it in IR and check the mapping and paste the error..here so that we can help...Are u able to get the message as root node?also check the sample BPM and message mapping in SAP BASIS SWCV .

Shabarish_Nair
Active Contributor
0 Kudos

Chinna once you are done with the checks suggested by others i would recommend you to also do a final check as mentioned in this weblog.

/people/shabarish.vijayakumar/blog/2005/12/07/transformation-error-and-still-stuck

ShaBZ

Message was edited by: Shabarish Vijayakumar

Former Member
0 Kudos

Hi,

<i>It just says the mapping failed(transformation step)

and I guess my file was collected and send to the transformation step after this.but the thing is it never seems to appended since the two files are shown as two seperate error messages in transformation rather than as single ...

</i>

The mapping has failed, when you were trying to merge the two messages into a single message.

<i>I was able to do the message mapping/interface mapping test by changing the source by making it 0 to unbounded and on the target I have same message type.</i>

Make sure that the target MT has occurence of 0..1 or 1..1

Regards,

Smitha

moorthy
Active Contributor
0 Kudos

Hi,

Quick Steps-

1) Check your N:1 Mapping Program- Are you able to test it in the Test tab of the Mapping Editor. For this , input can be taken from SXMB_MONI . I think error is in your N:1 Interface mapping..

Your message mapping should N occurence of messages in the source side and 1 occurence of the message in the target side.

And in your interface mapping also , you need to change the occurence..

Go to BPM and check for Syntax errors by clicking on F7 button

2) Check all the messages in the BPM steps ( for this go to SXMB_MONI->PE->Technical details.. Also check the each values in the container

Hope it helps,

Regards,

Moorthy

Former Member
0 Kudos

Hi Chinna,

There is an example of coolect BPM based on time in the SAP BASIS SWCV.

BpmPatternCollectTime.

The same is explained in the help: http://help.sap.com/saphelp_nw04/helpdata/en/08/16163ff8519a06e10000000a114084/content.htm

Just have a look if you are missing out on something.

Regards

Vijaya