Sent: Thursday, June 21, 2012 10:11 PM
hen you click insert button, an new empty partner entity will be created:

FF0602010102800034313033000000000100000000000A000000360300000000000000000000000000000000000000004B0045005900BC0000000A440075006D006D007900BD04
1 why there are two object ID before and after object being handled?
Because the two object ID are determined from different key, in this case 11 ( before handled ) and dummy ( aft
2 why when inserting a new line in party involved AB, the framework wants to check whether where are error messages for this object ID, and make sure there are none?
No, CL_CRM_UIU_IBASE_TOOL~CHECK_ERROR_MESSAGES will NEVER be called by framework, instead by our own code in save and insert case.
Solution
From my point of view it is not necessary to do check in insert case. If we remove line 25 everything will work. I have successfully tested it in debugger.
We are still safe after removing it since check logic still exists in save.