Four-Digit Year (Year 2000) Support

This section summarizes all actions and provisions made in VSE/POWER 6.1.2 to enable a smooth transition from the 20th to the 21st century for all date-related processing of VSE/POWER 6.1.2 and all subsequent versions and releases.

The date-related processing is based upon the contents of the VSE/POWER partition Comreg field JOBDATWC, which is an 11 byte date field of the following format:
     JOBDATWC  mm/dd/yy/cc   for example: 10/22/98/19
The field reflects either
  • The total system date established by the 'SET DATE' IPL command, which sets the TOD 1 clock, or
  • The VSE/POWER partition singular date established by the// DATE mm/dd/yyyy Job Control statement, which does not set the TOD clock.
The mdy or dmy format of this field is discussed in Date Recording and Date Format.

When simulating a century switch, for example, both methods may be used to change the current date. However, that should only be done on test systems, because all VSE/POWER queue entries remember their creation date as well as their TOD Store Clock time stamp, which determines the queueing sequence of a queue entry within its class chain at queue file recovery time.

Four Digit Year at Queue Entry Creation

Whenever job or output queue entries are created, even when received by PNET or loaded from tape, they are always branded with the current date including the cc-century (QRDYC field) and the yy-year (QRDY field). The only way to preserve an existing old creation date is to specify the NOJNO operand during POFFLOAD LOAD or SELECT.

You can display the creation date of queue entries with the FULL=YES option of the PDISPLAY command. See 'D=mm/dd/yyyy' in Examples of the PDISPLAY Command.

Four Digit Current Year in Messages

All time and status messages and even separator pages of list output present the date with cc-century and yy-year. For details see Figure 2 and Separator Pages - Layout and Control.

Four Digit Year in Interface Control Records

For programmed interface communication by Spool-Access CTL or GCM Service requests, VSE/POWER also presents extended date qualification. For details see VSE/POWER Application Programming.

Unique Century Identification in Account Records

For a precise evaluation of accounting data, VSE/POWER identifies the 20th or 21st century by a flag in all types of account records. Thus, all account records keep their existing length and do not influence on running user accounting programs. For details see VSE/POWER Application Programming.

Transparency for an Old Two Byte Creation Year

VSE/POWER 6.5 code may still find queue entries which have been built with a two byte creation year, namely when
  • any pre 6.1.2 queue entry is loaded from tape while specifying the NOJNO operand of the POFFLOAD LOAD/SELECT command
  • a PDISPLAY Tape command is started for any pre 6.1.2 offload or DISP=T tape.
For such queue entries all display or other date-related functions will temporarily expand the yy-creation year to a 4-byte year by applying the following fix-88-window rule
                     if yy >  88,  then assume 19yy
                     if yy <= 88,  then assume 20yy
Note: This rule has been always used for VSE/POWER's Time Event Scheduling support, when DUEDATE=mm/dd/yy is specified in the * $$ JOB statement.

So even then a 4 digit creation year is displayed and any date-based entry selection operates, as if a 4 digit creation year was present.

CRDATE Command Selection with a 2 or 4 Digit Year

The selection operand of the PDISPLAY, PALTER, PDELETE, PHOLD, and PRELEASE commands has allowed to specify a comparison operand and an mm/dd/yy limit date to be compared against the creation date of queue entries to be selected. Starting with 6.1.2, VSE/POWER
  • Still accepts the specification of a 2 digit year and expands it during comparison according to the fix-88-window rule, and
  • Also supports the specification of a 4 digit year.

For details, refer to the CRDATE= operand of the mentioned commands, for example PALTER in Keyword Search Operands.

1 TOD = time-of-day clock, a binary counter of fractions of seconds elapsed since midnight, January 1, 1900.