How the compiler treats a nondate depends upon its context.
The following items are nondates:
When you use a nondate in conjunction with a date field, the compiler interprets the nondate either as a date whose format is compatible with the date field or as a simple numeric value. This interpretation depends on the context in which the date field and nondate are used, as follows:
When a date field is compared with a nondate, the nondate is considered to be compatible with the date field in the number of year and nonyear characters. In the following example, the nondate literal 971231 is compared with a windowed date field:
01 Date-1 Pic 9(6) Date Format yyxxxx.
. . .
If Date-1 Greater than 971231 . . .
The nondate literal 971231 is treated as if it had the same DATE FORMAT as Date-1, but with a base year of 1900.
In all supported arithmetic operations, nondate fields are treated as simple numeric values. In the following example, the numeric value 10000 is added to the Gregorian date in Date-2, effectively adding one year to the date:
01 Date-2 Pic 9(6) Date Format yyxxxx.
. . .
Add 10000 to Date-2.Moving a date field to a nondate is not supported. However, you can use the UNDATE intrinsic function to do this.
When you move a nondate to a date field, the sending field is assumed to be compatible with the receiving field in the number of year and nonyear characters. For example, when you move a nondate to a windowed date field, the nondate field is assumed to contain a compatible date with a two-digit year.