Format/length: | I4 |
The system function
POS(field-name)
contains the internal
identification of the field whose name is specified with the system
function.
POS(field-name)
may be used to
identify a specific field, regardless of its position in a map. This means that
the sequence and number of fields in a map may be changed, but
POS(field-name)
will still uniquely
identify the same field. With this, for example, you need only a single
REINPUT
statement to make the field to be MARK
ed
dependent on the program logic.
Example:
DECIDE ON FIRST VALUE OF ... VALUE ... COMPUTE #FIELDX = POS(FIELD1) VALUE ... COMPUTE #FIELDX = POS(FIELD2) ... END-DECIDE ... REINPUT ... MARK #FIELDX
If the field specified with POS
is an array, a specific
occurrence must be specified; for example, POS(FIELDX(5))
.
POS
cannot be applied to an array range.
The system function
POS(field-name)
may be used in
conjunction with the Natural system variable
*CURS-FIELD
to make the execution of certain functions dependent on which field the cursor
is currently positioned in.
*CURS-FIELD
contains the internal
identification of the field in which the cursor is currently positioned; it
cannot be used by itself, but only in conjunction with
POS(field-name)
. You may use them to
check if the cursor is currently positioned in a specific field and have
processing performed depending on that condition.
Example:
IF *CURS-FIELD = POS(FIELDX) MOVE *CURS-FIELD TO #FIELDY END-IF ... REINPUT ... MARK #FIELDY
Notes:
*CURS-FIELD
and
POS(field-name)
serve only as internal
identifications of the fields and cannot be used for arithmetic operations.
POS(field-name)
for an occurrence of an
X-array (an array for which
at least one bound in at least one dimension is specified as expansible) may
change after the number of occurrences for a dimension of the array has been
changed using the EXPAND
,
RESIZE
or
REDUCE
statements.
*CURS-FIELD
and
POS(field-name)
refer to a context
variable, the resulting information can only be used within the same
conversation.
*CURS-FIELD
identifies the operand that represents
the value of the control that has the input focus. You may use
*CURS-FIELD
in conjunction with the
POS
function to check for the control that has the input focus and
perform processing depending on that condition.
See also Dialog Design, Field-Sensitive Processing and Simplifying Programming in the Programming Guide in the Programming Guide.