cancel
Showing results for 
Search instead for 
Did you mean: 

Incompatible object keys.

Former Member
0 Kudos

I am trying to create an event on the status change of an Appropriation Request.

I get the following error message

"Status object and business object keys incompatible"

I am using status object IQ0 and business object BUS2204.

How do I go about creating this starting event for my workflow?

Am I using the correct object types?

(I know BUS2104 used to be used for Appropriation request and it had the "to be approved" event that I need, but I see that BUS2104 has been set to Obsolete.)

Regards

Gerda

Accepted Solutions (1)

Accepted Solutions (1)

pokrakam
Active Contributor
0 Kudos

Hi Gerda,

You don't mention the version you're on - particularly useful if you're talking about obsolete things.

However, I think in this case it's pretty straightforward: Use BUS2204. In 4.7 you will have to subtype it (remember to delegate) and create your own events.

Have fun,

Mike

Former Member
0 Kudos

Hi Mike

Thank you for your reply.

We are on version 6.4.

I did create a subtype - ZBUS2204 and created the event ToBeApproved, I have delegated it.

I then went to transaction BSVX to try and create the entries (as explained in my original message) and to maintain the status restrictions so that the event will only be created on the specified status.

I am not sure if this is what I should have done?

Gerda

pokrakam
Active Contributor
0 Kudos

Hi Gerda,

Yes, you did say you were already using BUS2204... I only paid attention to the BUS2104 bit at the end. My apologies, I must really learn to read the whole message properly

What you have done is absolutely correct, however the keys are different between the two object types. I would suggest you query this one with OSS - either they shouldn't make something obsolete which developers are still forced to use, or the SM object should be updated (or a new one created). I vaguely remember CRM has a few 'extras' in status management to deal with this type of stuff.

A temporary and very unofficial workaround if you really need to get on with things while OSS get back to you:

Check the contents of the Appropriation Request table - it contains the two id fields used by the two objects. IF they have the same contents, go to the BSVX input screen, enter IQ0/BUS2204 debug with /h, hit save and bypass the check - not too hard to debug, it pokes around the object definitions and data dictionary and compares the data types I think, just change sy-subrc back to 0. It will save and work as long as both ID fields contain the same data. Shout if you get stuck, I've done it before (as if you couldn't tell, but with different objects) and can find the exact spot again quite quickly if you need.

If the field contents don't match, you may have to stick with BUS2104... perhaps create a subtpye and have the 2204 obj as an attribute and vice versa. But I would defo wait to see what OSS have to say.

Hope that helps,

Mike

Answers (0)