xpfAddToAggrIfNotInAggr
Â
FUNCTION xpfAddToAggrIfNotInAggr (aggr : AGGREGATE OF GENERIC; elementValue : GENERIC) inserted : BOOLEAN;
Use this function to add (or append) the given 'elementValue' to the specified aggregate 'aggr' if the aggregate does not have an element with the same value.
Arguments
Type | Name | Comment |
AGGREGATE OF GENERIC | aggrId | Any aggregate type except ARRAY. The aggregate elements data type must be compatible with the data type of the argument 'elementValue'. If the aggregate is a LIST, the actual 'elementValue' will be appended to the list. |
GENERIC | elementValue | The value to add to the aggregate if the actual value does not exist in the aggregate. The 'elementValue' can be any of the following data types: sdaiINSTANCE, sdaiINTEGER, sdaiREAL, sdaiSTRING and "typed value" of sdaiINTEGER, sdaiREAL, sdaiSTRING |
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.
Â