Patch Number

Ticket Number

Change type


756895 / 761144


1. Description

Enhancements to D3 emulation.

1.1. Previous Release Behavior

D3 expects SYSTEM(19) to return the time and date, but if called more than once per second, it was not a unique string. D3 returns and expects a unique string.

Prepending a ! to a command passed to PERFORM/EXECUTE was not recognized by the jBASE compiler. On D3 the ! indicates to run the command in a Unix/Windows shell. This is equivalent to @IM:'k' on jBASE.

1.2. Current Release Behavior

SYSTEM(19) will now return a time stamp comprising the number of seconds since 31 Dec 1967. If called more than once in a second, this stamp is appended with an alphabetic suffix (approximately base-26 formatted) which makes it unique. This uniqueness is across the entire system, so no two calls to SYSTEM(19) will never get the same time stamp even if from different processes.

The use of ! as the first character of a command run with PERFORM/EXECUTE is treated the same as @IM:'k'. For example,

* Execute the Windows 'dir' command
EXECUTE '!dir'

A new D3 emulation has been created in Config_EMULATE. Both of the above behavior changes only occur when the emulation is in D3.