FUNCTION xpfAddToAggrIfNotInAggr (aggr : AGGREGATE OF GENERIC; element : GENERIC) inserted : BOOLEAN;
Use this function to add an instance to aggregate if the aggregate does not have an element with the same instance.
xpfAddToAggrIfNotInAggr(aggr, element) for instances and aggregate of instances performs the same as the following statements:
IF NOT (inst IN aggr) THEN aggr ++ inst; END_IF;
Arguments
Type | Name | Comment |
AGGREGATE OF GENERIC | aggrId | aggregate of some instances, that requires to be unique |
GENERIC | instanceId | instance id of new element |
Return Value
Type | Name | Comment |
BOOLEAN | inserted | TRUE if the element was added |
Options
Example
FUNCTION get_unique_references(referred: GENERIC): SET OF GENERIC;
LOCAL
not_unigue_refs : BAG OF GENERIC;
unigue_refs : SET OF GENERIC;
END_LOCAL;
not_unigue_refs := USEDIN(referred,?);
unigue_refs := [];
REPEAT i:=1 TO xpfSizeOf(not_unigue_refs);
IF xpfAddToAggrIfNotInAggr(unigue_refs, not_unigue_refs[i]) THEN
xpxPrintf('\n%s inserted', not_unigue_refs[i].name);
END_IF;
END_REPEAT;
RETURN(unigue_refs);
END_FUNCTION;
See also
Filter by label
There are no items with the selected labels at this time.