Sent: Thursday, June 21, 2012 10:11 PM
hen you click insert button, an new empty partner entity will be created:
The initial key for this new entity is an internal handle maintained by BOL Entity manager.
this handle will be used to populate object id, which is what you observed before handled.
object ID: FF06020101028000343130330000000001080000000004000000300300000000000000000000000000000000000000004B0045005900BC0000000408000000BD04
after you maintained for example 3271 and click enter:
since now you have not click save, so this partner is not persistent, still the object ID is determined via “dummy” key.
Now the is_handled flag is empty.
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.