(* SCHEMA step_merged_ap_schema; *)
-- IN AP232
RULE exchange_reason_existence_required FOR (property_definition );
LOCAL
dri : descriptive_representation_item;
prpd : SET OF property_definition;
repi : representation;
result : BOOLEAN := TRUE;
prdr : BAG OF property_definition_representation;
END_LOCAL;
prpd := property_definition;
REPEAT i := 1 TO SIZEOF(prpd) BY 1;
IF prpd[i].name = 'data definition exchange header' THEN
result := FALSE;
prdr := USEDIN(prpd[i], 'STEP_MERGED_AP_SCHEMA.' + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION');
REPEAT j := 1 TO SIZEOF(prdr) BY 1;
repi := prdr[j].used_representation;
IF NOT (repi.name = 'exchange reason') THEN
ESCAPE;
ELSE
REPEAT k := 1 TO SIZEOF(repi.items) BY 1;
IF 'STEP_MERGED_AP_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(repi.items[k]) THEN
dri := repi.items[k];
IF (dri.name = 'exchange purpose') XOR (dri.name = 'base exchange reason') THEN
result := TRUE;
ESCAPE;
END_IF;
END_IF;
END_REPEAT;
END_IF;
END_REPEAT;
END_IF;
END_REPEAT;
WHERE
wr1:
result;
END_RULE;
Generated by STEP Tools® EXPRESS to HTML Converter
2025-09-04T17:14:54-04:00