Hi Shubhranshu,
Short explanation to Q 1. above.
SAP has a standard way of reporting messages back to user. Message templates are stored in message classes (t/a SE91). So, MSGID is Message Class. Custom message classes start form Z.
Each message has a unique numeric ID - message number. So, MSGNO - is message number.
There is a number of message types that SAP supports - E for error, W for warning, etc.
Usually message also has parameters that are &1, &2, etc in the message and VAR1, VAR2, etc when message is called. Alternatively one can use field MESSAGE, but this makes translation much more difficult.
Hope this helps,
Gersh