|
TimeWarp
User Interface • Technical
Support • Installation • TimeWarp
Console Examples • Coverage
Index
1. Overview
2. 'External' DateTime
Calls
3. Supported MPE/iX Versions
4. Technical
Support
5. Installing (or
Updating) TimeWarp
6. The WARP command
7. Enabling TimeWarp
System-Wide (WARP ENABLE)
8. Displaying TimeWarp
Status (WARP STATUS)
9. Turning-On a Virtual
DateTime Locally (WARP TURNON)
10. Turning-Off a
Virtual DateTime Locally (WARP TURNOFF)
11. Turning LogTrace
Options On or OFF (WARP TURNON/TURNOFF)
12. TimeWarp Manager
(WARP MANAGER)
a. WARP
Manager: Warp Console Screen
b. WARP
Manager: View LogFiles Screen
c. WARP
Manager: Configure Rules Screen
13. WARP Manager:
Configure Exclude Screen
14. Displaying Local
LogFile contents (WARP PRINTLOG)
15. Tracing and Logging
Facilities
16. Disabling TimeWarp
System-Wide
17. Automatic DateTime
Inheritanc
18. Identifying
Rule-Based Jobs
19. Excluding Individual
Program Files from being affected by TimeWarp
a. Local
Exclusion
b. Global
Exclusion
c. Displaying
all Excluded Programs
20. TimeWarp Implementation
Notes
21. TimeWarp Account
Structure
TimeWarp Overview
back
to top
TimeWarp is designed to permit users of HP3000 to
perform testing of all applications, programs and CI scripts within
any desired Data and Time, without globally hanging the system
clock. TimeWarp allows you to specify that a given Job or Session
operate under a particular date and Time in one of three ways:
1) User specified.
Use the supplied WARP UDC from the CI in any Job
or Session, at any time. This immediately switches the Job or
Session in which it is issued to any desired Date and Time.
2) Rule based.
You can specify that a particular Job or Session
automatically operate in a given Date and Time, by entering one
(or more) rules via a supplied Manager program. These rules (which
may use wildcards) allow you to control what Date and Time any Job
or Session will operate in, before it even logs on. Rules remain
active until explicitly removed.
3) Automatic inheritance.
Any Job that is streamed from within a Job or
Session that is currently 'switched' to a TimeWarp-controlled Date
and Time, will automatically inherit the same Date and Time. This
greatly simplifies testing of complex environments where online
applications stream off one or more background jobs to complete
processing.
TimeWarp provides advanced facilities to allow you
to determine where your applications make calls that look up system
Date or Time. TimeWarp can display (or log) just the names of the
external Date or Time-related external procedures called by your
applications; it can also display (or log) a summary stack trace
that shows you exactly where your application makes calls to
retrieve the system Date and Time (including calls from SL or
XL-based procedures). It works with both CM and NM applications, and
can be used by any user (no special MPE capabilities are required).
All TimeWarp features are configured and monitored
using a single command (WARP) installed as a system-wide UDC.
TimeWarp is supplied with a Manager program that can show exactly
which Jobs and Sessions are currently running in TimeWarp-controlled
Dates and Times, and gives online access to their log file contents.
TimeWarp and 'External'
DateTime Calls
back
to top
Whatever programming language your applications are
written in, when they need to retrieve the current system date or
time, they will ultimately call system routines located in one of
three system libraries: SL.PUB.SYS, XL.PUB.SYS or NL.PUB.SYS.
TimeWarp intercepts these calls, and can modify the Date and Time
information returned to your applications so that they 'see' a
different Date and Time to the 'real' current system Date and Time.
TimeWarp is able to display the names of all
'external' routines (located in any of the system libraries) called
by your applications, to aid you in determining how your
applications retrieve the system date and time. More importantly,
TimeWarp can display the stack-trace leading up to every date and
time-related external call; this stack trace identifies the names of
(and offsets within) every procedure that your applications call in
order to retrieve the system date and time. This can be of
significant help in determining where applications reference dates,
particularly when they make use of code located inside user
libraries (SLs and XLs located in arbitrary MPE groups).
TimeWarp also intercepts attempts by CI jobs,
command files and UDCs to retrieve the system date and time, and
correctly modifies the values returned so thatyour command scripts
can be tested at the same time as your application programs.
TimeWarp also intercepts date and time references performed via the
COMMAND and HPCICOMMAND intrinsics, as well as attempts to
programmatically retrieve date and time information from system
variables (HPYEAR, HPDATE, etc).
TimeWarp integrates smoothly with VESOFT's MPEX
enhanced command interpreter, allowing date and time references
within MPEX command files to be tested at the same time as your
application programs.
Finally, TimeWarp also correctly intercepts
attempts by Posix applications to reference date and time
information from their Posix environment, and correctly simulates
virtual date references from within the Posix Shell.
Taken together, TimeWarp's extremely thorough
coverage of date and time related functionality means that you can
rely on TimeWarp to run applications in virtual date and time
environments that perfectly mimics the way they'll run when the
system date is really set to these virtual dates and times.
Supported MPE/iX Versions
back
to top
Before installing TimeWarp, please note the
following:
TimeWarp has been tested within MPE/iX 5.0 and 5.5
environments. You should not attempt to install or use the product
under other MPE/iX releases without first checking with us.
Once TimeWarp has been installed, you will NOT have
to reinstall after updating your MPE/iX version, or installing MPE
patches.
Installing (or
Updating) TimeWarp
back
to top
1) Logon as MANAGER.SYS and restore the contents of
the TimeWarp DAT:
:RESTORE ;@.@.@;CREATE
2) Stream the supplied installation job to setup
the correct accounting structure and complete the installation
procedure:
:STREAM SETUP.INSTALL.TIMEWARP
3) Logon again, so that the new WARP UDC is
available to you.
Notes:
- All files are installed into the TimeWarp
Account.
- The TimeWarp Account should be password-protected
immediately after the SETUP job has completed. Subsequent
re-installation of TimeWarp will not remove any password(s) that
you've assigned to the Account.
- The SETUP job also installs the WARP UDC
system-wide.
The WARP command
back
to top
All aspects of TimeWarp configuration and
management are performed using the WARP command, which is
automatically installed as a System-level UDC.
Typing :WARP with no parameters displays the
following help screen, summarizing all available WARP keywords:
WARP command syntax:
:WARP STATUS | HELP | ENABLE | MANAGER |
PRINTLOG
:WARP TURNON <LogTrace>
<DateTime>
:WARP TURNOFF <LogTrace>
:WARP EXCLUDE | INCLUDE <Program>
Specify Absolute <DateTime> using any
of these formats:
YYYY/MM/DD HH:MM ... Absolute Date & Time
YYYY/MM/DD ... Absolute Date
YYYY/MM ... Absolute Year and Month
YYYY ... Absolute Year
Specify Relative
<DateTime> using this syntax:
back
to top
+/-<number> YEARS | MONTHS | WEEKS | DAYS |
HOURS | MINUTES
Available <LogTrace> keywords:
TRACE ... Display DateTime calls to STDLIST
LOG ... Log DateTime calls to Logfile
STACK ... Include Stack leading to DateTime
calls
SINGLE ... Only show first occurrence of each
DateTime
ALL ... Show all DateTime calls
The primary WARP functions are summarized below.
They are explained in more detail in the sections that follow.
WARP ENABLE ... Enables TimeWarp, system-wide.
WARP EXCLUDE ... Excludes Program File from TimeWarp processing.
WARP HELP ... Prints the WARP command syntax description.
WARP INCLUDE ... Reverses effect of the WARP EXCLUDE command.
WARP MANAGER ... Runs the TimeWarp Manager.
WARP PRINTLOG ... Prints the local Job/Session TimeWarp log file.
WARP STATUS ... Summarizes TimeWarp current settings.
WARP TURNOFF ... Turns-off any TimeWarp virtual Date and Time,
locally.
WARP TURNON ... Turns-on a TimeWarp virtual Date and Time, locally.
Most WARP keywords are available at any time; some
are not available when you're currently in BREAK, or within a
program other than the CI. Any such restrictions are detailed in the
sections that follow.
Most WARP keywords may be combined with other
keywords. For example:
:WARP ENABLE TURNON 1999/12/31 TRACE
has the same effect as the following sequence:
:WARP ENABLE
:WARP TURNON 1999/12/31
:WARP TURNON TRACE
Enabling TimeWarp
System-Wide (WARP ENABLE)
back
to top
After installation, before TimeWarp can be used to
switch any Job or Session into a 'virtual' DateTime, you must
'enable' the use of TimeWarp by using the following command:
:WARP ENABLE
TimeWarp System-wide AIF:PE traps enabled.
You must be logged on as a user with SM or OP capabilities to issue
this command, which is also only available when you're at the
regular CI prompt.
The WARP ENABLE must be performed after every
system restart. You only need to perform WARP ENABLE once after each
restart. If you attempt to enable TimeWarp when it's already
enabled, you'll see the following:
:WARP ENABLE
Warning: TimeWarp System-wide AIF:PE traps already enabled.
You can use the WARP STATUS command (described below) at any time to
determine if TimeWarp is currently enabled or not.
Displaying TimeWarp
Status (WARP STATUS)
back
to top
To display current TimeWarp status, type the
following:
:WARP STATUS
This command may be issued at the CI, when in BREAK, or even from
within other programs (such as MPEX or QEDIT). The WARP STATUS
output is also automatically displayed whenever the WARP command is
used to change any aspect of TimeWarp configuration.
The output format varies according to whether
TimeWarp is enabled or not, and whether a virtual TimeWarp DateTime
is currently turned on or not.
Example 1: TimeWarp not currently Enabled:
:WARP STATUS
TimeWarp Status:
TimeWarp Access ... Not Currently Enabled
Example 2: TimeWarp Enabled; no local
virtual DateTime turned on:
:WARP STATUS
TimeWarp Status:
TimeWarp Access ... Enabled
TimeWarp Status ... Turned OFF (WED, JAN 7,
1998, 9:18 PM)
Example 3: TimeWarp Enabled; Local DateTime
set to '2002/01'; in BREAK:
:WARP STATUS
TimeWarp Status: (IN BREAK)
TimeWarp Access ... Enabled
TimeWarp Status ... Turned ON (MON, JAN 7,
2002, 9:19 PM)
Current Spec ... '2002/01'
TRACE mode ... FALSE
LOG mode ... FALSE
The output of WARP STATUS also displays the current
LogTrace options, described in more detail in the 'LogTrace Options'
Section below.
Turning-On a Virtual
DateTime Locally (WARP TURNON)
back
to top
To switch the DateTime in the current Job or
Session to any desired Date or Time, type the following:
:WARP TURNON <DateTime>
The <DateTime> specification may be either
absolute, or relative to the current system date.
Absolute <DateTime> may be specified using
any of the following forms:
YYYY/MM/DD HH:MM ... specifies absolute Date
& Time
YYYY/MM/DD ... specifies absolute Date
YYYY/MM ... specifies absolute Year and Month
YYYY ... specifies absolute Year
Relative <DateTime> may be specified using
the following syntax:
+/-<number> YEARS ... today +/- number
of years
+/-<number> MONTHS ... today +/- number of months
+/-<number> WEEKS ... today +/- number of weeks
+/-<number> DAYS ... today +/- number of days
+/-<number> HOURS ... today +/- number of hours
+/-<number> MINUTES ... today +/- number of minutes
For example:
:WARP TURNON 1999/12/31 23:55
:WARP TURNON 1985/05/18
:WARP TURNON 2027/05
:WARP TURNON +10 years
:WARP TURNON -24 months
The DateTime specification should be entered
exactly as shown. Use leading zeroes if necessary, and specify Time
using the 24-hour clock. You must include
the '/' and ':' delimiters as shown, when necessary.
When using Relative DateTime specifications, you
may specify any number of units of the specified 'base', for example
the number of MONTHS is not limited to 12.
Relative <DateTime> specifications are always
applied to the current system date to determine the 'virtual'
TimeWarp DateTime. If you're currently running in a
TimeWarp-controlled virtual DateTime, and you issue WARP TURNON with
a relative DateTime, the relative offset will be applied to the
current real system date, not to your virtual TimeWarp DateTime. In
other words, relative DateTimes are not cumulative.
The <DateTime> parameter, whether specified
absolutely or relatively, must lie within the year range 1970 to
2027. Dates outside this range are not currently supported by
MPE/iX.
Following use of WARP TURNON, all processes created
within the local Job/Session will operate in the specified DateTime,
and all Jobs streamed from within the local Job/Session will
'inherit' the same DateTime.
The <DateTime> specification may be omitted
if WARP TURNON has previously been used in the current Job/Session.
In this case, the previously specified
DateTime will be reapplied.
The WARP TURNON command may be issued as many times
as required, specifying different DateTimes, if desired.
No special MPE capabilities are required to issue
WARP TURNON. It may be used when in BREAK, but may not be used
directly from within user programs.
Turning-Off a Virtual
DateTime Locally (WARP TURNOFF)
back
to top
To turn-off TimeWarp within the current
Job/Session, type the following:
:WARP TURNOFF
The local DateTime will revert to the current
'real' system DateTime.
Turning LogTrace Options
On or OFF (WARP TURNON/TURNOFF)
back
to top
TimeWarp, in addition to allowing you to simulate
virtual DateTimes, also allows you to Trace (display on the STDLIST
device) and/or Log (write to an MPE file)
a record of all calls to DateTime related intrinsics.
Tracing and Logging are turned on using WARP TURNON
and WARP TURNOFF:
:WARP TURNON <LogTrace>
Where <LogTrace> may be any of the following
keywords:
TRACE ... send output to STDLIST
LOG ... send output to LogFile
STACK ... show stack trace for every event
ALL ... record all events
SINGLE ... record single event in each category
The current <LogTrace> settings are displayed
by WARP STATUS, but only when a virtual DateTime is active.
The TRACE and LOG options may be active at the same
time, the ALL and SINGLE options are mutually exclusive.
More information about Log and Trace facilities is
contained in the relevant section, below.
TimeWarp Manager (WARP
MANAGER)
back
to top
To access the TimeWarp Manager program:
:WARP MANAGER
The TimeWarp Manager program allows you to
configure logon rules, monitor who is running, or has run TimeWarp
and their current running virtual time, as well as to manage and
view log files.
The TimeWarp Manager program uses full-screen
character mode. This means that although you are presented with
full-screen displays, you still press <RETURN>, or
<ENTER> on the main keyboard (rather than <ENTER> on the
numeric keypad) to enter data. You will be prompted in 2 different
ways. The first way is the Main Menu pop up window. This is very
similar to a PC Windows-type drop down menu in that you use the up
and down arrow keys to highlight an item and then press
<RETURN>. In the second way you are presented with a screen
that has various fields that require values. The cursor will
highlight each field, and your options for entry will be displayed
on the bottom of the screen. If function keys are displayed,
whatever options you see are available to you. Whenever an error
message is displayed it will be centered and highlighted; you must
press <RETURN> to clear it.
The initial WARP MANAGER Menu screen displays the
following options:
Warp
Console
Select this option to display all users who are
currently operating in TimeWarp virtual DateTime environments. Can
also show users who were using TimeWarp, but have since logged off.
View
LogFiles
Select this option to see all currently available
TimeWarp LogFiles, and to display the contents of any file. Also
allows LogFiles to be deleted.
Configure
Rules
Select this option to display all current TimeWarp
logon Rules, and to optionally add, delete or modify any rule.
Configure
Exclude
Select this option to display all globally excluded
Program Files, and to optionally add or delete any Program File from
the exclude list.
Enable TimeWarp (Option only displayed when
TimeWarp not currently enabled)
Select this option to Enable TimeWarp System-wide
(same effect as typing :WARP ENABLE command).
Exit
Select to exit WARP MANAGER.
WARP Manager: Warp
Console Screen
back
to top
This screen displays (by default) information on
all users who are currently operating in TimeWarp controlled
'virtual' DateTime environments. The following information is shown
for all displayed users:
- JSnum ... Job/Session Number of user
- Parent ... Job/Session from which DateTime was inherited
- Active DateTime ... Current 'virtual' DateTime
- LogTrace ... Current LogTrace options
The screen display is updated automatically every 5
seconds; the update interval may be changed via Function Key 4. Each
active Job/Session's virtual DateTime field is updated whenever the
screen is redrawn.
LogTrace options are abbreviated to single
characters, interpreted as follows:
T ... Trace intercepted DateTime calls to STDLIST.
L ... Log intercepted DateTime calls to a LogFile.
S ... Include Stack trace leading up to intercepted DateTime call.
1 ... Show 1 occurrence only of each intercepted DateTime call.
Within this screen, Function Keys perform the
following functions:
F1: Toggles between three display modes:
- Display info for Jobs and Sessions (default)
- Display info for Sessions only
- Display info for Jobs only
F2: Toggles between three display modes:
- Display info for Active users
- Display info for Active and Inactive users
- Display info for Inactive users only
'Inactive' refers to Jobs and Sessions that ran
under a TimeWarp virtual DateTime, but are no longer logged on.
F3: View LogFile for selected user.
F4: Change update interval.
F8: Return to Main Menu.
WARP Manager: View
LogFiles Screen
back
to top
This screen displays information on all existing
LogFiles, located in the LOG.TIMEWARP group.
The following information is shown for all
displayed files:
- LogFile ... Name of LogFile, identifying
Job/Session number.
- Logon ID ... Name Job/Session logged on as.
- Created ... Real DateTime LogFile created.
- Modified ... Real DateTime LogFile last written to.
Within this screen, Function Keys perform the
following functions:
F1: Deletes all LogFiles.
F4: View highlighted LogFile.
F5: Delete highlighted LogFile.
F8: Return to Main Menu.
WARP Manager:
Configure Rules Screen
back
to top
On entry, this screen displays all configured Logon
Rules.
Logon rules allow you to setup any number of rules
that are tested whenever any Job or Session logs on. If the Job or
Session name matches a particular rule, the associated DateTime is
automatically setup as soon as the Job or Session logs on. In
addition, any specified LogTrace options are turned on.
A rule consists of both 'Type' and 'Logon ID'
fields. If both fields match, then the Rules's DateTime Spec and
LogTrace Options are automatically applied.
The
following information is shown for each Rule:
- Type ... 'J', 'S' or '@'.
This allows a Rule to be constructed that covers
only Jobs, only Sessions, or both Jobs and Sessions.
- Logon ID ... Job/Session pattern (including MPE
wildcards).
This specifies the Job/Session name pattern used
when determining if a particular rule applies to a job or Session.
The Logon ID is of the form: jobsession,user.account,group
The 'jobsession' and 'group' parts are optional.
MPE wildcards can be used in any part of the Logon ID.
- DateTime Spec ... Absolute or Relative DateTime
specification to apply if the Job/Session matches the rule.
The DateTime spec accepts the same formats as the
WARP TURNON command.
It's also legal to specify blanks for this field.
In this case the rule specifies that qualifying users be excluded
from TimeWarp processing. As rules are evaluated in order until
the first match, any such 'exclusion' rules must appear before
normal 'inclusion' rules (with non-blank DateTime specifications)
for them to have the desired effect.
- LogTrace Options ... LogTrace abbreviated Options
to apply if the Job/Session matches the rule.
The LogTrace options accepts the following
characters, specified in any order:
T ... Trace intercepted DateTime calls to STDLIST.
L ... Log intercepted DateTime calls to LogFile.
S ... Include Stack trace up to each DateTime call.
1 ... Show 1 occurrence only of each DateTime call.
Within this screen, Function Keys perform the
following functions:
F1: Add a new Rule.
F4: Modify highlighted Rule.
F5: Delete highlighted Rule.
F8: Return to Main Menu.
A particular rule may be modified by selecting it,
and following the dialogue that appears on the next screen. New
Rules are defined using the same screen.
With the 'Modify Rule' screen, the following
Function Keys are available:
F1: Save changes.
F2: Ignore changes.
F8: Return to Main Menu.
WARP Manager: Configure
Exclude Screen
back
to top
On entry, this screen displays all configured
globally Excluded Program files.
Excluding a Program using this screen ensures that
it will not be affected by any TimeWarp virtual DateTime settings in
any Job or Session on the system.
The only information that is stored is the
fully-qualified name of each Program file to be excluded. You cannot
use wildcards in this screen.
Within this screen, Function Keys perform the
following functions:
F1: Add a new Excluded Program.
F4: Modify highlighted Program.
F5: Delete highlighted Program.
F8: Return to Main Menu.
A particular Program name may be modified by
selecting it, and following the dialogue that appears on the next
screen. New Excluded Program names are defined using the same
screen.
With the 'Modify Program' screen, the following
Function Keys are available:
F1: Save changes.
F2: Ignore changes.
F8: Return to Main Menu.
Displaying Local LogFile
contents (WARP PRINTLOG)
back
to top
To display the contents of the local LogFile:
:WARP PRINTLOG
To display contents of Logfile for any Job/Session,
use the WARP MANAGER command, as described previously.
Tracing
and Logging Facilities
back
to top
TimeWarp can Trace (display on the STDLIST device)
and/or Log (write to an MPE file) a record of all calls to Date or
Time related intrinsics.
Tracing and Logging are turned on using WARP
TURNON, described above.
Trace and Log output is only generated when a
virtual TimeWarp DateTime is currently turned on.
1) Standard TRACE/LOG output.
By default, both Trace and Log output record every
instance of a call to any Date or Time related intrinsic by
generating a single line per call:
CALENDAR (intrinsic)
CLOCK (intrinsic)
HPGMTSECS (intrinsic)
ctime (C library)
HPCIGETVAR (intrinsic): HPYYYY
2) 'STACK' trace output.
When the STACK option is set ON, the stack trace
leading up to every call to any Date or Time related intrinsic is
also Traced/Logged, for example:
CALENDAR (intrinsic)
export stub: 368.00006c00 SHOWCLKS.PUB.DEV/get_mpe_time+$14
SP=41836208 RP=368.00006c50 get_all_times+$20
SP=418361d0 RP=368.000074e8 PROGRAM+$428
CLOCK (intrinsic)
export stub: 368.00006c0c SHOWCLKS.PUB.DEV/get_mpe_time+$20
SP=41836208 RP=368.00006c50 get_all_times+$20
SP=418361d0 RP=368.000074e8 PROGRAM+$428
HPGMTSECS (intrinsic)
export stub: 149.00083c08 XL.PUB.SYS/time+$34
export stub: 368.00007a48 SHOWCLKS.PUB.DEV/showctime+$10
SP=418361c8 RP=368.00007940 PROGRAM+$880
ctime (C library)
export stub: 368.00007a54 SHOWCLKS.PUB.DEV/showctime+$1c
SP=418361c8 RP=368.00007940 PROGRAM+$880
When output is being sent
to a log file...
back
to top
(WARP TURNON LOG has been used), all output from
all processes run within the monitored Job/Session is appended to
the same file. To allow output from individual processes to be
distinguished from each other, each LogFile line is prefixed by the
pin number of the process that generated it. For example:
:WARP TURNON 2002/01 LOG STACK
:RUN COBXX.PUB
:WARP PRINTLOG
Contents of TimeWarp LogFile S00053.LOG.TIMEWARP:
>>>>>> User #S53:
MANAGER.DEV,PUB& 1998/01/07 22:00:16
68 >>> Logging CI.PUB.SYS 2002/01/07
22:00:16
44 >>> Logging COBXX.PUB 2002/01/07
22:00:41
44 >>> Virtual DateTime: 2002/01/07 22:00:41
44 >>>
44 >>> ---------------------------- HPGMTSECS (intrinsic)
44 >>> export stub: 150.0037d6a0 XL.PUB.SYS/COB_TZ_DATE+$24
44 >>> export stub: 538.000052a0 COBOL.PUB.DEV/datez+$28
44 >>>
44 >>> ---------------------------- CALENDAR (intrinsic)
44 >>> export stub: 150.00378894 XL.PUB.SYS/cr_calendar+$10
44 >>> SP=41836288 RP=150.0037651c COB_DAY_DATE_TIME+$134
44 >>> SP=41836250 RP=150.00375cc0 COB_DISPLAY_SR+$14
44 >>> export stub: 538.000053d0 COBOL.PUB.DEV/datez+$158
44 >>>
44 >>> ---------------------------- CLOCK (intrinsic)
44 >>> export stub: 150.003788bc XL.PUB.SYS/cr_clock+$10
44 >>> SP=41836288 RP=150.0037640c COB_DAY_DATE_TIME+$24
44 >>> SP=41836250 RP=150.00375cc0 COB_DISPLAY_SR+$14
44 >>> export stub: 538.00005418 COBOL.PUB.DEV/datez+$1a0
44 >>>
68 >>>
68 >>> TURNOFF 2002/01/07 22:01:46
68 >>>
In this example, the CI has pin number 68, while
the program COBXX.PUB ran with pin number 44.
The LogTrace settings are automatically inherited
by jobs streamed from within the active Job/Session.
Disabling TimeWarp
System-Wide
back
to top
To disable TimeWarp, system-wide:
:WARP DISABLE
TimeWarp System-wide AIF:PE traps disabled.
You need SM or OP capabilities to issue this
command.
This disables TimeWarp's AIF:PE traps system-wide,
immediately However, it does not affect any other product's use of
AIF:PE traps on your system.
You'll need to re-enable TimeWarp using the WARP
ENABLE command before TimeWarp can be used again.
Note: Disabling TimeWarp should never normally be
necessary: the traps have no effect for any Job/Session unless
TimeWarp has been turned on via the WARP TURNON command, or the
Job/Session matches one of the logon Rules defined via WARP
MANAGER's Configure Rules screen.
Automatic DateTime
Inheritance
back
to top
When a Job or Session is operating in a TimeWarp
'virtual' DateTime, any jobs that are streamed from within the
Job/Session will also automatically execute in
the same virtual DateTime.
This feature greatly simplifies testing of complex
environments, where online applications perform processing by
streaming off background jobs.
Such 'nested' jobs are said to 'inherit' the
DateTime of the Job/Session that streamed them. When they log on, an
extra line appears in the Job's STDLIST indicating that the DateTime
has been inherited
JOB SAMPLE,MANAGER.SYS,PUB.
Priority = DS; Inpri = 8; Time = UNLIMITED seconds.
Job number = #j55.
MON, NOV 17, 1997, 10:48 PM.
HP3000 release: C.55.00 User Version: C.55.00
MPE/iX HP31900 C.05.08 Copyright Hewlett-Packard 1987.
All rights reserved.
STREAMED BY ONOFF,MANAGER.SYS (#J54) ON LDEV# 10
STREAM DATE: MON, NOV 17, 1997, 10:48 PM
TIMEWARP DATE: SUN, NOV 22, 1987, 11:09 AM (inherited)
Similarly, any Jobs streamed from within this Job
will Inherit the DateTime settings currently active within this Job.
The WARP MANAGER command's 'Console' screen identifies all TimeWarp
controlled Jobs, and displays the Job/Session from which they
inherited their DateTime settings.
In addition to Jobs, any Sessions that are created
by use of the :STARTSESS command from within a 'Warped' Job or
Session will inherit the Warped Job or Session's virtual DateTime.
An identification line is displayed when such Sessions are created
that indicates that the DateTime has been inherited.
Identifying Rule-Based
Jobs
back
to top
When Jobs log on that match logon Rules (setup
using the WARP MANAGER command's 'Configure Rules' screen), an extra
line appears in the Job's STDLIST indicating that the DateTime is
Rule-based:
JOB SAMPLE,MANAGER.SYS,PUB.
Priority = DS; Inpri = 8; Time = UNLIMITED seconds.
Job number = #j55.
MON, NOV 17, 1997, 10:48 PM.
HP3000 release: C.55.00 User Version: C.55.00
MPE/iX HP31900 C.05.08 Copyright Hewlett-Packard 1987.
All rights reserved.
STREAMED BY ONOFF,MANAGER.SYS (#J54) ON LDEV# 10
STREAM DATE: MON, NOV 17, 1997, 10:48 PM
TIMEWARP DATE: MON, JAN 19, 1998, 12:00 AM (from rule)
If a Job would be both a candidate for a Rule-based
DateTime, as well as an Inherited DateTime, the Inherited DateTime
takes precedence.
Excluding Individual
Program Files from being affected by TimeWarp
back
to top
In the event that you wish to prevent particular
programs from being affected by TimeWarp, even when the job or
Session in which they're being run is operating in a virtual
DateTime, you can do so using either of two available mechanisms,
Local or Global.
Local Exclusion
back
to top
To exclude a particular program from being affected
by any TimeWarp virtual DateTime within the current Job or Session,
issue the following command:
:WARP EXCLUDE <program>
where <program> is the name of the program to
be excluded. The <program> name may be fully or partially
qualified, and must exist when the command is issued. You can use
MPE or HFS syntax when specifying the program name.
Internally, the WARP EXCLUDE command converts
<program> into a SETVAR command, mapping embedded '.' and '/'
characters to '_' characters.
Programs excluded using this command are only
excluded for the duration of the Job or Session in which the command
was issued. The exclusion is not inherited by Jobs streamed from
within the current Job or Session.
To reverse the effect of a WARP EXCLUDE command,
use the following command:
:WARP INCLUDE <program>
Global Exclusion
back
to top
To globally exclude a particular program from being
affected by any TimeWarp virtual dateTime, in any Job or Session,
use the :WARP MANAGER command, and select the Configure Exclude
option on the Menu screen.
The Globally excluded program list is processed
once, whenever a Job or Session logs on. Changes made do not take
effect within currently running Jobs or Sessions.
Displaying all Excluded
Programs
back
to top
To display all currently excluded Program files
(both Local and Global), issue the following command (without any
parameters):
:WARP EXCLUDE
TimeWarp Excluded Programs:
TIMEWARP_EXCLUDE_EDITOR_PUB_SYS = TRUE
The display shows all active excluded programs, by
internally performing a SHOWVAR on the converted program names
(after '_' replacement). Excluded program names are represented by
variables set TRUE.
You can also use the :WARP MANAGER command's
Configure Exclude option to display the Global exclusion list.
TimeWarp Implementation
Notes
back
to top
There are three ways that a Job/Session can operate
under TimeWarp's control:
User issues WARP TURNON command within CI.
User uses WARP MANAGER to set up Rule within
SPEC.PUB.TIMEWARP file, then Job/Session matching rule logs on.
User streams Job from within TimeWarp virtual
DateTime environment.
TimeWarp currently intercept (indirectly or not)
all calls to:
-
CALENDAR
-
HPCALENDAR
-
CLOCK
-
DATELINE
-
TELLOP / PRINTOP
-
HPCIGETVAR
-
COMMAND / HPCICOMMAND
-
AIFTIME
All language specific date/time primitives, such as
COBOL's TIME-OF-DAY Posix program references to ENV variables.
Within the CI, TimeWarp catches all references to
all HP-date and time system variables wherever they're used (IF,
WHILE, CALC, ECHO, etc). TimeWarp intercepts references to the
following system variables:
TimeWarp also intercepts the following CI commands:
Within the Posix Shell (SH.HPBIN.SYS), the initial
environment list is set up with all DateTime related system
variables correctly fixed up.
Note that the Date and Time related env variables
in the shell represent a snapshot of the Date and Time when the
Shell was launched. They are not implemented (under MPE) as active
functions.
TimeWarp integrates seamlessly with VESOFT's MPEX,
including the following:
TimeWarp is not intended to
allow the security systems of third-party products to be
circumvented. We will work with third party vendors to ensure that
TimeWarp is not used to bypass their internal security.
TimeWarp Account
Structure
back
to top
The TimeWarp account contains the following Groups:
DEMO ....... Example programs and CI scripts that
demonstrate TimeWarp capabilities.
HELP ....... TimeWarp Documentation and Help files.
INTERNAL ... Files used internally by TimeWarp.
INSTALL .... Copies of all files. May be purged
following installation.
LOG ........ Log files generated by TimeWarp.
PUB ........ User accessible Programs and commands.
User Manual Release: 1998/06/01
|