FUNCTION class_assignment_is_valid
(* SCHEMA Ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies_mim_lf; *)
FUNCTION class_assignment_is_valid
(aia: applied_classification_assignment) : BOOLEAN;
LOCAL
item: classification_item;
role: classification_role;
END_LOCAL;
role:= aia\classification_assignment.role;
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +'CLASS_SYSTEM' IN TYPEOF(aia\classification_assignment.assigned_class)) THEN
IF(role\classification_role.name <> 'class system membership') THEN
RETURN(FALSE);
END_IF;
REPEAT i:=LOINDEX(aia\applied_classification_assignment.items) TO HIINDEX(aia\applied_classification_assignment.items);
item:= aia\applied_classification_assignment.items[i];
IF (SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CLASS_SYSTEM_ITEM'] * TYPEOF(item))=0) THEN
-- item invalid if item does not belong to the types that may have a class_system
RETURN(FALSE);
END_IF;
END_REPEAT;
END_IF;
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +'CHARACTERIZED_CLASS' IN TYPEOF(aia\classification_assignment.assigned_class)) THEN
IF NOT(role\classification_role.name IN ['definitional','non-definitional','']) THEN
RETURN(FALSE);
END_IF;
REPEAT i:=LOINDEX(aia\applied_classification_assignment.items) TO HIINDEX(aia\applied_classification_assignment.items);
item:= aia\applied_classification_assignment.items[i];
IF (SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CLASSIFIED_ITEM'] * TYPEOF(item))=0) THEN
-- item invalid if item does not belong to the types that may have a characterized_class
RETURN(FALSE);
END_IF;
END_REPEAT;
END_IF;
IF
(role\classification_role.name = 'definitional')
THEN
IF NOT
(SIZEOF(QUERY(it <* aia\applied_classification_assignment.items | NOT
(SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION_FORMATION', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION'] * TYPEOF(it)) = 1)
)) = 0 )
THEN
RETURN(FALSE);
END_IF;
END_IF;
RETURN(TRUE);
END_FUNCTION;
Referenced By
Defintion class_assignment_is_valid is references by the following definitions:
[Top Level Definitions] [Exit]Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:14:40-04:00