(* SCHEMA step_merged_ap_schema; *)
-- IN AP232 RULE data_definition_entry_string_restrict_for_superseded_element FOR (product_definition ); LOCAL pdca : BAG OF product_definition_context_association; result1 : BOOLEAN; result2 : BOOLEAN; found : BOOLEAN; pd : SET OF product_definition; pdf : product_definition_formation; pdc : product_definition_context; END_LOCAL; result1 := TRUE; result2 := TRUE; pd := product_definition; REPEAT i := 1 TO SIZEOF(pd) BY 1; found := FALSE; pdca := USEDIN(pd[i], 'STEP_MERGED_AP_SCHEMA.' + 'PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION'); REPEAT j := 1 TO SIZEOF(pdca) BY 1; pdc := pdca[j].frame_of_reference; IF pdc\application_context_element.name IN [ 'document version', 'a representation of a document version', 'data definition entry', 'indentured data list entry' ] THEN found := TRUE; END_IF; END_REPEAT; IF found THEN IF SIZEOF(QUERY (pdr <* USEDIN(pd[i], 'STEP_MERGED_AP_SCHEMA.' + 'PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION')| (pdr.name = 'superseded element'))) > 1 THEN result1 := FALSE; END_IF; pdf := pd[i].formation; IF SIZEOF(QUERY (pdfr <* USEDIN(pdf, 'STEP_MERGED_AP_SCHEMA.' + 'PRODUCT_DEFINITION_FORMATION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION_FORMATION')| (pdfr.name = 'superseded version'))) > 1 THEN result2 := FALSE; END_IF; END_IF; END_REPEAT; WHERE wr1: result1; wr2: result2; END_RULE;
Generated by STEP Tools® EXPRESS to HTML Converter
2024-09-06T14:00:33-04:00