Understanding internal validation process

Internal validation uses validateAdd and validateUpdate methods defined (or inherited) for each business object. These methods normally check that such required values as foreign keys and party-IDs exist in the business object.

For example, the TCRMPersonBObj component has a validateUpdate() method that contains a number of validation checks, such as the following code that verifies that the last update date field is not null:

if(eObjPerson.getLastUpdateDt() == null) {
  DWLError error_u3 = new DWLError();
  error_u3.setComponentType(new Long(TCRMCoreComponentID.PERSON_OBJECT).
       longValue());
  error_u3.setReasonCode(new Long(TCRMCoreErrorReasonCode.LAST_UPDATED_DATE_NULL)
       .longValue()); error_u3.setErrorType(TCRMErrorCode.FIELD_VALIDATION_ERROR);
  status.addError(error_u3);