Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

mmpur_message instruction and debug

Former Member
0 Kudos

Hi,

Concerning the option to develop message with instruction mmpur_message, we have some problem to find a message.

To explain : our customer have a message error. We have the ID and the number.

But we can't found it (where-used list and simple debug /h).

My question is : how can we find the include / program / function module where's this message is coded with this instruction sort - not considered as a statement in debug mode ?

We've tried to use program RPR_ABAP_SOURCE_SCAN but it didn't find anything with string mmpur_message. We are in version 46C.

Thanks,

Béatrice.

7 REPLIES 7

Former Member
0 Kudos

Hi,

Why don´t you try the other way.

If you can´t find it..put a break point in the include MM_MESSAGES_MAC in macro mmpur_message.

Then you could see where the message is built.

0 Kudos

Hi,

Thanks for the answer.

Unfortunatly, it doesn't work too ...

For information, it's transaction ME52N for purchasing requisition. Maybe helpful ... or not ?

Béatrice.

0 Kudos

Hi Support,

this is always difficult, the more as you do not give us the message ID TYPE NUMBER.

You can do it the hard way: Set a dynamic break-point at statement MESSAGE and step over all unrelated messages. When it comes to your message, check call hierarchy and reason.

Regards,

Clemens

0 Kudos

Hi Clemens,

The problem is most complicate : it's a specific message coded by an old team with no traces and we don't know where ...

Putting a breakpoint on 'message', we directly go to the program LMEREQF05, line with this statement :

mmpur_message_forced ls_message-type ls_message-id

ls_message-number

ls_message-message_v1

ls_message-message_v2

ls_message-message_v3

ls_message-message_v4.

The message is before this statement and we don't stop on it.

Thanks,

Béatrice.

Edited by: SC Support Team UNISUP on Jan 26, 2011 3:35 PM

0 Kudos

Is this a Custom message type? and if not, are you 100% sure it is not caused by Standard SAP code?

I am guessing you searched with MMPUR and you did not find your custom object...

Identify all the Requisition customer exits in 4.6c and go through the code... you can look in SDN to find out the exits associated with requisitions

Assuming it is a custom message type and it is not standard SAP code, I would search all my 'Z' objects for my message number (assuming that you have the message number)... You may get a huge result set, but object names should be meaningful and u should be able to parse through this list very quickly...

If you are still unable to find it, then i would get my hands dirty... Assuming u can consistently reproduce this error, i would debug ... one place where you can put a breakpoint is cl_message_mm-Create method and check if your code hits this method with your message id and number... If it hits this method your job is almost half done.. you can look at call stack to see if you can find an object or at least identify which FM or method call is causing the error... then you can debug that method call and FM step by step to find the error...

If this method is also not hit, then it just comes down to sheer patience, luck and some skill with debugging to find out.. All the best

Former Member
0 Kudos

maybe not what you're asking, but I go to message maintenance, enter the class, find the number and do where used... There are messages that have dynamic number assignment and so is more difficult to find these, but I usually find my problem code or data values by setting a break point at every where-used hit and debugging my program/transaction.

Former Member
0 Kudos

Finally, we find the message trhough an entire debug in standard programs ... it was worse than planned : the message is inserted in a BAPI table awaiting to be raise by the standard instruction.

Thanks for all your answers.

Béatrice.