Click here for Lund sponsor message
Year 2000 help in threes:
Do the TimeWarp, again
Solution supplies unique feature, affordable pricing
for MPE/iX date/time simulations


OnmiSolutions, Inc.
3940 Laurel Canyon Blvd.
Suite 717
Studio City, CA 91604
Tel: 800.935.0101
Fax: 888.811.8707

TimeWarp/3000 is a software utility that lets you test your software as if the system clock were set to any MPE supported date and time (past or future) without affecting any other users on the system.

TimeWarp/3000 runs on all HP 3000 Series 9xx systems on MPE/iX 5.0 or later. Pricing is tier-based and ranges from a low of $950 to a high of $3,650 for the first CPU, with discounts for additional CPUs. Yearly maintenance fees are 15 percent of the purchase price. You can request a free demo from the OmniSolutions Web site.

[Editor’s note: TimeWarp/3000 was developed by Shawn M. Gordon, the 3000 NewsWire’s Inside COBOL columnist.]

Review by Duane Percox

Do you subscribe to the “occurrence of three” theory? This theory suggests that things naturally tend to occur in groupings of three. The HP 3000 market experiences a clear example of this as TimeWarp/3000 becomes the third entry in the Year 2000 tool category. Written by S.M. Gordon & Associates and distributed by OmniSolutions, Inc. TimeWarp/3000 is designed to allow the testing of user programs and CI scripts within any desired date and time without requiring you to change the HP 3000 system date globally.

TimeWarp/3000 competes with Time Machine (see our TestD rive in the September 1997 issue) and Hourglass 2000 (see our TestD rive in the November 1997 issue). Even though these products are similar, I found one unique feature in TimeWarp/3000 which I detail below.

What can it do?

Simply stated, TimeWarp/3000 can be used to change the date and time so you can test your software executing with that date/time – even though the rest of your systems are using the current date/time. This gives you the ability to test your software as if it was operating in any future or previous year without having to change the system clock. Using TimeWarp/3000 you can:

• Change the date/time (absolute or relative) for any MPE or POSIX application that retrieves the system date/time.
• Set any desired date/time from the CI.
• Create rules that automatically set a desired date/time when a job and/or session logs on.
• Easily pass your current TimeWarp/3000 date/time to any jobs you stream. (This feature of job inheritance is unique to TimeWarp).
• Trace or log calls your application makes to external date routines.
• Monitor all job/session activity operating under a TimeWarp/3000 virtual date/time.

How does it work?

TimeWarp/3000 is first enabled using the supplied UDC command WARP ENABLE (you must have SM or OP capability). TimeWarp/3000 stays enabled until you disable it (WARP DISABLE) or the system is rebooted. Once enabled, all automatic rules are honored for logons (jobs/sessions) and you can use the UDC command WARP TURNON to set a virtual date/time locally.

WARP TURNON overrides any logon rule that might have been established, and you can use WARP TURNOFF to cancel any local date/time setting. Once your environment is controlled by TimeWarp/3000, all calls to system date/time routines are trapped and the virtual date/time is returned instead of the current system date/time.

Any jobs you stream will inherit the current TimeWarp/3000 virtual date/time, and session/job banners displayed on $STDLIST contain information advising you that you are operating under a TimeWarp/3000 virtual date/time.

Any files you update will be date/time stamped with the system date/time, regardless of your TimeWarp/3000 settings. This is a design choice which invokes two issues. First, it allows you to test your software without mucking up file labels, which can help in preserving backups, for example. However, if your application is dependent on date/time stamps in files, you can’t correctly simulate the date and time. If this is important to you, you might want to investigate Hourglass 2000 from Allegro Consulting. Note that SHOWJOB will show the current system date/time and not your virtual date/time when using TimeWarp.

I verified that TimeWarp correctly simulates dates with MPE/Posix date and variables. For example, SHOWVAR HPDAT@ and ECHO $HPDATEF will return your virtual date/time.


The TimeWarp/3000 virtual date and time can be set the following ways:

1. Absolute date and time constant. The date/time value you specify will always be returned. For example, if you specify an absolute date/time of “2000/01/01 10:00” the system will return this date/time for the entire duration of your job/session.

2. Relative date and time value. The date/time is relative to the real system clock. For example, if you specify a relative date/time of “+1 YEARS” then the date will always be 1 year more than the current system date and the time will be current system time.

A TimeWarp/3000 virtual date/time can be set up for a job or session using these three methods:

1. Issuing the WARP TURNON command with a specified virtual date/time. The job/session will operate under this virtual date/time until logoff, another WARP TURNON command or the WARP TURNOFF command is issued.

2. A configured rule exists for the matching job/session. When the job/session logs on it will be assigned the configured virtual date/time. The configured rule matches on job/session type, job/session name, user and account names. Wild cards are permitted. You can also set up a rule that excludes users from being assigned a virtual date/time.

3. A job created from a job/session that has a virtual date/time in operation inherits the virtual date/time from the originating job/session. If you have an online system that launches background jobs (for reporting or other tasks) you will find this feature very helpful. I found it incredibly useful in testing our very complex online application system. It worked so well that we have made it a requirement for any Year 2000 tool we use.

TimeWarp/3000 can trace any calls to date/time related routines. These are the options you can set:

TRACE sends output to $STDLIST
LOG sends output to a logfile
STACK shows stack trace for every call event
ALL records all call events
SINGLE records one call event for every type (summary).

TimeWarp/3000 includes MANAGER, which is a character-based program with pull-down windows used to perform the following tasks:

• Shows all users operating under a TimeWarp/3000 virtual date/time.
• Views/deletes log files.
• Configures rules for automatic TimeWarp/3000 virtual date/time at logon.

Installation and Documentation

I received my TimeWarp/3000 installation as an e-mail attachment (approximately 400K) which included command files for uploading to my HP 3000 using either Reflection or MS 92. Installing TimeWarp/3000 this way requires the freeware program LZW from Telamon (available by FTP from or indirectly from other HP 3000 Web sites such as 3k Associates).

You can also use the tried and true method of tape (DAT/Reel) by calling OmniSolutions or submitting a request from their Web site. I did not find a way to download a demo copy from their Web site. Hopefully they will add this capability in the future.

The installation went smoothly (it installs into the TIMEWARP account), and can be done without disrupting your existing users. A systemwide UDC is added to make the TimeWarp/3000 commands available systemwide. I found the documentation complete, thorough and clear in describing the features of the product. A nice touch is a complete list of all the date/time related accesses intercepted by TimeWarp/3000 for virtual date/time support, as well as a complete list of installed files and their purpose.


I have a short list of simple criteria for recommending any software product for the HP 3000:

• It must work as advertised, provide a useful function, and contain features that I would find helpful when using the product.
• It should install cleanly without help from the vendor.
• The documentation should be clear and concise.

On all counts TimeWarp/3000 met or exceeded my requirements. Couple this with a pricing scheme that is affordable for shops of varying sizes and you have a product that I would not hesitate to recommend for doing Year 2000 testing and certification.

Duane Percox is a co-founder and developer at Quintessential School Systems, a supplier of HP 3000 K-12 school administration applications as well as a Posix-free MPE/iX Web server. He’s been working with the HP 3000 since 1979.

Copyright 1998, The 3000 NewsWire. All rights reserved.