Which form item has the focus?

Identify what element of the current form has the focus.

Sometimes it is important to know what form element has currently the focus. This is especially important when implementing a DIALOG block, that can control several parts of a form. For example, when several lists are driven by multiple DISPLAY ARRAY sub-dialogs, you may need to know what is the current list.

To get the name of the current form item, use the DIALOG.getCurrentItem() method. This method is the replacement of the former fgl_dialog_getfieldname() built-in function. It has been extended to return identifiers for fields, lists, or actions identifiers.

DIALOG ATTRIBUTES(UNBUFFERED)
   DISPLAY ARRAY p_orders TO orders.*
     ...
   END DISPLAY
   DISPLAY ARRAY p_items TO items.*
     ...
   END DISPLAY
   ...
      IF DIALOG.getCurrentItem() == "items" THEN
         ...
      END IF
   ...
END DIALOG

It is also possible to detect when the focus enters or leaves a field or a group of fields by using control blocks such as BEFORE INPUT/DISPLAY or AFTER INPUT/DISPLAY.