$NLS_DATETIME_UNIFACE_PARSER
Have Uniface parse specified NLS datetime formats when numeric input is provided for the day of the month, month, and year. (By default, the parser supplied by the ICU libraries is used.)
$NLS_DATETIME_UNIFACE_PARSER
{=
} {short
}, {medium
}, {long
},
{full
} | {all
}
Arguments
short
,medium
,long
andfull
—$NLS format, in which the locale determines the exact format that is used. Specify one or more formats for which the Uniface parser should be used.all
—use the Uniface parser for all $NLS datetime formats.
Defaults
Assignment file: | Any application assignment file |
Section: | [SETTINGS] |
Default value: | None |
Description
Note: To ensure consistency between Date and Datetime, the settings $NLS_DATE_UNIFACE_PARSER and $NLS_DATETIME_UNIFACE_PARSER should be always be used together.
NLS formatting is provided by third-party ICU
libraries which support the concept of a short
, medium
,
long
or full
Datetime. (For examples of these formats, see
http://demo.icu-project.org/icu-bin/locexp?d_=en.)
By default, the parser supplied by the ICU libraries is used to interpret these dates. The ICU parser expects that date and time data to be entered in the correct order, with the correct abbreviation for day or month, and the correct separator. When the input does not meet these requirements, the results can be unpredictable.
In contrast, the Uniface date and time parser
accepts a number of different separators, including no separator, and allows months to be
numerically specified. For example, if a different separator is used than that specified in the
format, a backslash (/
) instead of hyphen (-
), the rest of the
input is ignored and today's values are used for the unspecified fields.
Note: It is also possible to specify NLS Datetimes
using a Uniface display format ($NLS(dd/mmm/yy)
), in which case the NLS formats
are already parsed by Uniface. For more information, see $NLS Display Formats for Numeric and Float and $NLS Display Formats for Date and Time.
You can use the $NLS_DATETIME_UNIFACE_PARSER setting to override the default behavior and have Uniface parse specific NLS date formats. Uniface parsing is only used when numeric input is provided (apart from the separator), and only for the day of the month, month, and year.
Uniface parsing still interprets the input in the
order specified by the ICU format. For example, for English (United States),
en_US
, Uniface interprets the first digits as the Month, whereas for English
(United Kingdom), en_GB
, Uniface interprets the first digits as the Day of the
Month.
Where the format includes the day of the week or the day name, for example, these will be automatically provided in the display.
Using the Uniface Parser for Long and Full Datetime Formats
[SETTINGS] $NLS_DATETIME_UNIFACE_PARSER = long, full