When creating a new appointment, the UI fields Account and Contact are marked as mandatory fields.
After entering the Account, the partner determination runs. If there is only one contact person determined, field Contact is filled automatically based on customizing settings. However, the error from mandatory field check is still there. The error will be cleared if the ‘ENTER’ key is pressed.
It is a standard system behavior. In this case, the mandatory field check runs first, then the partner determination runs to determine the contact person. The system needs a ‘trigger’ to restart the mandatory field check, because it is hard for the system to know when the UI fields input are finished completely.
However, the end user does not accept the system behavior. Because they think it is strange that the error is still there since the field is already filled. And if there are more than one contact person found, there is no such problem after selecting the contact person from the partner selection pop up.
To by pass the issue, I could think about 2 work arounds:
1. Customizing change.
In the used partner determination procedure, set 1 to ‘Selection Limit’ for partner function ‘Contact Person’.
After that, there will also be a selection pop up when there is one contact person found. And the error ‘Make an entry in field’ will be removed after selecting the contact person.
2. Enhance the UI to delete the error message once the contact person is filled.
Add a check against the contact person value in the get_* method. Once the contact person value is filled, delete the error message BSP_WD 022 for the contact person from CL_BSP_WD_MESSAGE_SERVICE’s MESSAGE_TAB and BSP_MESSAGES.
I prefer the customizing change. Or convincing the customer to accept the standard system behavior, since the error is a temporarily displayed only. The UI enhancement may cause additional problem, and it is not supported by system upgrade.
What is your choise? Customizing or Enhancement?