NOTIFY

[attributename := ] NOTIFY( event [, parm ] [, expression ] )

attributenameOptional. The identifier for this action.
eventThe EVENT function, or a case-insensitive string constant naming the event to generate.
parmA case-insensitive string constant containing the event's parameter as either a single asterisk ('*') or an XML string beginning and ending with "Event" tags and user-defined tags within those to contain the specific extra information to pass along with the event.
expressionOptional. A case-insensitive string constant allowing simple message passing, to restrict the event to a specific workunit.

The NOTIFY action fires the event so that the WAIT function or WHEN workflow service can proceed with operations they are defined to perform.

The expression parameter allows you to define a service in ECL that is initiated by an event, and only responds to the workunit that initiated it.

Example:

doMyService := FUNCTION
  O := OUTPUT('Did a Service for: ' + 'EVENTNAME=' + EVENTNAME);
  N := NOTIFY(EVENT('MyServiceComplete',
                    '<Event><returnTo>FRED</returnTo></Event>'),
                    EVENTEXTRA('returnTo'));
  RETURN WHEN(EVENTEXTRA('returnTo'),ORDERED(O,N));
END;
OUTPUT(doMyService) : WHEN('MyService');

// and a call (in a separate workunit):
NOTIFY('MyService',
       '<Event><returnTo>'+ WORKUNIT + '</returnTo></Event>');
WAIT('MyServiceComplete');
OUTPUT('WORKUNIT DONE')

See Also: EVENT, EVENTNAME, EVENTEXTRA, CRON, WHEN, WAIT