attribute := expression : FAILURE(handler) [,LABEL(text)];

attributeThe name of the Attribute.
expressionThe definition of the attribute.
handlerThe action to run if the expression fails.
LABELOptional. Defines the Text to display for the workflow item in the Graph for the workunit. If omitted, the code generator will deduce a label from the identifier being defined.
textA string constant containing the text to display.

The FAILURE service executes the handler Attribute when the expression fails. FAILURE notionally executes in parallel with the failed return of the result. This service implicitly causes the attribute to be evaluated at global scope instead of the enclosing scope. Only available if workflow services are turned on (see #OPTION(workflow)).


sPeople  := SORT(Person,Person.per_first_name);
nUniques := COUNT(DEDUP(sPeople,Person.per_first_name AND
                        Person.address)): FAILURE(Email.simpleSend(SystemsPersonel,