Anydate has often been referred to as a ‘time traveler’ that enables you to shift time on your IBM i running OS version 6.1 or higher. Anydate is a simple yet powerful tool that allows you to override your system date or time.
What began as a year 2000 (Y2K) testing tool in 1998, Anydate has become a useful date and time simulation utility that allows you to:
- Simulate a different date for time sensitive processing runs
- Override the date for testing future or past processes
- Allow user access across time zone adjustment for local time to be used instead of system time
You can use the overrides in Anydate to jump to any year from 1928 to 2071. This gives you a wide range of possibilities to test or run your processes.
Simulate a Future Date
Common users of Anydate are banks and other financial institutions. There is a stringent need to insure that the automatic processes—deposits, withdrawals, transfers, payments, etc.—are done precisely as planned at the date and time they need to be done. How can they test a future process when the system date can’t easily be changed? That’s where Anydate comes in.
The tester simply tells Anydate to pretend it is month-end (or any date that is required), run all of the scheduled processes in their test environment, and then check the results. This type of exact date/time testing gives a huge amount of confidence to the developers, testers, users, executives, and auditors—basically everyone.
Jump to the end of the month (July 2013):
OVRSYSDATE YEAR(2013) MONTH(07) DAY(31)
Simulate a Past Date
What happens if an error, such as an object lock, prevents a time sensitive process, like month-end reporting, from running to completion? With Anydate, you can re-run the process by commanding Anydate to simulate the needed date without having to reset any system values that would affect other jobs and processes.
Go back to a long-past year (June 2013):
OVRSYSDATE YEAR(2013) MONTH(06) DAY(30)
Adjust Time for Different Time Zones
When you have users accessing your IBM i from different time zones, their job times are set to the time zone of the location of the system. This can cause problems and confusion when running time sensitive processes. An override command in their startup, or as a CLP assigned to their user profile, gives them a time that is set to their default location. Or the users (if allowed) can enter the command at a command line.
Shift one hour ahead:
In a situation like this you would want to leave the TYPE parameter as *ADVANCE (the default) so that the time will continue to move forward while the user is connected. But there may be times when a *STATIC setting is desired to stop time from moving.
Simple to Use
The simplicity of Anydate can be seen in the fact that there is just one screen for interactive date or time changes. Also, there are basically just two commands needed to use Anydate: OVRSYSDATE with the appropriate parameters filled in, and DLTOVRDATE to remove the Anydate simulation.
Anydate input screen (prompt command OVRSYSDATE)
Like all of the HelpSystems products, Anydate installs relatively quickly and is ready for use. There is even a test program you can run to see that the overrides have taken affect. This is called ALLTESTS. After interactively changing the date or time, call the program and see how your job settings now reflect a different value than the system.
For submitting jobs, override your job prior to submitting, or you can use the command OVREXEC (Override Command Execution). This command allows you to wrap a date/time override form OVRSYSDATE around a command to be submitted.
Note the override fields associated with the command line (CMD)
There is also the ability to remove the overrides when the job completes by using the parameter DLTDATEOVR(*YES) in the OVREXEC command.
Return to the Present
There is one command in Anydate that removes the overrides for the current job: DLTDATEOVR. There are no parameters, just a simple command to set your job back to the system values.
Anydate is a simple to install, simple to use product that allows your jobs to have date/time overrides set through a single command. This command provides several options that make date or time adjustments easy.