| Format/length: | I4 | 
The system function
                       POS(field-name) returns an
                       identification of the field whose name is specified with the system function.
                       The value returned is an internal representation of the field address.
               
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 MARKed
                       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.
               
Note:POS cannot distinguish between two different variables
                          that start at the same storage position (REDEFINE variables) since the
                          internal field address returned by POS is the same
                          for both.
                  
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.
                  *CURS-FIELD and
                           POS(field-name) cannot distinguish
                           between two different variables that start at the same storage position
                           (REDEFINE variables)
                           since the internal field addresses returned by
                           *CURS-FIELD and
                           POS(field-name) are the same for both
                           variables.
                  See also Dialog Design, Field-Sensitive Processing and Simplifying Programming in the Programming Guide in the Programming Guide.