Appendix C Release compatibility

The PXS compatibility strategy aims to simplify parallel testing and ease regression. It does this by:

This means that until PXS254 facilities are actively used, PXS200 work is not at risk for any reason. This is achieved with the following design principles:

  1. All work defined on PXS200 must run on PXS254 without amending the definition file in any way.
  2. Calls to PXS from SCL compiled under PXS200 will work, (with warnings), on PXS254 even if the templates have changed.
  3. PXS254 will mark work which cannot be read by PXS200, and optionally give a warning. PXS200 will reject such work.
  4. Where possible, PXS254 will produce definition files that can be used by PXS200.
  5. Scheduler queue file format is not compatible. On restart all releases will delete work invoked from other releases.
  6. PXS_BACKUP and PXS_RESTORE will have the same compatibility as definition files. PXS_RESTORE and PXS_COPY will always produce files in PXS254 format.
C.1. Forward compatibility.
  C.1.1. Definition files.
  C.1.2. SCL Templates for PXS commands.
  C.1.3. Options.
  C.1.4. INVOKE_ID changes.
C.2. Backwards compatibility.
  C.2.1. Definition files.
  C.2.2. SCL Templates.
  C.2.3. Regression monitoring.
C.3. PXS254 and PXS252.1 compatibility.
C.4 PXS253 compatibility

C.1. Forward compatibility.

There are four areas of change between PXS200 and PXS254 which require consideration: Definition files, SCL Templates, Options and Invoke_id.

C.1.1. Definition files.

All definition files produced by PXS version 200 can be read and used by version 254. Definition files produced by version 100 are not supported by version 254

Parameter names for the RUNJOB command are now reserved names in PXS254. This means that work which uses these names as variables must be altered before they can be amended. Such work can still be invoked. A patch is available to assist with this process.

C.1.2. SCL Templates for PXS commands.

Certain PXS commands have different SCL templates at PXS254. The PXS254 code detects the use of the 200 template and defaults any new parameters accordingly, e.g. LIST_LEVEL on PXS_INVOKE. Such Commands compiled into SCL will therefore continue to work without re-compilation, a warning message will however be logged and all such commands should be re-compiled when PXS200 is no longer required.

Please also note the following result code changes:

  • 217416 and 217478 are replaced by 217462.
  • 217420 and 217480 are replaced by 217401
  • 217425 now also indicates a UNIQUE check failure.
  • 217467 now indicates a command privilege check fail.
  • C.1.3. Options.

    At PXS200 optional features were implemented via patches. These are now implemented by a message text module, which is edited using PXS_MAINTAIN. See Appendix D for details.

    C.1.4. INVOKE_ID changes.

    INVOKE_ID when set from PXS_PATHWAY is validated to be a valid numeric or alphanumeric string. This was required at PXS200 but not checked.

    If the INVOKEID option is set to yes then INVOKE_ID must always be alphanumeric.

    C.2. Backwards compatibility.

    This section is about regression to version 200 once version 254 has been active. Regression must take place while there is no active work in the scheduler.

    C.2.1. Definition files.

    Files produced by PXS254 can be used by version 200 provided the following features are not used:

    1. Network facilities, e.g. RUN_LOCATION and FTF_WAIT
    2. WHILE, UNTIL or SKIP conditions.
    3. IF or WHEN conditions in reverse order. i.e. WHEN IF.
    4. New Built In Functions.
    5. New Suite/Invoke options, (these will be ignored by PXS200).

    If any of these features, except 4 or 5, are used, the file will be marked as 200 incompatible. Patch PXAE001.1, (signals an error on detecting files marked by 254 as containing incompatible features), is recommended for PXS200.

    If new Built In Functions are used, the condition will cause a syntax error when tested on PXS200. This can be resolved using the IGNORE command to manually schedule the work.

    C.2.2. SCL Templates.

    While PXS200 compatibility is required there should be no re-compilation of SCL containing calls to PXS_INVOKE since the 200 code will reject the 254 template.

    C.2.3. Regression monitoring.

    PXS option REGRESS_WARNINGS if set to YES will cause a warning message in ADMIN on writing a PXS200 incompatible file. This message is OFF by default.

    Incompatible files can be deleted, but not amended, using the (M)aintain function on version 200.

    C.3. PXS254 and PXS252.1 compatibility.

    These versions are fully forward compatible including work in the backup queue file. It is still recommended to clear the queue file when switching between releases.

    The use of new TIME functions and new BIFs will fail on PXS252 and new system options will be ignored.

    Options new in PXS253.1 or PXS254 will be ignored.

    C.4 PXS253 compatibility

    PXS253 has the same compatibility as PXS254 except for the options CHECK ACCESS, SUBSET USER and PXJ OCF SUBSET. These options should be re-selected on upgrade to PXS254.

    Other options new in PXS254 will be ignored.