FUNCTION cc_design_person_and_organization_correlation
(e : cc_design_person_and_organization_assignment) : BOOLEAN;
LOCAL po_role : STRING; END_LOCAL; po_role := e\person_and_organization_assignment.role.name; CASE po_role OF 'request_recipient' : IF SIZEOF (e.items) <> SIZEOF (QUERY (x <* e.items | SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM.' + 'CHANGE_REQUEST', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM.' + 'START_REQUEST'] * TYPEOF (x)) = 1)) THEN RETURN(FALSE); END_IF; 'initiator' : IF SIZEOF (e.items) <> SIZEOF (QUERY (x <* e.items | SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM.' + 'CHANGE_REQUEST', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM.' + 'START_REQUEST', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM.' + 'START_WORK', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM.' + 'CHANGE'] * TYPEOF (x)) = 1)) THEN RETURN(FALSE); END_IF; 'creator' : IF SIZEOF (e.items) <> SIZEOF (QUERY (x <* e.items | SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM.' + 'PRODUCT_DEFINITION_FORMATION', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM.' + 'PRODUCT_DEFINITION'] * TYPEOF (x)) = 1)) THEN RETURN (FALSE); END_IF; 'part_supplier' : IF SIZEOF (e.items) <> SIZEOF (QUERY (x <* e.items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM.' + 'PRODUCT_DEFINITION_FORMATION' IN TYPEOF (x))) THEN RETURN(FALSE); END_IF; 'design_supplier' : IF SIZEOF (e.items) <> SIZEOF (QUERY (x <* e.items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM.' + 'PRODUCT_DEFINITION_FORMATION' IN TYPEOF (x))) THEN RETURN(FALSE); END_IF; 'design_owner' : IF SIZEOF (e.items) <> SIZEOF (QUERY (x <* e.items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM.PRODUCT' IN TYPEOF (x))) THEN RETURN(FALSE); END_IF; 'configuration_manager' : IF SIZEOF (e.items) <> SIZEOF (QUERY (x <* e.items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM.' + 'CONFIGURATION_ITEM' IN TYPEOF (x))) THEN RETURN(FALSE); END_IF; 'contractor' : IF SIZEOF (e.items) <> SIZEOF (QUERY (x <* e.items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM.CONTRACT' IN TYPEOF (x))) THEN RETURN(FALSE); END_IF; 'classification_officer' : IF SIZEOF (e.items) <> SIZEOF (QUERY (x <* e.items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM.' + 'SECURITY_CLASSIFICATION' IN TYPEOF (x))) THEN RETURN(FALSE); END_IF; OTHERWISE : RETURN(TRUE); END_CASE; RETURN (TRUE); END_FUNCTION; -- cc_design_person_and_organization_correlation
|