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.
POS22 - Version 2.2 Algorithm for POS System Function in the Parameter Reference.