I have always tried to understand how SAP handles displaying messages within GUI and more importantly on Web UI of SAP CRM. different ways of presenting messages to the user and how they all come together from so many different places in the code – APIs, Genil Classes, Presentation Layer. At times, it becomes challenging to find the code where a message is getting generated from, we may have requirements where we want to delete a standard message. It is very common that we don’t follow IF 1 = 2 pattern in our custom code or it is not used even in standard at most places where messages are added to entity or global messages container to get where-used list.
I have tried to summarize most of what I have learnt the hard way into an article and posted on SDN. I hope it would help larger community and make life easier for us developers.
Below is the link for article: