DATFMT (Date Format) keyword in printer files

You use this field-level keyword to specify the format of a date field. This keyword is valid only for date fields (data type L).

The format of the keyword is:

DATFMT(date-format)

The date-format parameter specifies the format of a date. The following table describes the valid date formats and their default separator values.

Format name Date-format parameter Date format and separator Field length Example
Job default *JOB      
Month/day/year *MDY mm/dd/yy 8 06/21/90
Day/month/year *DMY dd/mm/yy 8 21/06/90
Year/month/day *YMD yy/mm/dd 8 90/06/21
Julian *JUL yy/ddd 6 90/172
International standards organization *ISO yyyy-mm-dd 10 1990-06-21
IBM® USA standard *USA mm/dd/yyyy 10 06/21/1990
IBM European standard *EUR dd.mm.yyyy 10 21.06.1990
Japanese industrial standard Christian era *JIS yyyy-mm-dd 10 1990-06-21

If you do not specify the DATFMT keyword, the default is *ISO.

If you specify *JOB, the high-level language and the application handle the format as *ISO. On output, the system converts the format to the format that the Date Format Job Definition Attribute specifies. On input, the system converts the format to *ISO before it passes control to the application. There are always 10 spaces reserved on the display screen for a Date field with DATFMT(*JOB), even though 8 characters in the case of *MDY, *DMY, and *YMD, or 6 characters in the case of *JUL are displayed.

If you specify the *ISO, *USA, *EUR, or *JIS value, you cannot specify the DATSEP keyword. These date formats have fixed separators.

The DATFMT keyword overrides the job attribute for a date field. It does not change the system default.

It is the responsibility of the high-level language and the application to format the date field according to the format specified on the DATFMT keyword and use the separators specified on the DATSEP keyword. The system does not format fields on output. The system validates the date field (L data type) on input according to the format that the DATFMT keyword specifies and the separator that the DATSEP keyword specifies.

Option indicators are not valid for this keyword, although option indicators can be used to condition the field for which it is specified.

Example

The following example shows how to specify the DATFMT keyword.

|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A
00020A          R RECORD
00030A            DATFLD1         L  B  5  2DATFMT(*JUL)
00040A            DATFLD2         L  B  5 22DATFMT(*EUR)
00050A            DATFLD3         L  B  5 42DATFMT(*JOB)
     A

If the date to be displayed is June 21, 1990, the date format defined in the Job Definition Attributes is *MDY and the date separator defined in the Job Definition Attributes is a slash (/), the following values will be displayed when RECORD is written.

DATFLD1     90/172
DATFLD2     21.06.1990
DATFLD3     06/21/90