Symbolic indexes — APPEND, CURRENT, INSERT, LAST, and PREPEND
Symbolic indexes — APPEND, CURRENT, INSERT, LAST, and PREPEND
Use keywords to identify certain elements of aggregate properties.
<APPEND>
index
To add an element to the end (highest index value) a
Value List
or
Page List
property, use the
<APPEND>
index
keyword:
.Months(<APPEND>) | "March" |
This keyword is meaningful only in target property references, not expressions.
This keyword can be used only as a index or superscript
<LAST>
index
To set or retrieve an element value from the end (highest index value) of a
Value
List
or
Page List
property, use the
<LAST>
index keyword.
For example, this sets the value of the highest numbered element in the Month
Value List
property:
.Months(<LAST>) | "December" |
Similarly, this sets the LoanAmount value in the highest-numbered LoanApplication page:
.LoanApplications(<LAST>).LoanAmount | "3000" |
This keyword can be used only as a index or superscript
<INSERT>
index
Use the
<INSERT>
keyword followed by an integer to insert a new
element and its value into a
Value List
or
Page List
property at a numeric index position. Any elements with the same or higher index value are
"pushed down" by one.
This keyword can only be used in target property references, not expressions. You can use a literal number for the index:
.Months(<INSERT>2) | "FunMonth" |
or a numeric property reference for the index:
.myCounter | 1 |
.Months(<INSERT>MyPage.myCounter | "New Year starts here." |
If the integer is equal to the size of the list, or greater by one, the new value is inserted as a new last element. If the integer is larger than the size of the list by 2 or more, an exception is created.
This keyword can be used only as a index or superscript.
<PREPEND>
index
Use the
<PREPEND>
keyword to insert a new element and its value
into a
Value List
or
Page List
property as the first
element. All existing elements are "pushed down" by one.
This keyword can only be used in target property references, not expressions.
This keyword can be used only as a index or superscript.
<CURRENT>
index
The use of the
<CURRENT>
keyword differs depending on where it is
used.
See
Obtaining a property value of a page list or page group property
for examples of
using the
<CURRENT>
keyword.
Activities and data transforms
When
<CURRENT>
is used as a subscript rather than a standalone
reference, the following apply.
-
<CURRENT>
can be used within a repeat block to refer to the current repeat element. -
For a repeat type of
For Each Embedded List
,<CURRENT>
refers to theClipboardPage
of the current iteration: for example, when used in an RUF call that takes aClipboardPage
parameter or on the right side of a property set when the target is a page (when you add to a page list using.list(<append>)
). -
<CURRENT>
can be used within the precondition and transition elements of a step that also includes a repeat element to evaluate the current element of the repeat block. -
Within a nested step that does not have a repeat element,
<CURRENT>
inherits the semantics of its parent step that does have a repeat element. -
<CURRENT>
can appear in the Expression Builder for the Target field of a Property-Set (within a repeat block); the keyword will refer to the current element’s property so that it can receive the new value. -
For the Property-Set-Messages activity method,
<CURRENT>
is equivalent to myStepPage . -
<CURRENT>
can appear in the Expression Builder for the Source field of the Property-Ref activity method.
When
<CURRENT>
is used as a index or superscript, the index of the
current element of a
For Each Element
in a
Value List
or
For Each Element
in a
Value Group
or
For Each
Embedded Page
.
Parameters in Rule-Utility-Function
-
<CURRENT>
cannot be used with a formal parameter of ClipboardProperty. -
<CURRENT>
can be used with a formal parameter of ClipboardPage to pass the current clipboard page of an iteration over (embedded) pages -
<CURRENT>
can be used with a formal parameter of typeString
to pass the current value of a scalar property when iterating over a value list or group or the subscript of the current iteration element.
ClipboardProperty references
-
Using the keyword
<PARENT>
or<TOP>
with the<CURRENT>
keyword is especially useful in, but not limited to, declarative rules, such as Rule-Declare-Expression. -
You can use
<CURRENT>
in declarative rules (specifically when there is a declarative target present).