xmax specifies the editing (or display) width of the field. Unless maxchrs is set to another non-zero value, xmax is also equivalent to the maximum number of characters which can be entered.
In text mode (with a non-GUI-enabled terminal emulation), the field width will be indicated by marker characters (typically underlines, unless type |p or type i or type I is specified). In text mode with a GUI enabled emulation (i.e. PCTDVG, AM76G or AM62CG), a pseudo-Windows-style sunken panel is used. (This may be hard to see unless the background color is pastel or gray; if not, you may want to force the use of underlines with type |_ .)
In full GUI mode (GUI-enabled driver, type |G), the field size will be indicated by the size of the Windows control (edit box, combo box, checkbox, radio button, time/date, up/down) used. The overall width of the control, however, may be somewhat larger than the number of grid width units specified, in order to allow for parts of the control outside of the input area (like drop-down buttons), or, when xmax is very small, to allow for the fact that upper case GUI characters may be wider than their text equivalents. See type ||] to disable this auto-expansion feature.
Minus signs in numeric fields do not count against the maximum number of characters.
The specified xmax value may be trimmed by INFLD to be no greater than the physical size of the entry parameter. One situation where this can be unexpected is when using Coded Lists.