$FieldgroupOccurrence: Difference between revisions
m (→Usage notes) |
m (→Usage notes) |
||
Line 24: | Line 24: | ||
<p class="code">Begin | <p class="code">Begin | ||
... | |||
example1: feo fieldgroup Foo | example1: feo fieldgroup Foo | ||
Line 29: | Line 30: | ||
%code = Foo.CODE | %code = Foo.CODE | ||
%text = Foo.TEXT | %text = Foo.TEXT | ||
<s>%occurrence = $fieldGroupOccurrence</s> | |||
%occurrence = occurrence in example1 | %occurrence = occurrence in example1 | ||
end for | end for | ||
... | |||
End | End | ||
</p> | </p> |
Revision as of 16:39, 13 December 2013
This function returns the current occurrence number of the field group. If the current field group has been deleted, $FIELDGROUPOCCURRENCE returns 0.
$FIELDGROUPOCCURRENCE is available as of Model 204 version 7.5.
Syntax
%num = $FIELDGROUPOCCURRENCE
Example
FOR EACH OCCURRENCE OF FIELDGROUP REDSOX PRINT $FIELDGROUPOCCURRENCE CALL CHANGINGPROC PRINT $FIELDGROUPOCCURRENCE END FOR
This example might print a different value before and after calling the CHANGINGPROC procedure, if that procedure inserted or deleted the field group occurrence before the current one.
Usage notes
- In a large record, $FIELDGROUPOCCURRENCE is expensive. It intentionally scans from the start of the record, in case there were additions or deletions of the fieldgroup.
For example, say that a record being processed in an FEO FIELDGROUP loop has thousands of occurrences of a fieldgroup. In this case, invoking $FIELDGROUPOCCURRENCE for each iteration of the loop will be prohibitively expensive, and you can save significant processing resources if you label the FEO loop and substitute a simple
OCCURRENCE IN label
statement for the $FIELDGROUPOCCURRENCE statement:Begin ... example1: feo fieldgroup Foo %id = Foo.ID %code = Foo.CODE %text = Foo.TEXT
%occurrence = $fieldGroupOccurrence%occurrence = occurrence in example1 end for ... End