(* 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
2020-07-28T17:02:19-04:00