The PICTURE attribute specifies a character pattern for data entry in a text field, and prevents entry of values that conflict with the specified pattern.
PICTURE = "format-string"
format-string can be any combination of characters, where the characters "A", "#" and "X" have a special meaning.
Any character different from "A", "X" and "#" is treated as a literal. Such characters automatically appear in the field and do not have to be entered by the user.
The PICTURE attribute does not require data entry into the entire field. It only requires that whatever characters are entered conform to format-string.
When PICTURE specifies input formats for DATETIME or INTERVAL fields, the form compiler does not check the syntax of format-string, but your form will work if the syntax is correct. Any error in format-string, however, such as an incorrect field separator, produces a runtime error.
The typical usage for the PICTURE attribute is for (fixed-length) CHAR fields. It is not recommended to use PICTURE for other data types, especially numeric or date/time fields: The current value of the field must always match (i.e. be formatted according to) PICTURE.
Understand that the PICTURE attribute defines a mask for data entry. In order to format fields when data is displayed to the field, use the FORMAT attribute instead. FORMAT is typically used for numeric and date fields, while PICTURE is typically used for formatted character string fields requiring input control.
The PICTURE attribute is ignored in CONSTRUCT and DISPLAY / DISPLAY ARRAY instructions: It takes only effect in INPUT and INPUT ARRAY dialogs.
EDIT f001 = carinfo.ident, PICTURE = "AA####-AA(X)";