attribute := expression : CHECKPOINT( name ) ;

attributeThe name of the Attribute.
expressionThe definition of the attribute.
nameA string constant specifying the storage name of the value.

The CHECKPOINT service stores the result of the expression in the workunit so it remains available if the workunit fails to complete, and is automatically deleted when the job completes successfully. This is particularly useful for attributes based on large, expensive data manipulation sequences. This service implicitly causes the attribute to be evaluated at global scope instead of any enclosing scope.

However, CHECKPOINT is only useful when the unsuccessful workunit is resubmitted through ECL Watch; if a new workunit is instantiated, CHECKPOINT has no effect. The PERSIST service is more generally useful.


CountPeople := COUNT(Person) : CHECKPOINT('PeopleCount');
       //Makes CountPeople available for reuse if
       // the job does not complete