(* SCHEMA technical_data_packaging; *)
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],'TECHNICAL_DATA_PACKAGING.' +
'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 'TECHNICAL_DATA_PACKAGING.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; -- exchange_reason_existence_required
Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:18:35-04:00