This what I use to insure that all children are closed before I can close the parent. The function is run in the validation hook of the close action dim children dim child dim childEntity dim stateValue dim session dim carnum Dim value_info Dim OrigState set session = GetSession value_info = GetFieldValue("official_cpr").GetValue() OrigState = GetFieldOriginalValue("state").GetValue() If value_info = 1 and OrigState = "SMEAPP" then CPR_Validation = "Must be an UnOfficial CPR To Close this CPR at this time, Use RSPCOM for an Offical CPR" End If children = GetFieldValue("cpr_car_child").GetValueAsList If isempty(children) = false Then for each child in children set childEntity = session.GetEntity ("CARs", child) stateValue = childEntity.GetFieldValue("state").GetValue carnum = childEntity.GetFieldValue("car_number").GetValue ' check open states if stateValue = "SUBM" then CPR_Validation = "Child record " & carnum & " has to be in 'Closed' state before parent CPR can be closed" elseif stateValue = "ASMT" then CPR_Validation = "Child record " & carnum & " has to be in 'Closed' state before parent CPR can be closed" elseif stateValue = "OREV" then CPR_Validation = "Child record " & carnum & " has to be in 'Closed' state before parent CPR can be closed" elseif stateValue = "SCHD" then CPR_Validation = "Child record " & carnum & " has to be in 'Closed' state before parent CPR can be closed" elseif stateValue = "UNSC" then CPR_Validation = "Child record " & carnum & " has to be in 'Closed' state before parent CPR can be closed" elseif stateValue = "IMPL" then CPR_Validation = "Child record " & carnum & " has to be in 'Closed' state before parent CPR can be closed" elseif stateValue = "TEST" then CPR_Validation = "Child record " & carnum & " has to be in 'Closed' state before parent CPR can be closed" elseif stateValue = "ECO" then CPR_Validation = "Child record " & carnum & " has to be in 'Closed' state before parent CPR can be closed" end if next End if End Function