Understanding recursive validation against an object graph

Recursive validation is a pre-defined function that applies only to fixed type data.

Recursive validation, which is defined in the V_FUNCTION table, can be used to traverse through a tree structure object graph.
V_FUNCTION table data
Assuming that the PartyAddress object contains an address child object, the following show the V_ELEMENT table description for this relationship. PartyAddress contains several elements. One element is named as TCRMAddressBObj, which is an address type object. The other elements are simple elements of type string. The address object contains its own elements as well.
V_ELEMENT table data
more V_ELEMENT table data

When the PartyAddress is processed by the validation engine, the validation engine loops through each element of the PartyAddress object and looks for any element validation defined for these elements. However the validation engine does not loop through the elements of any child objects within PartyAddress for element validation, nor does it check the group validation definition for the child object.

If you want to validate a child object within PartyAddress, or check the group validation definition for a child object, you must make the validation definition recursive, as shown in the following V_ELEMENT_VAL table. Then validation engine will then loop through the elements of this child object for element validations and check group validation for the child object.
V_ELEMENT_VAL table data

Be careful not to define recursive validation for an element unless it is necessary. If recursive validation is used in too many elements in an object graph, it can impede performance.