| 510.28 Protect PD titles with lower-case content |
| Mon, November 21 2005 |
|
Previously, using OPAL PD attributes with a title parameter that had
quoted names with lower case characters or spaces between individual
names would have failed. Now, SUPERVISOR and FLEX will remove these
extra spaces and respect valid mixed-case file titles.
|
| 510.27 Change behaviour of blocked file access using .FIL |
| Thu, November 3 2005 |
|
Recent changes to the .FILE method allowed access to blocked files as
well as stream files; by default, the implementation unconditionally
stripped off sequence numbers and MARKID fields from the file.
The above behaviour has now been changed; the FILE method will now
always retain the original contents of the blocked file but will
delimit each line by a carriage return character. If the previous
behaviour is required, the reserved word NOSEQ may be optionally
provided. The syntax rule for the .FILE method are:
--- . FILE ------+-------------------------------------+-------|
| +-- <---- , ----+ |
| | | |
+--( -+-+---- <integer> ---+--+--+- ) ---+
| |
+--------- NOSEQ -----------+
The NOSEQ option will remove sequence numbers and markid (if
applicable) plus trailing spaces from each line of text. As with the
default .FILE behaviour, a carriage-return is inserted after every
line. A maximum of 393209 characters can be returned from any file,
including the inserted carriage returns.
For example, if the string variable $T held the name of a valid
resident file, then:
$T:="*TEST/FILE ON DEV";
$EX1:= $$T.FILE; % Reads entire intact (max 393209 chars)
$EX2:= $$T.FILE(5000); % First 5000 characters from file
$EX3:= $$T.FILE(NOSEQ); % Read entire file up to 393209 chars
% but sequence numbers& markid removed
$EX4:= $$T.FILE(9000,NOSEQ); % First 9000 characters from file with
% seq numbers, markid & trailing spaces,
% removed
The FILE method now has a more meaningful synonym of READ.
|
| 510.26 Correct GETSTR(..,FILE) handling broken by 510.24 |
| Tue, October 25 2005 |
|
Compiled OPAL code that used the GETSTR(...,FILE) function would always
return an empty string when executed by OPAL machine versions later
than 510.23. The problem did not occur with recompiled code. Also,
compiling variables that used the .FILE method would fault the OPAL
compiler if the CODE option was set. Both these problems have been
fixed.
|
| 510.25 Fix incorrect JOBREJECT attributes taken from EI record |
| Tue, October 4 2005 |
|
The JOBREJECT context will now return correct values for attributes
such as NAME and USERCODE. These attributes are not normally available
in a Job Rejected log record and are retrieved from the associated EI
record that appears in the log prior to a Job Reject entry. Due to
changes in the way that SUPERVISOR now processes all log records, the
EI records were not being retrieved correctly causing NAME, USERCODE,
CHARGECODE to return null values. This behaviour has been fixed.
|
| 510.24 Allow $.FILE read of non-stream files |
| Tue, September 27 2005 |
|
The .FILE method for string variables will now read non-stream i.e.
blocked files. The selected file must be of symbolic form i.e. ALGOL,
JOBSYMBOL, DATA etc. Sequence numbers, if present, and trailing spaces
will be automatically removed from each line of text which is delimited
by a CR (/) character. Up to 393210 characters will be returned.
If the entire file need not be read, the .FILE method has also been
enhanced to permit an optional arithmetic parameter indicating the
number of characters to be read from the file.
$MYFILE:="(LIVE)TEST/BATCH";
$TEXT:= $$MYFILE.FILE(999); % 999 CHARACTERS
In the above example, the .FILE call will read a maximum of 999
characters or the size of the file, less sequence numbers and spaces.
|
| 510.23 Extend DROP with negative parameter |
| Fri, September 23 2005 |
|
The DROP function will now take a negative parameter signifying the number of characters to drop from the string. If the parameter value is negative, then the specified number of characters are dropped from the RIGHT of the string. For example:
DROP("ABCDEF",-2) returns "ABCD"
This minor enhancement allows the simplification of DROP expressions
such as:
DROP($A,LENGTH($A)-2) to DROP($A,-2)
|
| 510.22 Support for SUPERVISOR Opal COMMAND context |
| Fri, September 23 2005 |
|
This changes supports the implementation of the new DEFINE program type called COMMAND. This is discussed in more detail in SUPERVISOR DNote 510.38.
|
| 510.21 Correct $S:=&$Y return value |
| Tue, August 16 2005 |
|
The concat variant of a Putstr or string variable assignment has always been counter intuitive.
If $A="123" and $B="567" then most people expected the expression
$C:=$A:=&$B to leave $C="123456" and $A="123456" in fact before this
change $C would = "456".
Now PutStr("A",&GetStr("B")) and $A:=&$B will return the concatenated string "123456".
|
| 510.20 Support for Myself(Codeversion) |
| Tue, August 16 2005 |
|
Supports Myself(Codeversion) as detailed in GSTableGen notes.
|
| 510.19 Fix for $$Var.Global |
| Mon, August 8 2005 |
|
$$Var.Global was intended to return the global value of the variable
who's name is held in $Var. Ex If $VAR="X1" then $$VAR.Global should
be the same as $X1.Global. As coded this would only happen if
$Var.Global = "X1".
$$Var.Global now works as intended.
|
| 510.18 Fix broken MX attributes |
| Tue, July 19 2005 |
|
The change documented in OPAL DNote 510.17 caused some MX attributes,
including PROCRATE, to generate incorrect compiled code such that null
values would be returned when the code was executed. This problem is
now resolved.
|
| 510.17 IMPLEMENT METERING ATTRIBUTES |
| Mon, July 4 2005 |
|
A new subset of attributes, called METERING, has been added to the SUPERVISOR SYSTEM context. These attributes apply only to COD metering systems and are retrieved using SYSTEMSTATUS call type 31. Nearly 200 attributes have been implemented.
In a HELP ATTR response, each attribute will appear with a context of SYSTEM MET; a recent change to SUPERVISOR allows the metering attribute set to be seen with HELP ATTR =:METER.
|
| 510.16 SUPPORT NEW AND REVISED VDBS ATTRIBUTES |
| Fri, June 3 2005 |
|
A significant number of new attributes, allowing comprehensive access to database auditing statistics, have been added to the VDBS context, recently implemented in DNote 510.10. These attributes are discussed at length in several Unisys PLEs (18074460 and 17685163) and also in the Documentation changes section of recent DMALGOL Programming Reference manuals.
Due to the Unisys revisions, several incorrect attribute definitions have been replaced with new names and revised semantics.
|
| 510.15 SUPPORT FOR VDBMS CONTEXT |
| Fri, May 20 2005 |
|
A new OPAL context called VDBS is available to SUPERVISOR users. This context allows comprehensive database information such as OVERLAYRATE, ALLOWEDCORE and CURRENTCORE (as seen in a SM STATUS RESPONSE) to be directly available as attributes. The full set of attributes are visible with the command:
TT HELP ATTR =:VDBS
The VDBS context is available in the following ways:
1. The EVAL and WHEN commands using DEFINES assigned to the VDBS context.
DEFINE + SITU VDBS(VDBS):
OVERLAYRATE GTR 20
DEFINE + ODTS VDBS(VDBS):
SHOW("MIX ",MIXNO,,"Name: ",DBNAME,/,
"ALLOWEDCORE = ",,ALLOWEDCORE,/,
"CURRENTCORE = ",,CURRENTCORE,/,
"OVERLAYRATE = ",,OVERLAYRATE 4.4 );
Using EVAL allows a 'one-off' evaluation of all active databases. Using WHEN causes a cyclical evaluation of all active databases, defaulting to 60 second cycles, but controllable using DELAY. For example:
EVAL VDBS DO VDBS
WHEN VDBS DO VDBS DELAY 5
2. VDBS and VDBSSTR may be used via the VIA function, as in the following example expressions:
VIA(VDBS(12345):OVERLAYRATE) GTR 20
VIA(VDBSSTR("34567"):CURRENTCORE)
3. As a method for real or string variables, similar to the MX method:
#MIXNO.VDBS(ALLOWEDCORE)
$MIXNO.VDBS(#(ALLOWEDCORE,,INUSECORE))
In the above example, the values held in #MIXNO and $MIXNO must be valid database mix numbers.
The VDBS context is implemented using the same interface as the Opal DBS function that the values are returned in encoded form allowing attribute mapping to occur.
If many databases are being regularly monitored, usage of the VDBS context should be used carefully as the mechanisms used by SUPERVISOR are expensive. However, VDBS does provide a very simple method to observe multiple databases over time. SUPERVISOR employs an internal caching mechanism to protect against unneeded database linkages.
|
| 510.14 FIX ROUNDING ON FAMILYTIME ATTRIBUTE |
| Mon, May 16 2005 |
|
The PER FamilyTime attribute would sometimes return a different time than that shown in the OL command.
|
| 510.13 ADD .FILE PROPERTY TO $VARIABLES |
| Mon, May 16 2005 |
|
$MyFile.File can now be used a synonym for Getstr("MYFILE",FILE)
To read from file names which are not valid identifiers (eg. MY/"FILE.TXT") store the name in another variable and use the $$ construct.
$MyName:='(BOB)MY/"FILE.TXT" ON DEV';
$data:=$$Myname.File
|
| 510.12 PROTECT PDSURECHECKCOMPILE WITH INVALID TITLE |
| Wed, April 20 2005 |
|
Use of the PDSURECHECKCOMPILE attribute from FLEX or SUPERVISOR Opal scripts could have caused various faults if the name of the passed file was illegal or the file itself did not exist. This problem is now fixed; OPAL will now verify that the file is legitimate before processing the PDSURECHECKCOMPILE attribute.
|
| 510.11 FIX NETWORKING ATTRIBUTES |
| Wed, April 20 2005 |
|
Previously, the NETWORKFILE attribute always returned incorrect values for the network providers BNAV1, BNV2 and X25 (these were the only old networks allowed) and did not handle networks such as TCPIP or CNS. Now, the NETWORKFILE and NETWORKMODE attributes have been changed to accept a string, instead of a mnemonic, denoting the network provider.
For example:
NETWORKFILE("TCPIP")
NETWORKMODE("BNA")
The list of available network providers may vary from system to system and the NETPROVIDERS attribute returns a comma-delimited list of the current networks. The changes in these attributes make it much easier to determine the status of the all providers on the system.
|
| 510.10 OLD WORKDAY CHECKING FOR 7-DIGIT JULIANS |
| Thu, March 24 2005 |
|
If a 7-digit julian date value was passed to the WORKDAYS function and the julian was earlier than today's date, WORKDAY would return incorrect results. Using WORKDAY with today's date, dates in the future or Unisys 5-digit julian dates were not impacted. This problem is now resolved.
|
| 510.09 FIX CORRUPTED COMMANDTEXT |
| Thu, March 24 2005 |
|
The COMMANDTEXT attribute in the OPERATOR context would occasionally be truncated by one character and corrupted by a leading space or invalid character. This problem is now fixed.
|
| 510.08 DEIMPLEMENT OPTIONAL LOWER CASE PRINTING |
| Mon, March 14 2005 |
|
This changes supports the deimplementation of the SUPERVISOR LPLOCASE option, as described in SUPERVISOR DNote 510.15.
|
| 510.07 BETTER HANDLING OF LARGE SUMLOG RECORDS |
| Mon, March 14 2005 |
|
SUPERVISOR will now internally maintain SUMLOG log records in Unisys Sumlog Version 1 instead of Version 0, affecting the layout of attributes that are mapped onto the first 4 words of the record. Such attributes include the generic LOGMIXNO, LOGJOBNO, LOGMAJOR etc. This change has been applied to correct handling for individual records greater than 1023 words (maximum allowed in the Version 0 layout) particularly seen with various Log Major Type 2 Maint entries. Previously, the LOGTEXT and LOGPRINT attributes would have returned 'NO LOG TEXT: MAINT RECORD TOO LARGE' for log records greater than 1023 words; this restriction has now been removed.
Although OPAL attribute definitions have changed in the LOG context, the effect is transparent on older compiled OPAL code and scripts will continue to run without recompilation. However, since there is a small overhead associated with the support of the older formatted and a recompile of any LOG-based scripts is recommended at some stage.
|
| 510.06 CORRECT DUPLICATE TIMEOFDAY ATTRIBUTE |
| Fri, March 4 2005 |
|
TT HELP ATT TIMEOFDAY listed the attribute twice. This has now been corrected.
|
| 510.05 ENSURE DELINKAGE OF SURELIB LIBRARY |
| Tue, March 1 2005 |
|
FLEX LIBRARY will now automatically delink from the SURELIB library once a FLEX request has completed. Previously, FLEX LIBRARY would remain permanently connected to SURELIB unless the FLEXLIB library was manually thawed.
|
| 510.04 FIX SEG ARRAY WITH PDSURECHECKCOMPILE ON WILDCARD |
| Tue, March 1 2005 |
|
New SURE attributes for the SUPERVISOR MX and LOGBOJ contexts have been implemented. These attributes are named in both contexts as:
SUREBOJCODECHECK
SUREBOJCODETIMESTAMP
These attributes allow the caller to easily determine the compilation status of a codefile that has just been initiated. The attributes do not require a file title parameter as this is automatically determined from the log record (using the NAME attribute) or the mix entry (the CODETITLE attribute). To assist with the validation by the SURE software, both USERCODE and FAMILY are stripped from the codefile name prior to the SURE call.
The MX SUREBOJCODECHECK attribute will return indeterminate results if used for a task that is not a real codefile. Note that MCP independent runners will have the MCP name as their codefile. The LOGBOJ attribute does not have this limitation and can be used for both EVAL and WHEN environments.
SUREBOJCODECHECK will accept an optional string parameter representing the SURE repository name, if required. As with all SURE attributes, networking support is provided where the SURE repository is not available on the local system.
Previously, in FLEX, using the PDSURECHECKCOMPILE or SURECHECKCOMPILE attributes with a FILES command that used a wild-card family search e.g 'FILE (*)= ON =' would fault for each file reported. This problem is now fixed.
|
| 510.03 PROTECT LARGE LOG TYPE 2 RECORDS |
| Thu, February 17 2005 |
|
Previously, very large SUMLOG records passed to a LOG-based WHEN or EVAL could have caused various SUPERVISOR faults during extraction of the log entry or generation of the LOGTEXT attribute. These faults included 'FAULT #4 IN EVREADER in SITUATION' in the EVALREADER process, seen during log analysis, or PROCESSOR LOOP and INVALID INDEX @ 97033275 generating the LOGTEXT attribute. The problems occurred because the extracted log record, in the current implementation, must be a maximum of 1023 words and truncated records were often being handled incorrectly.
These longer records are primarily Major Type 2 (MAINTENANCE) and in particular, Minor Types 17 (Hardware Config), 18 (Software Config) and 23 (Mainframe Report). Instances of Mainframe records in excess of 2000 log record blocks have been seen, causing severe problems in the log file processing. Now, when any Major Type 2 records longer than 1023 words a extracted, the SUMLOG is correctly scanned and the LOGTEXT attribute will now return the text 'NO LOG TEXT:MAINT ENTRY TOO LARGE'. This feature is a temporary detour until the log handling routines can be changed to accommodate larger long records.
|
| 510.02 WFL JOBID ATTRIBUTE PROTECTION |
| Mon, February 14 2005 |
|
This change provides support for the JOBID attribute (used only in an ON JOBMESSAGE block) due to changes made by SUPERVISOR Dnote 510.06.
|
| 510.01 FIX WAIT<NAME>,C) AND WAIT(<NAME>,NOT <STATE>) |
| Mon, February 14 2005 |
|
Version 510.01 of Supervisor introduced a problem in Wait(<name>,C) and Wait(<name,Not <state>). Using such waits could give the wrong result, and in some cases cause the Odts to fault. The problem has been corrected
|
| 500.38 DYNAMIC VARIABLES AND LIMIT CONFIG USAGE |
| Wed, February 9 2005 |
|
The recent major changes to variable handling covered the maintenance of many aspects of OPAL string and real manipulation except for 'dynamic' variables. Dynamic variables allow another OPAL string variable to be used as a key e.g. GETSTR(GETSTR("A")) means use the string value in variable A as a key for the GETSTR function that surrounds the GETSTR. This is sometimes useful in WHENs or EVALs, for example, to use a mixnumber or unit number as a key to gold information about that mix entry or unit.
The above capability has now been introduced for the new variable mechanisms. The following syntax has been implemented:
<string variable>
----+--- $ ----+---- <var name> ---------------------------------|
| |
+--- $$ ---+
<real variable>
----+--- # ----+---- <var name> ---------------------------------|
| |
+--- #$ ---+
In both cases, the prefixing of '$' before the variable name means use the value held in the string <var name> as the key for loading the requested value. For example:
$A:="TESTVAR";
$$A:= "THIS IS REALLY TESTVAR"; %string is actually in $TESTVAR
$$A is the same as $TESTVAR or GETSTR("TESTVAR").
$MX:=#("CPU",MIXNO);
#$MX:= CPUTIME; % Stores into variable CPU1234
#$MX is the same as GET("CPU1234") or #CPU1234 (if MIXNO=1234).
It is not possible to use a string expression with a $$ or #$ operation. Note that, as with the older variable mechanism, using an empty string as a key for a dynamic variable is not permitted:
FUNCTION VARIABLE KEY CANNOT BE NULL STRING
OPAL automatically upcases any lower case characters into the loaded key name as all $ and # variable handling expects upper case.
The ability to change Magus configuration variables using the CONFIG property with $ variables, PUTSTR and STORE functions. The preferred method of changing Magus configuration information is to use the INSTALL utility via the CONFIG and MAINT menus.
|
| 500.37 SUPPORT FOR TIMESTAMP ATTRIBUTES |
| Wed, February 2 2005 |
|
This change supports some of the new julian date attributes implemented in OPAL GSTABLEGEN DNote 500.26.
|
| 500.36 VALID MNEMONICS FOR PKSUBTYPES > 56 |
| Mon, January 24 2005 |
|
Valid Mnemonics are now returned for the PKSUBTYPE attribute when the value is greater than 56.
|
| 500.35 SHOW ALL SYSTEM ATTS IN HELP ATT = SYSTEM |
| Tue, January 18 2005 |
|
The internal structure of Opal, groups System Attributes into several subtypes.
Ex System SS, System PD, System Nap etc.
Unfortunately the HELP ATT =:SYSTEM command only returned System attributes which had no subtype. This command will now return all System attributes, including those with subtypes.
|
| 500.34 DONT TREAT SITU AS CONSTANT WHEN EXTERNAL FUNCTION |
| Wed, January 5 2005 |
|
Supervisor has code to optimise System situations which are marked as constant. If such a situation returns TRUE the situation code is no longer evaluated but the ODTs is executed after each delay period. Examples of such situations would be
DEF + SITU TEST:TRUE
DEF + SITU MINE:HOSTNAME="MYSYS"
If an external function like KEYIN or COMS was used in a Situ which would otherwise have been 'constant' the Constant flag was not turned off.
This would mean that a Situ like :
DEF + SITU TEST:"XXXX" ISIN KEYIN("W")
Would trigger the ODTS whenever "XXXX" was in the response to a W command and would continue to trigger the ODTS even after there was no "XXXX" in the W response.
The use of an external function in a Situ now resets the constant Flag.
|
| 500.33 LOAD OPTIMIZED PD ATTS FROM CORRECT ARRAY |
| Thu, December 9 2004 |
|
When a FLEX REPORT or SELECT used multiple PD attributes with normal file attributes in the same expression, it was possible for some of the PD attributes to return incorrect values. For example:
REP CODEFILE,,PDGUARDED(TITLE),OTHERRWX,,PDGUARDED(TITLE)
In the above expression, the second PDGUARDED attribute could return incorrect values. This optimization problem is now fixed and PD attributes behave correctly.
|
| 500.32 FIX OLD OPAL COMPILED CODE FOR WFL FUNCTION |
| Thu, December 2 2004 |
|
The change in DNote 500.31 affected existing compiled code that uses the WFL function such that, although the job was correctly started, any job messages tracked by an ON JOBMESSAGE code block would invariably be corrupted. This behaviour has been corrected and old code will now work correctly.
|
| 500.31 FIX JOBMSG CORRUPTION FROM LOG OPALS |
| Wed, November 24 2004 |
|
Previously, using ON JOBMESSAGE code inside a LOG-based ODTSEQUENCE linked via an EVAL or WHEN would fault when the first job message was processed. Note that ON JOBMESSAGE functionality only works after a WFL function has been executed. This problem is now fixed.
|
| 500.30 FIX NUMERIC PERMANENT VARIABLES |
| Wed, November 24 2004 |
|
Version 500.22 reintroduced a bug. The get function or a numeric variable with a perm modifier could cause unexpected results or an Opal fault.
|
| 500.29 DETOUR SAMEID OPTIMIZE PROBLEM |
| Tue, November 9 2004 |
|
Multiple use of the SAMEID and SAMEIDS attributes, used in a FLEX REPORT or SELECT, often failed to return correct values or cause the REPORT to fault for the first file encountered. The problem would occur if SAMEID was used in one or more IF ..THEN expressions with no other FLEX attributes being used. This problem has now been resolved.
|
| 500.28 FIX SEMANTICS VALUE ARRAY OVERFLOW |
| Fri, October 22 2004 |
|
Internal change to handle large GSSEMANTICS arrays for SUPERVISOR. No functionality has been affected.
|
| 500.27 SUPPORT FOR SUPERVISOR FI ATTRIBUTES |
| Fri, October 22 2004 |
|
This change supports the new mix subset of FI attributes, allowing the retrieval of file information currently used by an individual task or job. The OPAL machine has been optimised to specifically handle the way these attributes are retrieved to limit CPU overhead.
For more information please refer to SUPERVISOR DNote 500.18 and OPAL GSTABLEGEN DNote 500.04.
|
| 500.26 IMPROVE CODE LISTING LAYOUT |
| Fri, October 22 2004 |
|
For SUPERVISOR and FLEX compilations with the CODE option set, the generated code output has been changed to present a clearer format that is better suited for PC or terminal display instead of printouts.
|
| 500.25 ATTRIBUTE FUNCTION CLEANUP |
| Fri, October 22 2004 |
|
This internal Metalogic change improves the handling of OPAL attribute functions by the OPAL compiler and has no effect on customer usability. Attribute function information is now more detailed in a code listing and SUPERVISOR's handling has been redesigned allowing the retirement of some existing OPAL operators.
|
| 500.24 FIX LOGMIXNO AND LOGJOBNO ATTRIBUTES |
| Wed, October 6 2004 |
|
Depending on the length of the log entry being scanned for any of the SUPERVISOR LOG contexts, the OPAL LOGMIXNO and LOGJOBNO attributes could return zero or incorrect values. This problem applied to both EVAL and WHEN variants and is now fixed.
|
| 500.23 LIST VALID MNEMONICS FOR 'MNEMONIC OF' CASES |
| Tue, October 5 2004 |
|
Attributes which returned Mnemonic values corresponding to MCP Task or File attributes are reported in Help Attributes as 'Mnemonic Values: As for Task/File Attribute....' but the valid mnemonics are not listed . This change causes the valid mnemonics to be listed.
|
| 500.22 FIX MULTIPLE ATTRIBUTES AS PARAMETERS TO AN ATTRIBUTE |
| Mon, October 4 2004 |
|
If an attribute took more than two parameters and those parameters were themselves attributes, then unexpected results could occur.
Ex. In a PER Context DUMAX(FamilyName,FamilyIndex) would fail.
This problem has been corrected.
|
| 500.21 SUPPORT INUSESTACKS AND MAXACTUALSTACKS |
| Fri, September 24 2004 |
|
This change supports the new SUPERVISOR attributes INUSESTACKS and MAXACTUALSTACKS, as described in OPAL/GSTABLEGEN DNote 500.17.
|
| 500.20 FIX FOR LONG PERMANENT NUMERIC IDENTIFIERS |
| Tue, September 21 2004 |
|
If an identifier of longer than 13 characters was used in a numeric assignment expression, the identifier stored would be truncated to 13 characters.
Ex #SUMLOGLIMIT47484.perm:=333
would behave #SUMLOGLIMIT47.perm:=333.
A PUT with a perm modifier would cause an Opal compiler fault.
Both of these problems have been corrected.
|
| 500.19 DON'T ALLOW HYPHEN IN IDENTIFIERS |
| Tue, September 14 2004 |
|
OPAL change 500.18 caused FLEX and SUPERVISOR to mishandle negative numbers and other expressions using a minus sign. This behaviour has been corrected.
|
| 500.18 ALLOW HYPHEN CHARACTERS |
| Tue, September 14 2004 |
|
Previously, certain SUPERVISOR commands, in particular PDT, would not permit the hyphen character (-) to be used in wild-card filename patterns. This restriction has been lifted.
|
| 500.17 ALLOW OPAL DUMP IN MACHINE |
| Tue, September 14 2004 |
|
This change supports the ability to force an OPAL environment dump prior to the execution of a specific code syllable. Please see SUPERVISOR DNote 500.31 for more information.
|
| 500.16 ADD PDSURECHECKBOT FOR FAST EASIER SURE BOT CHECK |
| Tue, September 14 2004 |
|
A new attribute, PDSURECHECKCOMPILE, has been implemented for easier checking of SURE codefile compilation and WFL creation dates. This attribute can be optionally used instead of the SURECHECKCOMPILE and PDSURETIMESTAMP combination, as described in OPAL DNote 490.20.
For example, in a SUPERVISOR LOGBOJ script to check a codefile BOJ against the SURE repository, where the NAME attribute represents the codefile name, then there are now 2 ways to check the validity of the file:
PDSURECHECKCOMPILE(NAME)
Or
SURECHECKCOMPILE(NAME,PDSURETIMESTAMP(NAME))
For FLEX scripts, the NAME attribute would generally be replaced by TITLE or FILENAME. In the current implementation, when the codefile title is passed to SURE, any 'ON <packname>' part is automatically stripped from the title.
As with the other SURE attribute subset, PDSURECHECKCOMPILE will allow an optional repository as the second parameter:
PDSURECHECKCOMPILE(TITLE,"FACTOS")
|
| 500.15 IMPLEMENT DUMP STATEMENT |
| Wed, August 4 2004 |
|
The DUMP statement is now available for SUPERVISOR ODTSEQUENCES only. DUMP allows a running OPAL program to perform primitive 'program dumps' of its own environment.
--- DUMP ---------------------------------------------|
The dump, which always goes directly to printer backup, consists of the following data:
Slot-related information similar to WHEN ?
OPAL string variables
OPAL real variables
Run-time stack information
Wait state details
The same information can also be seen by a running OPAL using the SLOT command, returning the same info to remote terminals, please see SUPERVISOR DNote 500.26 for more information.
|
| 500.14 SUPPORT FOR VL CONTEXT |
| Mon, July 5 2004 |
|
A new OPAL context, called VL has been implemented for SUPERVISOR. On cataloging systems only, this context allows information about volumed entries held in the system Volume Library. Knowledge of Flex and CopyWrite volumes, as created by FAMILYMANAGER and MERGETAPE, is included in the attribute subset using information from the FLEX Statistics file.
The full set of attributes can be viewed using the command:
TT HELP ATTR =:VL
Please see SUPERVISOR DNote 500.23 for more information.
|
| 500.13 FIX MONTHNAME FUNCTION |
| Fri, July 2 2004 |
|
The change applied by DNote 500.04 inadvertently broke the MONTHNAME function such that it usually returned a string with the wrong length. This problem is now fixed.
|
| 500.12 ADD FLEX NOCAPSULE ATTRIBUTE |
| Tue, June 29 2004 |
|
This change adds a new FLEX attribute, RELEASED, which reflects that a capsule on a PC Disk Farm has been released from that farm. This information can only be retrieved from the LIBMAINTDIR associated with the Disk Farm.
|
| 500.11 SUPPORT FOR SUPERVISOR QUEUED CONTEXT |
| Tue, June 29 2004 |
|
A new OPAL context, called JOBQUEUE or SQ, has been implemented for SUPERVISOR. This context allows information about queued jobs to be retrieved from the system and mapped to OPAL attributes. The full set of attributed can be viewed using:
TT HELP ATTR =:SQ
Please see SUPERVISOR DNote 500.21 for more information.
|
| 500.10 FIX FOR #XX.PERM AND GET("XX".PERM) |
| Thu, May 20 2004 |
|
When used in an opal string the get function or a numeric variable with a perm modifier could cause unexpected results or an Opal fault.
|
| 500.09 REINSTATE GETSTR(...,FILE) |
| Tue, May 11 2004 |
|
Version 500.05 disabled the File option for the GetStr function. It has been re-instated.
|
| 500.08 INTERNAL CHANGE |
| Fri, April 23 2004 |
|
Internal change only.
|
| 500.07 SUPPORT FOR NEW JOBREJECT ATTRIBUTES |
| Tue, April 13 2004 |
|
Support has been added for the new JOBREJECT attributes discussed in OPAL GSTABLEGEN DNote 500.07.
|
| 500.06 ADD GLOBAL MODIFIER |
| Wed, March 31 2004 |
|
.Global has been added as a new property for Opal variables.
In Supervisor .Global variables are shared by all slots and their value is retained only for the duration of the current invocation of Supervisor. They are lost on Halt Load or Supervisor restart.
In Flex the variables are shared by all runs of Flex or Familymanager and retained only for the duration of METALOGIC/FLEX/LIBRARY. They are lost after a Halt Load or if Flex Library is thawed.
Global variables are not shared between Flex and Supervisor.
The intention is to allow shared variables without the IO overhead of Perm variable.
Global can also be used in the old Get,Getstr etc functions.
$S.Global is equivalent to Getstr("S",Global)
|
| 500.05 FIX OPAL VERSION CODE FOR FLEX RULES |
| Thu, March 25 2004 |
|
Version 490.22 caused any flex rules enter command to fail with an Opal compiler fault. This has been corrected.
|
| 500.04 REPORT RETRY WITH TRACE CALLER |
| Thu, February 26 2004 |
|
Internal change only.
|
| 500.03 TERM KNOWLEDGE ATTRIBUTE |
| Thu, February 26 2004 |
|
A new self-knowledge attribute has been added to SUPERVISOR. This allows a DO or WHEN to determine the original log-on usercode, accesscode and COMS stationed, if applicable. Note that usercode and accesscode settings will change if the TERM USER of the station has been changed.
A HELP ATTR TERM will show:
TERM (SYSTEM) RETURNS STRING
PARAMETERS : 1. MNEMONIC, VALUES : LOGONUSER(66), LOGONACCESS(67),
LOGONSTATION(68).
SEMANTICS : Returns information about the user's current TERM
settings inherited from COMS or changed by TERM USER.
|
| 500.02 IMPLEMENT TAKE FOR RHS OF STRING |
| Thu, February 26 2004 |
|
The TAKE function will now allow a negative parameter signifying the number of characters that should be returned from the right hand side of a string. For example:
TAKE("ABCDEFGHIJKL",-3) returns "GHI"
This is a shorthand for the more cumbersome:
DROP("ABCDEFGH",LENGTH("ABCDEFGH")-3)
|
| 500.01 MCP 5.0 COMPATIBILITY |
| Tue, February 17 2004 |
|
Confirm compatibility with MCP 5.0.
|
| 490.23 FIX PROBLEM WHEN RELATED ATTRIBUTES USED AS PARAMETERS |
| Mon, February 16 2004 |
|
If two related attributes (e.g. MSGNO and TEXT) were used as parameters to another attribute, it was possible for invalid code to be generated which could case either a fault or invalid results.
A bug introduced by Opal Version 490.08 has been corrected. The Per FAMILYNAME and the NAPLOG TimeStamp attributes are now working.
|
| 490.22 INTERNAL CHANGE |
| Mon, February 16 2004 |
|
Internal change only.
|
| 490.21 IMPLEMENT FILENO |
| Wed, February 11 2004 |
|
The small change implements the FILENO function attribute in FLEX.
|
| 490.20 SUPPORT FOR FLEX SURE ATTS WITH REPOSITORY |
| Tue, February 10 2004 |
|
The SURE attribute subset returns information, via the SURELIB system library, from the InfraDesign SURE source control system. These attributes have been extended to allow an extra, optional parameter which identifies the SURE repository to be accessed. Both SUPERVISOR and FLEX Library will automatically attempt a connection to a different SURE library identified by a modified SL.
For example, a typical SURE attribute reference inside a LOGBOJ or MX=BOT context might be:
SURECHECKCOMPILE(NAME,PDSURETIMESTAMP(NAME))
If the file identified by NAME was in a different SURE repository, here signified as the string 'SAS', then the attribute call would appear as:
SURECHECKCOMPILE(NAME,PDSURETIMESTAMP(NAME),"SAS")
SUPERVISOR will attempt to connect to an SL-ed library whose function name is:
SL SURELIBSAS
SUPERVISOR and FLEX will automatically link to the next library, delinking from a previous SURELIB if needed. This mechanism allows multiple SURE repositories to be accessed, identified by different usercodes and disk families.
|
| 490.19 EXTEND LOG SITU DEFINITIONS |
| Tue, February 10 2004 |
|
Previously, it was not possible for a LOG context SUPERVISOR script to detect more than one LOG major type in the subcontext definition; only a single major type with a list of minor types was permitted. This se restriction has now been relaxed and multiple LOG Major types can be specified for a LOG SITUation using the '+' operator:
DEFINE + SITUATION LOGSELECT(LOG=1+5+14):
The above SITU will only receive LOG Major Types 1,5 and 14 - all minor type for each Major will be automatically selected. It is not possible to assign a Minor type for an individual Major type in this mechanism.
This implementation allows a LOG SITU to receive more than one Major type in a very efficient way instead of using a generic LOG context which would receive ALL generated log entries. The new LOGTYPE attribute allows the SITU to easily select only those Minor types that are of interest (LOGTYPE=(LOG Major*100)+LOG Minor):
DEFINE + SITUATION LOGSELECT(LOG=1+14):
LOGTYPE={105,106,1404}
The above SITU would only select Major Type 1 and Minor Types 5 or 6, or Major Type 14 with Minor Type 4.
|
| 490.18 IMPLEMENT EI ATTS FOR JOBREJECT |
| Tue, February 10 2004 |
|
The JOBREJECT context now supports a small subset of attributes from the EI log record that is generated prior to a job that iq Q-DSed.
These attributes include NAME, USERCODE, CHARGECODE and ACCESSCODE.
|
| 490.17 CORRECT LOGFIELD HANDLING |
| Tue, February 3 2004 |
|
Previously, the LOGFIELD attribute could return incorrect values when using both the source bit and length parameters. This problem has now been fixed.
|
| 490.16 LOGPRINT ALTERNATIVE FOR LOGTEXT |
| Tue, February 3 2004 |
|
The LOGTEXT attribute has multiple spaces automatically removed from the content to allow OPAL programs to better scan the message. However, using LOGTEXT in a simple SHOW or PRINT statement presents a poorly-formatted and hard to read display. To help this, an alternative attribute called LOGPRINT will now present the log record in the same indented format as LOGANALYZER.
Previously, an EVAL of a EI log programs would have returned all log records instead of only LOGMAJOR=0 and LOGMINOR=1 or 2. Any EI programs run as a WHEN did not show the same behaviour. This problem is now fixed.
Typically, log CONFIG records (LOGMAJOR=2) can be very large in size which could have caused considerable problems when SUPERVISOR attempted to generate the LOGTEXT attribute. Because SUPERVISOR was truncating the log entry, the log analysis could generate a variety of problems including forcing SUPERVISOR into a processor loop or random faults. Although the largest log entry that SUPERVISOR can handle has been significantly increased, attempts to retrieve LOGTEXT information for very large entries will return the following text into the attribute:
NO LOG TEXT: CONFIG RECORD TOO LARGE
SUPERVISOR will now allow the legal 'LOG=0' context specification where an 'INVALID OBJECT SPECIFICATION# was given before.
|
| 490.15 ADD NEW PROPERTIES MX, PER,TAPEDB AND PRINTS |
| Thu, January 29 2004 |
|
These new properties can be used with numeric or string variables. They allow the interrogation of an object determined by the value in the variable and the type specified by the property name.
Ex.
$A.MX(NAME) would return the name of the mix entry who's mixnumber is held in $A.
#A.PRINTS(TOTALLINES) would return the total number of lines in the print request who's number is held in #A.
#A.Per(#(KIND,,LABEL)) would return the Kind and name of the unit who's unit number was held in #
$A.TAPEDB(TITLE) would return the title of the tape who's serial number is held in $A
This gives a more concise way than using VIA to get attributes for objects other than the current object.
$A.MX(NAME) is equivalent to VIA(TASKSTR($A):NAME)
|
| 490.14 CLEAN UP DEBUG CODE |
| Tue, December 16 2003 |
|
This is an internal Metalogic change that cleans up debugging features inside the OPAL machine and compiler.
|
| 490.13 SUPPORT FOR USE SILO COMMAND |
| Tue, December 16 2003 |
|
This patch supports the TT USE SILO command changes discussed in SUPERVISOR Dnote 490.20.
|
| 490.12 FIX ILLEGAL USE OF EXPRESSION LISTS |
| Tue, December 16 2003 |
|
Previously, the use of expressions lists i.e. {"A","B","C"...} or {1,12,44,56} were permitted by the OPAL compiler under various conditions even though the usage was illegal. These anomalies have now been corrected; such illegal use will give the appropriate error:
'An <expression list> cannot appear here'
Some internal compile-time debug code has also been removed.
|
| 490.10 PDSURETIMESTAMP ATTRIBUTE |
| Thu, October 30 2003 |
|
The Infradesign SURE system holds timestamps for both codefiles and job files but the PDSEG0TIMESTAMP attribute, used to return the compile date and time of a codefile in hex format specifically for SURE, cannot work this way for JOBSYMBOL files.
To help support this additional feature, PDSEG0TIMESTAMP has now been replaced by the PDSURETIMESTAMP attribute which will return the same TIME(7) hex string for a JOBSYMBOL file, constructed from the job's creation date and time attributes.
|
| 490.09 SUPPORT FOR CONTAINER ATTRIBUTE |
| Wed, October 22 2003 |
|
A new FLEX attribute, CONTAINER, returns TRUE if the file being handled by FLEX either has a FILEKIND=CONTAINERDATA or is a stream file with a container signature in the first 18 characters of the file. No further verification of the file is performed. FLEX will automatically suppress file OPEN/CLOSE records in the SUMLOG for each eligible container file opened during the search.
|
| 490.08 MORE FIXES FOR TIMESTAMP ROUNDING |
| Tue, October 14 2003 |
|
Version 490.06 did not fix the timestamp rounding problem. This change does.
The Time functions has also been revised to round down seconds to avoid a time display like 10:05:60.
|
| 490.07 FIX MISSING LOGTEXT HDR FOR MAINT LOG RECS |
| Tue, October 14 2003 |
|
If the LOGTEXT attribute was used to analyze an IOEXCEPTION maintenance log record (major type 2, minor type 21) from a log-based EVAL, it was likely that heading information would be omitted from the generated LOGTEXT attribute.
For example, the LOGTEXT attribute could return either of the following forms:
PACK 2002 (UNITTYPE=17 SUBTYPE=4022-103 SCSI PACK CTLTYPE=FCPK1EMC
IO START AREA AREA PORT CTL LOGICAL
MIX DATE TIME START LENGTH #
317 10/10/2003 08:28:34 09959D38 5E7B8 CHARS 21114 13540 5E7B80000081
Or, with most of the heading removed:
08:28:34 09959D38 5E7B8 CHARS 21114 13540 5E7B80000081 002002 320 JOB
The above would occur if two maint records for the same unit were processed in sequence from the log or there were multiple references to the LOGTEXT attribute in the SITU or ODTS.
This behaviour, a feature of the JOBFORMATTER library, has now been disabled and the full heading information for each MAINT IO log record will be provided.
|
| 490.06 MATCH ROUNDING IN SURE FOR PDSEG0TIMESTAMP |
| Fri, October 10 2003 |
|
The attribute PDSEG0TIMESTAMP was introduced to help to use Sure to validate codefiles. The calculation used by Sure would sometimes give a different result due do rounding. This change attempts to bring Opal into line with the Sure calculation.
|
| 490.05 FIX SURECODECOMPILETIME FOR FLEX |
| Thu, October 2 2003 |
|
The SURE attribute SURECODECOMPILETIME causes various RULES_PROCESSOR faults when used in any FLEX DO file. This oversight has now been addressed.
|
| 490.04 MULTIPLE SURE REQUEST TIMING PROBLEM |
| Thu, September 25 2003 |
|
If multiple SURE requests were issued from an event-based ODTSequence, it was possible for some of the requests to fail if other events were subsequently queued for the DO or WHEN. This problem has been resolved.
|
| 490.03 UPDATE SURE ATTRIBUTE SUPPORT |
| Wed, September 17 2003 |
|
SUPERVISOR retrieval of information from the SURE subset of attributes is now protected by offloading such calls to the GRINDER process instead of the main SUPERVISOR stack. When an OPAL program is waiting for information to return from GRINDER, the WHEN slot will be marked as '(WAIT SURE)'.
FLEX functionality using these attributes is unaffected by this change.
|
| 490.02 CLARIFY WHEN DISPLAY USAGE |
| Thu, August 21 2003 |
|
In a SUPERVISOR ODTSequence, the OPAL WHEN and ONCE statements will only accept a DO modifier and the DISPLAY modifier is disallowed. This was contradicted by the OPAL manual and a confusing message 'DO or DISPLAY expected' when a WHEN.. DISPLAY statement was used. This message will now show 'DO expected' as expected and the OPAL manual has been updated to reflect this change.
|
| 490.01 UPDATE VERSION FOR MCP 49.1 |
| Mon, August 18 2003 |
|
Internal version change for MCP 49.1.
|
| 480.31 ALLOW USE OF QUOTES IN PRIMED STRING |
| Tue, August 5 2003 |
|
Previously, to construct a string expression with double quotes (") in its content, paired double quotes would be required e.g. "A""B" would evaluate to the string A"B. An alternative to this mechanism is now available using the single quote (') which avoids this usage e.g.
'A"B'
This returns the same string value as "A""B" but is a little clearer to use; this would be particularly helpful when constructing string parameters for WFL jobs started by SUPERVISOR. As with double quotes, a two single quotes are required to insert a single quote into a string
e.g. 'ABC''D' would return 'ABC'D'.
Please note that this change is not yet available for FLEX but is scheduled for implementation soon.
|
| 480.30 SUPPORT FOR JOB CONTEXT |
| Tue, August 5 2003 |
|
This change allows SUPERVISOR users to track single or multiple WFL activities from a single OPAL program. All job messages, BOJ and EOJ information are returned and made available via a special OPAL context called JOB. It is not possible to DEFINE an ODTSequence with a context of this type.
Please see Supervisor DNOTE 480.89 for more detailed information about this new feature.
|
| 480.29 NEW INPUT FUNCTION |
| Mon, July 14 2003 |
|
This change introduces a new function: Input.
The input function is only valid for ODTSequences started from a Supervisor window. The function returns a string consisting of the next input from its controlling window.
Ex. $MyText:=Input;
will cause the ODTS to wait for input. If TT DO MYODTS was entered this command would not be executed but instead $MyTExt would be set to "TT DO MYODTS.
This new function is intended for use in interactive ODTsequences, it is not allowed in Flex or in Displays or Situations.
If an ODTs executes an Input function when it is not running from a Supervisor Window, it will be aborted.
If the Supervisor Window is closed while an ODTS is waiting for input, then the ODTS is aborted. A new example file OPALS/MENU illustrates the use of this function.
This version also corrects a problem in Case Statements. If two statements in a case block were not separated by a semi colon the code would compile but fail at run time.
EX.
CASE #I OF
BEGIN
0:$A:="S"
$B:="T";
END
Would compile but fault on execution.
|
| 480.28 SYNONYMS FOR DL ATTS |
| Tue, July 1 2003 |
|
This is an internal Metalogic change.
|
| 480.27 ALLOW SYSTEM OPAL TO CHECK RECORDER MNEMONICS |
| Wed, June 25 2003 |
|
SYSTEM/OPAL is now able to check the validity of recorder mnemonics. A warning, rather than an error is given for invalid mnemonics.
|
| 480.26 COMPILER FAULT IN ATT MNEMONIC RELATION |
| Tue, April 29 2003 |
|
The OPAL compiler would give a compiler fault during the handling of an attribute-mnemonic comparison where the attribute did not have and associated mnemonics. If such attributes were compared to certain mnemonics (e.g. the expression 'LOGMAJOR NEQ NORMALEOTV' where LOGMAJOR has no valid mnemonics) would have faulted. This problem is now fixed.
|
| 480.25 IMPLEMENT DECIMAL FIELD WIDTHS |
| Mon, March 31 2003 |
|
Previously, the only way to show a real value in an OPAL display string was to use the STRING8 function; otherwise OPAL will always force any real value to be integerised.
Now, the field width mechanism has been extended to allow the specification of a number of decimal places to be shown for a real value. For example, the following expression:
#A:= 166.27657657;
SHOW("A=", #A 5.6);
would display the integer part as a 5-character right-justified string with 6 decimal places:
A= 166.27658
This change applies to both Flex Inquiry and Supervisor OPAL compilers. Only 9 decimal places can be displayed; any attempt to display more than 9 places will generate a compile-time syntax error.
|
| 480.24 RETURN REAL FOR CPURATE |
| Thu, March 27 2003 |
|
This change returns a real value for the CPURATE attribute, instead of a truncated integer.
|
| 480.23 REINSTATE USERFN FOR FLEX |
| Mon, March 10 2003 |
|
USERFN functionality was accidentally deleted by OPAL patch 480.15; this caused any FLEX DO file executing a USERFN call to display the error message:
"Inappropriate SUPERVISOR operators encountered STRING at"
This problem has now been fixed.
|
| 480.22 ADD .STORE METHOD FOR VARIABLES |
| Wed, February 19 2003 |
|
A new method, .STORE, has been implemented for both string and numeric variables which offers an effective alternative to the old STORE function.
For example, STORE("A","ABC"&MCP) and STORE("NUM",22) may now be:
$A.STORE("ABC"&MCP)
#NUM.STORE(22)
As with the STORE function, using the .STORE method always returns an empty string as a function result, regardless of its usage with string or numeric variables.
|
| 480.21 SUPPORT FOR SUPERVISOR DBS FUNCTION |
| Wed, February 19 2003 |
|
A new OPAL function for Supervisor called DBS, allows OPAL programs to retrieve database information via the visible DBMS. DBS currently has the following syntax:
---- DBS ( <mixno>, <VBDMS command> ) -------------------------
where <mixno> is the mix number of a valid DMSII database. For example:
DBS(12345,"STATUS")
would return the response from an operator SM STATUS command to the database stack. Like the COMS function, DBS will return any response with each line terminated by a '/', allowing each line to be easily parsed in an OPAL routine. DBS will accept any Visible DBMS command though it is intended to extend the functionality to include other features.
Because DBS causes Supervisor's GRINDER task to temporarily go to the database's DMSUPPORT library, there are overheads associated with its usage though these are kept to a minimum. Note that SUPERVISOR will only link to databases whose DMSUPPORT library actually have a level called 'DMSUPPORT' somewhere in the file title
|
| 480.20 FIX COMSSUPPORT LINK/DELINK OVERHEADS |
| Tue, February 4 2003 |
|
Previously, use of the OPAL COMS function involved a library link and delink to the Unisys COMSSUPPORT library. If the function is used heavily, this would cause significant overhead particularly in the system logging of library linkage actions. This problem has now been addressed.
As a consequence of the previous fix, a TT DELINK COMS command has been added to force the immediate delinkage of SUPERVISOR from the COMSSUPPORT library.
|
| 480.19 LIMIT FINAL SIZE OF PERM VARIABLES |
| Tue, January 28 2003 |
|
Although string variables are limited to storing 65535 characters, it is possible to exceed this value when using the concat (&) method.
Ex $S:=&$S1 S could start as 65535 and s1 could start as 65535.
If the new string after such a concat exceeded 393210 characters, Supervisor or Flex would fault with a RESIZE error. An error is now returned if an attempt is made to exceed 393210 characters.
|
| 480.18 SUPPORT FOR OPAL/GSTABLEGEN 480.10 |
| Tue, November 12 2002 |
|
This change supports changes to Opal/Gstablegen to fix the Attributes D1Stackno and D1RunCount.
|
| 480.17 FIX WORKDAY(YYDDD) CALCULATIONS |
| Thu, October 31 2002 |
|
Previously, the WORKDAY attribute used with a julian parameter would not consistently return the correct value depending on the date passed.
These problems are now fixed.
|
| 480.16 FIX USERFN DISPLAY |
| Tue, October 22 2002 |
|
SUPERVISOR Dnote 480.44 discussed a change in the handling of the OPAL USERFN function using GRINDER. However, if USERFN was executed from a simple OPAL DISPLAY program
(by TT /), SUPERVISOR could have entered a tight processor loop requiring manual AS. This problem is now fixed.
|
| 480.15 SUPPORT FOR SUP COMS FUNCTION |
| Tue, October 22 2002 |
|
This patch supports a new OPAL function, COMS, which allows the passing of COMS commands and inquiries to the COMSUPPORT library and receiving responses. Please refer to Supervisor Dnote 480.44 for more information.
|
| 480.14 ALLOW $A FOR GETSTR("A") |
| Mon, October 21 2002 |
|
This change at last offers an alternative to the 'Variable' functions, ex. GET, PUT, PUTSTR etc.
String and numeric variables are now permitted. String variables are prefixed with $ and numeric variables are prefixed by #. The variable name can be made up of up to 17 alpha numeric characters and '_' (underscore) character. Ex $123_abc, #Segs, etc.
Internally, variable names are always treated as if they were in upper case.
Ex $abc = $Abc =$ABC =Getstr("ABC").
Assignments are allowed to variables using the := operator.
Ex If #Proc:=AccumProcTime > 100 Then this would store the current accumulated processor time for a task in the variable #Proc and use that value in the comparison.
In Supervisor assignment statements are allowed
Ex. $S:="a,b,c";
Permanent and Config variables are handled by using the PERM or CONFIG properties. Both are valid for string variables but only PERM is permitted for numeric variables.
Ex. $List.Perm:="TEST"; is equivalent to STORE("LIST","TEST",PERM)
$Sup_Destination.Config is equivalent to GetStr("SUP_DESTINATION",CONFIG)
#Segs.Perm is equivalent to Get("SEGS",PERM)
For String variables, a method SPLIT replaces the SPLIT function
Ex. $List.Split is equivalent to Split("LIST")
$LIST.Split("XX") is equivalent to Split("LIST","XX")
For numeric variables the SUM, ACCUM and DELTA methods mirror the corresponding functions.
Ex. #Segs.Accum(Segments) is equivalent to Accum("SEGS",Segments)
|
| 480.13 FIX NAPLOG TOTALLINES ATTRIBUTE |
| Mon, July 8 2002 |
|
Previously, the NAPLOG attribute TOTALLINES would always return a value of zero. This problem is now fixed.
|
| 480.12 SUPERVISOR HELP DISPLAY |
| Mon, July 8 2002 |
|
This patch supports the change documented by Supervisor Dnote 480.38 which improves the response generated for a TT HELP ATTR command.
Please see this note for more information.
|
| 480.11 SUPPORT FOR ATTS SCHEDULEHELD,MAXWHENS,USE (MODE BACKTRACK) |
| Wed, May 29 2002 |
|
Supports the New Attributes ScheduleHeld and MaxWhens.
Supports the 'MODE BACKTRACK' extension to the USE attribute.
|
| 480.10 FIX SEG ARRAY FOR LONG COMMANDTEXT |
| Thu, May 9 2002 |
|
Any OPERATOR EVAL or WHEN could fault with a STRING PROTECT error if the text of the original command was very long (greater than 255 characters). This problem is now fixed.
|
| 480.09 SUPPORT FOR SUP WORKDAYS EXTENSIONS |
| Thu, May 9 2002 |
|
To accompany the new WORKDAYS command implemented in SUPERVISOR that allows Saturdays and Sundays to be assigned as additional working days, a new OPAL boolean attribute called WORKDAY is available.
WORKDAY returns TRUE if today is a normal work day that is not a holiday or is a Saturday/Sunday that has been assigned by the WORKDAYS command. In addition, the NEXTWORKDAY attribute will now include in its calculations any Sundays or Saturdays that have been assigned by the WORKDAYS command.
|
| 480.08 ALLOW FOR CONSTANTS STARTING WITH "." |
| Wed, March 6 2002 |
|
Version 480.06 caused the compiler to fault when parsing constants which started with a decimal point. Ex WAIT(.1)
|
| 480.07 MINOR FIXES FOR BUGS REVEALED TESTING FOR COURSE |
| Wed, February 27 2002 |
|
HOLIDAY(1) returned whether today was a holiday instead of if Jan 1 2000 was a Holiday
The opal compiler would fault when scanning constants > 274877906943.
Enables use of mixed case Mnemonic values. See TT HELP ATT VIOLATIONCODE
The Number function will now accept real values.
|
| 480.06 INLINE OPAL FIXES |
| Tue, February 26 2002 |
|
This patch addresses a number of problems:
1. The OPAL compiler would fault when evaluating a string expression which used an attribute, that returns a string mnemonic, coupled with a field width e.g. STATUS 12
2. In an in-line OPAL, using a mnemonic value as a primary would cause the OPAL compiler to fault. Also, invalid in-line OPAL source such as 'TT / (JFHJFJHFJ)' will now be correctly flagged as a syntax error.
3. Some OPAL attributes which have their own mnemonic identifiers with names that collide with MCP reserved words did not work correctly.
For example in a PER context, KIND={DISK,CD,PRINTER} would fail with syntax errors.
All these problems are now fixed
|
| 480.05 FIX COMMANDTEXT FROM MCS OPERATOR |
| Tue., January 29 2002 |
|
The COMMANDTEXT and SOURCENO attributes in the OPERATOR context were not being correctly evaluated for all MCS - generated command entries (Log Setstatus entries Major Type 6 Minor Type 3). For these log record types, using either of these attributes may have causes a WHEN or EVAL to fault with an INVALID INDEX. This problem is now resolved.
|
| 480.04 CORRECT COMPILER INSTRUCTION COUNT |
| Thu, January 24 2002 |
|
Previously it was possible for the stand-alone Opal compiler to report an incorrect instruction count for an Opal program that generated LT16 operators. This has now been corrected.
|
| 480.03 RESTRICT DISPLAY LENGTH TO 255 |
| Tue., December 18 2001 |
|
This change applies to the convention of following an expression by a constant integer to specify the space the expression should take. Adding a very large integer after a numeric expression could cause the Opal to fault with an 'Array bounds error'. An integer greater than 255 after a string expression would give unpredictable results.
An integer greater than 255 in either case will now give a syntax error.
|
| 480.02 FIX PRECEDENCE OF 'ISIN' AND RELATED OPERATORS |
| Fri., November 23 2001 |
|
Previously it was not possible to use a concatenated String on the left hand side of a ISIN operator, for example
IF GETSTR("A") & GETSTR("B") ISIN "ABCDEFGH" THEN
would fail with a syntax error.
This has now been corrected, the change will also allow concatenated Strings to be used with the INCL, HDIS, TLIS and EQW operators.
|
| 480.01 ALLOW FLEX ACCESS TO TIMEOFDAY ATTRIBUTE |
| Thu, November 1 2001 |
|
The Attribute TimeOfDay which returns the current time of day in seconds since midnight is now available in FLEX.
|
| 470.23 FIX BOOLEAN INDEXOF COMPARISONS |
| Thu, November 1 2001 |
|
Previously, the INDEXOF function did not correctly handle expression lists which consisted of boolean primaries e.g.: in FLEX
INDEXOF(DATAFILE, CODEFILE, SYMBOLFILE}
would always return the value zero. Also, all comparison operations using an expression list would fail to compile if the equality operator was either of the graphic characters '>' or '>'. For example:
GET("TARGET") > {100,50,25,12}
Both the above problems are now fixed.
|
| 470.22 SUPPORT LONG FILENAMES |
| Date: Tue., October 16 2001 |
|
This change support the longer file names allowed when the SYSOP LONGFILENAMES is set.
|
| 470.21 IMPLEMENT 'STRICT' OPTION FOR ODTSEQUENCES |
| Date: Tue., September 11 2001 |
|
This note should be read in conjunction with Supervisor Dnote 480.02.
This change implements the Opal modifications required to support the Supervisor STRICTODTS option. In addition some enhancements have been made to the Stand Alone Opal Compiler - SYSTEM/OPAL as follows:-
The compiler will now recognise and action the 'STRICT' option if it is set in the heading line of an ODTSEQUENCE. This option will cause the compiler to treat the use of isolated Strings or String Expressions used as Statements as a syntax error. A typical heading line to set the options 'LIST' and 'STRICT' might be:-
TT DEFINE + ODTSEQUENCE MYTESTODTS SET LIST STRICT:
If the STRICT option is not specified the compiler will output a Warning if an isolated String or String Expression used as a Statement is encountered.
The compiler will now continue after encountering an error until the entire input file is processed or a pre-defined Error limit is reached. It will also produce a closing summary of the number of Opals compiled the number of Errors encountered and the number of Warnings issued. In addition an ERRLIST file will be generated containing the Errors and Warnings produced.
The compiler will now accept a '$' (Dollar) card image as the first line of the input file. This option card image allows the User to specify a 'global' STRICT option that will be applied to all ODTSEQUENCE Opals compiled from the file together with an overall Error Limit after which the compilation will be terminated. A typical option card might be:-
$ SET STRICT ERRORLIMIT 30
If STRICT is not specified only those ODTSEQUENCE Opals where STRICT is specified as an option on the Header line will be subjected to the new STRICT String rules, any others will merely generate Warnings if an 'Unsafe' construct is encountered. If no ERRORLIMIT is set the compilations will continue until the end of file is reached regardless of the overall Error count.
|
| 470.20 CORRECT EXTENSION TO 'DAYNAME' FUNCTION |
| Date: Tue., June 5 2001 |
|
Opal change 470.12 implemented extensions to the DAYNAME function to enable it to return the Day of the Week for any Julian date. This change also imposed a restriction on the range of Day Numbers that the function would accept. This restriction has caused problems to some Users and has now been revised as follows:-
A parameter in the range 1 to 70000 will be treated as a Day Number using the formula (D-1) MOD 7 + 1 where D is the parameter supplied.
A parameter in the range 70001 to 135365 will be treated as a '1900 relative' date.
A parameter in the range 1900001 to 2035365 is assumed to be a full Julian date.
All other values will result in a run-time error.
|
| 470.19 RELAX MNEMONIC RELATION CHECKS |
| Date: Sat, May 26 2001 |
|
The OPAL compiler will now allow attributes which normally return mnemonic values to be optionally compared with integer values as well; previously, any comparison operation would syntax with the error MNEMONIC RELATION EXPECTED.
So, the following relational expressions are now allowed:
EXCEPTIONREASON NEQ 75
STOPREASON GTR 21
It should be noted that normal attribute-mnemonic comparisons are unaffected.
Specific HELP ATTR commands will now show any associated mnemonics in numeric order with the corresponding value shown in parentheses after the name e.g.
TT HELP ATTR STOPREASON
---- HELP ATTRIBUTES ----
STOPREASON (PRINTS) RETURNS INTEGER MNEMONIC
MNEMONIC VALUES : NOPAPER(20), NOTONER(21), UNREADY(22),
JAMMED(23), COVEROPEN(24), WARMINGUP(25), NOTONWINDOW(26),
CANCELLED(27), RIBBONCHECK(28), NEEDRIBBON(29),
NEEDALIGN(30), BYOPERATOR(31), WAITFORDATA(32), TIMEDOUT(33),
BYIOH(34).
SEMANTICS : This attribute returns the reason why this request
has stopped printing.
|
| 470.18 FIX SYSTEM/OPAL RECORD MNEMONIC PARSING |
| Date: Thu, April 26 2001 |
|
Previously SYSTEM/OPAL, the stand alone OPAL compiler, would generate a syntax error when attempting to parse a RECORD mnemonic e.g.
RECORD [TEST] ("Test Message")
The compiler will now generate a warning message in these circumstances to indicate that the mnemonic was recognised but was not validated.
When OPAL is invoked to compile code being entered via SUPERVISOR any RECORD mnemonic will be validated against the REC_FILEMAP in the usual way.
|
| 470.17 FIX PD ARCHIVE ATTS |
| Date: Mon, April 2 2001 |
|
Many of the Flex PD Archiving attributes did not return correct values because the appropriate MCP GETSTATUS call was not being set up with valid mask information. Further, attributes such as PDARCHOST and PDARCSNS would only have returned information for archive generation 0. Both these problems have now been resolved; any existing OPAL programs must be recompiled.
|
| 470.16 FIX TO CASE STATEMENT HANDLING |
| Date: Wed, March 21 2001 |
|
It was previously possible to compile a Case Statement without a final END to match the BEGIN of the Case body. This has now been corrected and a syntax error will be generated if the END is missing
|
| 470.15 SUPPORT FOR NAPLOG COPMPONENT DESC ATTS |
| Date: Fri., February 23 2001 |
|
This patch supports the introduction of two new NAPLOG attribute functions, CD_NIULINK and CD_COLINK, which allow the retrieval of component descriptions for NIU and Central Office hardware components. Both attributes require two parameters: component sub category and component item. Please see HELP ATTR CD_= for more information
|
| 470.14 DISABLE GS OPTIMIZE FOR KEYIN AND MAIL |
| Date: Wed, February 21 2001 |
|
For ODTSequences that use the MAIL or KEYIN functions, a timing hole exists where it is very likely that attributes belonging to the context in use can become corrupted if they are access *after* the function. The following example will invariably fail:
DEFINE + ODTS RSVP(MX):
MAIL("To:support@metalog.com;Subject:Waitinb entry",
MIXNUMBER&":"&RSVP);
RECORD[3](MIXNUMBER,":",RSVP)
easily reproducible using the MAIL function; occurrences using KEYIN are not as common. Because the call takes time to be returned, particularly MAIL, it is possible for data to be corrupted by other system events.
This problem has now been fixed. Any subsequent OPAL attribute requests after MAIL or KEYIN will always require the information to be retrieved again instead of using previously stored information.
Please note that this is a compiler change; it will be necessary to recompile any OPALs that use, in particular, MAIL or KEYIN functions
|
| 470.13 FIX MNEMONIC HANDLING FOR MYUSE ATTRIBUTE |
| Date: Fri., February 9 2001 |
|
Previously, the Opal Compiler would generate a syntax error if any mnemonic other than 'CLOSED' was specified as a value for the Attribute MYUSE. This has now been corrected.
|
| 470.12 EXTENSION TO 'DAYNAME' FUNCTION |
| Date: Tue., January 23 2001 |
|
The DAYNAME function has now been extended to return the Day of the Week for any Julian date. The existing fuctionality to return the Day when passed the Day Number in the range 1-7 has been retained.
The Julian date may take the form YYYYDDD or YYDDD, if the YYDDD format is used it is assumed that the date is '1900 relative'. Dates earlier than 1 January 1970 or later than 31 December 2035 will result in a run time fault.
Assuming today's date i.e. 23 January 2001 DAYNAME could be invoked using either a parameter value of 31023 or 2001023 and would return 'TUESDAY'.
|
| 470.11 IMPLEMENT ADDITIONAL 'DATETOTEXT' MNEMONICS |
| Date: Tue., January 23 2001 |
|
Dnote 460.10 documented a new DATETOTEXT date mapping - DDMONYYYY. This has now been supplemented by further mappings as listed below. To provide an illustration of the results returned it has been assumed that TODAY is 'January 23 2001'.
Thus
DATETOTEXT(TODAY,DDMONYYYY) would return 23JAN2001
DDMONTHYYYY would return 23JANUARY2001
DDMONYY would return 23JAN01
DDMONTHYY would return 23JANUARY01
YYYYMONDD would return 2001JAN23
YYYYMONTHDD would return 2001JANUARY23
YYMONDD would return 01JAN23
YYMONTHDD would return 01JANUARY23
MONDDYYYY would return JAN232001
MONTHDDYYYY would return JANUARY232001
MONDDYY would return JAN2301
MONTHDDYY would return JANUARY2301
In addition a third optional parameter DELIM may be specified to insert a 'Space' between Day/Month/Year, for example
DATETOTEXT(TODAY,DDMONYYYY,DELIM) returns 23 JAN 2001
and
DATETOTEXT(TODAY,MONTHDDYYYY,DELIM) returns JANUARY 23 2001
|
| 470.10 FURTHER CORRECTION TO ATTRIBUTE SYNONYMS |
| Date: Tue., January 23 2001 |
|
Dnote 470.08 described a change to prevent reporting of erroneous synonyms for some Attributes. Whilst the original change corrected most instances some errors were still present. These have now been corrected.
|
| 470.09 FIX COMPILER LOOP ON INVALID CLAUSE |
| Date: Tue., December 19 2000 |
|
Previously, if the Opal Compiler encountered an invalid clause in a CASE Statement it could loop until it was R-DSED. This problem has now been corrected.
|
| 470.08 CORRECT REPORTING OF ATTRIBUTE SYNONYMS |
| Date: Fri., November 10 2000 |
|
In some circumstances, when Attributes had been updated in line with new MCP levels, it was possible that erroneous synonyms were reported by TT HELP ATT for some attributes.
This has now been corrected.
|
| 470.07 CORRECT RESULTS FROM CM ATTRIBUTES |
| Date: Tue., November 7 2000 |
|
Due to changes in MCP the CM attributes, for example CMMCP, were returning incorrect results.
This problem has now been corrected.
|
| 470.06 FIX CALL DO SYNTAX ERRORS |
| Date: Mon, October 30 2000 |
|
The change discussed in OPAL Dnote 460.12 unfortunately caused OPAL programs that used CALL DO statements, in certain conditions, to syntax during compilation. This occurred when CALL DOs were used in conditional blocks i.e. IF..THEN CALL DO ...ELSE CALL DO... without message parameters.
Secondly, if there was no terminating semi-colon where a CALL DO was the last statement in a block.
Both these problems are now fixed.
|
| 470.05 FIX GENERIC LOG SITU DISPLAY |
| Date: Mon, October 30 2000 |
|
Previously, an interrogation or save of a generic LOG context OPAL, which did not specify any major types, would unconditionally insert a major type of 255. This illegal value would cause any subsequent attempt to recompile the SITU to fail unless the major type was removed.
This problem is now fixed.
Also, each line of text returned by the LOGTEXT attribute used to be delimited by a null (4"00") character instead of a CR (4"0D"). This meant that PRINTing or RECORDing LOGTEXT from any ODTSEQUENCE would always show empty text. The LOGTEXT attribute would also always have a null as the first character of the string; this has now been removed.
Any OPAL that currently uses the lookup character #[NULL] to split lines of text in the LOGTEXT attribute *MUST* be changed to use #[CR] instead.
|
| 470.04 FIX CASE STATEMENT TABLE BUILD |
| Date: Thu, October 5 2000 |
|
In some circumstances it was possible that the Opal Compiler could fail when building the Branch table code at the end of a CASE Statement.
This problem has now been corrected.
|
| 470.03 ALLOW MASK DIRECT WORD LINKS |
| Date: Fri., September 22 2000 |
|
Attributes of type <FILE>, <IDENTIFIER>, and <SIMPLENAME> can now have a word link if in a masked structure.
|
| 470.02 SUPPORT FOR METALOGIC MAIL LIBRARY |
| Date: Thu, September 21 2000 |
|
This change supports the implementation of Metalogic's own MAIL library system which is scheduled for future release. Existing Unisys MAIL users are unaffected.
|
| 470.01 SUPPORT FOR MCP 4.7 |
| Date: Thu, September 14 2000 |
|
This change is to allow Opal to function on MCP 4.7. A side effect is that any OPAL using the QUEUE or QUEUEVALID attributes which has not been recompiled with GSTABLEGEN version < 400.29 will abort with a message that it should be recompiled. Redefining the Opal will correct this.
|
| 460.12 SUPPORT FOR CALL DO + OPTIONAL PARAM |
| Date: Thu, September 7 2000 |
|
This change enables an optional Message Text parameter to be passed to a MSG ODTSEQUENCE that is invoked via a CALL DO. The extended syntax is as follows:-
CALL DO MYODTS "Example Message Text"
or
CALL DO MYODTS GETSTR("MYPARAM")
The additional parameter is optional, for further details of this change please refer to Supervisor Dnote 46.032.
|
| 460.11 ENHANCE ODTSEQUENCE CASE STATEMENT |
| Date: Thu, September 7 2000 |
|
This change extends the syntax of the ODTSEQUENCE CASE STATEMENT to allow a <String Expression> to be used in the <Case Head>.
For example :-
CASE GETSTR("A") OF
BEGIN
"ABC": SHOW("Case ABC");
"XY": SHOW("Case XY");
ELSE: SHOW("Other values");
END;
|
| 460.10 NEW DATETOTEXT DATE MAPPING |
| Date: Thu, September 7 2000 |
|
In response to a User request a new mnemonic mapping has been added for use with DATETOTEXT - this being 'DDMONYYYY'.
As an illustration, if the date were 7 September 2000, the result returned by DATETOTEXT(TODAY, DDMONYYYY) would be 07SEP2000 .
|
| 460.09 SUPPORT USER OBJECT WHENS |
| Date: Wed, August 30 2000 |
|
This patch supports the SUPERVISOR changes to allow PRINTS and USER objects in WHENs.
The USER attribute is now more efficiently implemented as an attribute function, and now returns "*MU" as the user of the MU model in the USERDATAFILE.
A CANDE or EDITOR compile of OPAL will no longer wait for MCPSYMBOLIC.
|
| 460.08 CORRECT RECORD FILE NUMBER EXPRESSION HANDLING |
| Date: Tue., August 22 2000 |
|
Changes applied to support the use of mnemonics in RECORD statements, provided by Dnote 450.12, had the effect of disabling expressions for the selected file number. For example:
RECORD[GET("A")]
RECORD[IF GET("A)=1 THEN 6 ELSE 8]
These statements would fail with compile errors unless the expressions were parenthesised. This problem could also have caused the SYSTEM/OPAL compiler to fault with an internal error.
These problems are now fixed.
It should be noted that OPAL reserved words, such as GET, STORE, ACCUM etc., cannot be used as valid RECORDER mnemonics unless they are used as quoted strings. For example, if a mnemonic called ACCUM was set in the mappings then it can only be used in the following way:
RECORD["ACCUM"] ("HI THERE")
|
| 460.07 FIX USERCODE SYNONYM IN USER CONTEXT AND USERDATA * |
| Date: Tue., August 22 2000 |
|
The USERCODE synonym for the attribute USER in the new USER object was not being handled correctly and caused run-time OPAL failures. Also, passing the literal "*" to the USERDATA function also caused run-time failures in the OPAL machine.
Both these problems are now fixed.
|
| 460.06 SUPPORT USER OBJECT IN SUPERVISOR |
| Date: Fri., August 11 2000 |
|
The USER object is now available in Supervisor. This change adds the necessary OPAL Compiler support.
This patch also contains support for the RU locators in the USERDATA attribute. These locators return the list of remote addresses that can the usercode. These addresses could be via RU or KERBEROS records in the USERDATAFILE. To access RU specifications for invalid Usercodes, use the invalid usercode as the first parameter of the USERDATA attribute.
The locators are:
RU - a list of all remote addresses in the form <user>@<host>
RUHOST - the subset of RU where <host> is a defined HOSTNAME
RUDOMAIN - the subset of RU where <host> is a DOMAINNAME
RUIPADDRESS - the subset of RU where <host> is an IPADDRESS
RUUSERID - the subset of RU where <user> is a POSIX integer USERID
RUKERBEROS - the subset of RU which are from KERBEROS specifications
RUAUTOSTAXFER - the subset of RU where the SERVICE=AUTOSTAXFER
RUAUTOTELNET - the subset of RU where the SERVICE=AUTOTELNET
If the locators are used alone, e.g. UserData(RUHOST), a string containing a comma-delimited list is returned.
As with any list locator, a third parameter can be used to test for the presence of a list element, e.g.
IF UserData(RUHost,"BRI@MV.UNISYS.COM") Then "OK" Else "NF"
OPAL will now support a version 1 USERDATAFILE.
ARRAY nodes are now handled correctly.
LONGNAME nodes, introduced in 44.1, are now available in OPAL.
NAME and LONGNAME results which are not all ALPHA are now quoted.
|
| 460.05 CORRECT 'NESTED' CASE STATEMENTS |
| Date: Thu, August 3 2000 |
|
Previously, if a CASE statement appeared as part of a CASE clause i.e. it was nested then incorrect code would be generated. This has now been corrected.
|
| 460.04 SUPPORT FOR 'STEP_DIR' IN OPAL/BINDLIB |
| Date: Mon, June 26 2000 |
|
This is an internal Metalogic amendment - no functional changes.
|
| 460.03 TAPENAMESERIALS CYCLE/VERSION ENHANCEMENT |
| Date: Mon, June 12 2000 |
|
The OPAL system attribute TAPENAMESERIALS has been enhanced to permit a second optional parameter which allows the METATAPELIB tape library database to refine the search for tapes matching a particular cycle and version. For example:
TAPENAMESERIALS("(META)METATAPELIB4","4:17)
would return all serials (in reel number order) which matched the tape name provided and had a CYCLE of 4 and VERSION of 17. Representing cycle and version as a string in this way facilitates its use in the Metalogic TPDB_SILOW Opals because cycle and version is easily extracted in this form from a waiting entry:
NO FILE METATAPELIB4 (MT) #1 4:17
The TPDB_SILOW Opal has been amended to use this enhancement.
|
| 460.02 SUPPORT FOR 5-DIGIT MIX NUMBERS |
| Date: Mon, June 12 2000 |
|
This patch to the Metalogic OPAL attribute generation mechanism supports the Unisys MORETASKS implementation allowing the provision of mixnumbers up to 65535. This is achieved by setting the system options MORETASKS (OP+MORETASKS), halt-loading and changing the MAX command.
Existing OPAL code maintained by SUPERVISOR will function correctly for Mix numbers up to 9999 BUT it is recommended that ALL Opals should be recompiled i.e. they should be re-entered as soon as the system has been Halt loaded after setting the MORETASKS option.
This can be achieved as follows
- Terminate any active WHENs (shown by a TT WHEN ? command).
- Enter "TT SAVE SCHEDULE AS (USER)DECOMPILED/SCHEDULE ON USERPACK"
(where (USERS) and OURPACK are chosen by the site).
- Wait for the TT SAVE to complete.
- Enter "TT ENTER FROM (USER)DECOMPILED/SCHEDULE ON USERPACK"
Any WHENs that were previously terminated will be reinstated after the ENTER has completed.
|
| 460.01 SUPPORT FOR NAPLOG SUBCOMPONENT |
| Date: Thu, April 13 2000 |
|
A new NAPLOG attribute, SUBCOMPONENT, which provides information about the sub component text in the log entry, has been implemented.
|
| 450.24 USE MCP FOR GS SOFT ERRS |
| Date: Thu, February 24 2000 |
|
OPAL will now use the MCP message system for GETSTATUS soft error text.
|
| 450.23 SUPPORT 46.1 PRINTSUPPORT |
| Date: Tue., February 1 2000 |
|
The SUPERVISOR PRINTS context now supports MCP 46.1; previously, any PRINTS EVAL or DISPLAY would have failed with a library entrypoint error.
|
| 450.22 CLEARER DESCRIPTIONS OF FLEX DIRECTORY ATTS |
| Date: Fri., January 28 2000 |
|
Improvements have been made in the HELP ATT descriptions of FLEX DIRECTORY attributes.
|
| 450.21 ADD USETS FN LINK |
| Date: Mon, January 10 2000 |
|
The FN Link implementation of the USETS attribute.
|
| 450.20 IMPLEMENT SOFT HDR ATTRIBUTE LINKS |
| Date: Fri., December 31 1999 |
|
This change implements the new FN VALUE links detailed in GSTABLEGEN patch 460.07.
|
| 450.19 FIX SUPERVISOR GETSCRATCH DISPLAY LOOP |
| Date: Thu, December 2 1999 |
|
Previously, SUPERVISOR would enter a processor loop if the GETSCRATCH attribute was used in a stand-alone DISPLAY program. The same effect could occur if TAPENAMESERIALS, TAPENFAMILYNAME or TAPEFAMILYSERIALS attributes were used in a stand alone DISPLAY program on a TRIM slave system.
Both these problems are now fixed.
|
| 450.18 SUPPORT FOR GETSCRATCH SILO CHECKING |
| Date: Wed, November 10 1999 |
|
The GETSCRATCH attribute has been modified to allow provision of a third optional parameter, INSILO, which enforces SUPERVISOR to check that the tape serial returned is physically present in a Unisys Storagetek or DSI silo. The alternative mnemonic is DONTCARE which is the default if the parameter is absent.
Please see OPALTAPELIB Dnote 450.16 and SUPERVISOR Dnote 450.32 for more information.
|
| 450.17 FIX NAP MHS ATTRIBUTES |
| Date: Mon, November 8 1999 |
|
Within the subset of NAP attributes provided by NSL_REQUEST call type 12, identified by TT HELP ATTR MHS=, several of these attributes did not work correctly or would not compile, causing the OPAL compiler to fault. These attributes, such as MHSNODENAME and MHSNODEQUEUESIZE, will now compile properly and return correct values.
Please note this fix requires NAPINTERFACE library 460.01 to be installed.
|
| 450.16 EXTEND GETSTR TO READ BYTE STREAM FILE |
| Date: Wed, November 3 1999 |
|
The GetStr function will now accept a modifier of FILE.
GetStr("(BOB)""TEST.TXT"" ON WORK",FILE) will return the contents of byte stream file (BOB)"TEST.TXT" ON WORK as a string. Byte stream files use a carriage return followed by line feed character between each record. The line feed characters are stripped out of the returned string.
If the file is not available or is not a byte stream file the returned string will start with "Error:", followed by a description of the problem.
If the file contains more than 65535 characters then only the first 65535 will be returned.
The Split function has been extended to accept a / character as the second parameter. Using a slash is equivalent to using #(/) or #[CR].
Ex the following code would process each line of a file:
Store("FILE",GetStr("*SUPERVISOR/RECORD/TEST/""BOB.TXT"" ON DEV",File); While GetStr("FILE") Neq Empty Do Show(Split("FILE",/))
|
| 450.15 FILE/TASK ATT MNEMONIC COLLISIONS |
| Date: Tue., October 26 1999 |
|
OPAL will now correctly compile a mnemonic relation of a FILE or TASK attribute where the mnemonic is used a GSTABLEGEN mnemonic as well. After patch 450.14, MYUSE=IO would not compile.
This now compiles.
|
| 450.14 SUPPORT TIMEZONE MNEMONICS |
| Date: Fri., September 3 1999 |
|
OPAL has been enhanced to use the MCPSUPPORT function TIMEZONENAME. OPAL will now correctly find the value of a DEFAULT for an OPTIONAL mnemonic parameter. OPAL will now correctly return the information for an attribute with a parameterised 'x@#y[DIRECT CHARS]' link.
The internal compiler TREE has been re-formatted to allow 4 times larger trees. This effectively increases the maximum size of OPAL strings and expressions. Stand-alone attributes now optimise.
|
| 450.13 HELP ATTR TERM SUPPORT |
| Date: Tue., July 13 1999 |
|
Previously, a wild carded TT HELP ATTR response would not list all the matching attributes on a screen that was larger than 24 lines.
This problem is now fixed, up to 63 lines on a screen can now be handled.
|
| 450.12 FIX RECORDER MNEMONICS |
| Date: Fri., June 25 1999 |
|
Previously, the RECORD statement would not allow the use of OPAL reserved words for pre-defined mnemonics. For example, the statement:
RECORD[TEST] ("Test message");
where TEST is a valid mnemonic in the REC_FILEMAP config, would have failed syntax.
This problem is now fixed.
|
| 450.11 IMPLEMENT LOGWORD AND LOGFIELD ATTRIBUTES |
| Date: Tue., June 15 1999 |
|
Two new attributes, LOGWORD and LOGFIELD, have been added to the OPAL LOG context. Normally, the generic LOG context has limited attributes with only the LOGTEXT attribute allowing retrieval of the analysed record. However, the LOGWORD attribute can be used to return specific words from the raw log entry and the LOGFIELD attribute can be used to return a specified bit field from any word in the same log record.
For example:
LOGWORD(6) returns word 6 of the raw log entry
These attributes should be used in conjunction with the Unisys System Log Programming Reference manual to allow information retrieval for Sumlog record types that are not currently supported by Supervisor.
|
| 450.10 CASE STATEMENT CORRECTION |
| Date: Tue., June 1 1999 |
|
An earlier fix to CASE Statement 450.08 introduced a fault where nested values were not actioned correctly. For example if 0:1:2:SHOW("A"); was coded in a Case statement the values 0 and 1 would not be actioned.
This fault has now been corrected.
|
| 450.09 SUPPORT FOR CONFIGSWITCHED ATT FUNCTION |
| Date: Wed, May 5 1999 |
|
A new SYSTEM attribute, CONFIGSWITCHED, returns TRUE if Supervisor is currently running after a successful configuration switch, effected by a TT USE FAMILY ... FOR CONFIG command. Once set, the attribute will remain TRUE whilst SUPERVISOR is active. If SUPERVISOR is restarted by a TT QUIT SUPERVISOR or halt-load the flag will always be FALSE.
The CONFIGSWITCHED variable should ideally be used in conjunction with an AF+RESTART assignment to provide additional checking after the switch.
|
| 450.08 FIX CASE STATEMENT ELSE CLAUSE |
| Date: |
|
Previously, specifying an empty ELSE clause in a CASE Statement would result in incorrect code being generated and a run-time fault. Similarly, specifying ELSE: ; would result in an Opal Compiler fault.
Both these problems have now been corrected.
|
| 450.07 SUPPORT PDPPB, PDUDDFAS, PDSERVICELIST, TASKSTRING |
| Date: Fri., March 26 1999 |
|
OPAL now supports sub-masking for PD attributes. This will reduce the overheads of using many of these attributes, including the new PDPPB and PDSERVICELIST attributes.
|
| 450.06 USE TAPE ATTS FROM REMOTE |
| Date: Fri., March 26 1999 |
|
The system attributes TAPENAMESERIALS, TAPEFAMILYSERIALS and TAPEFAMILYNAME may now be used from OPAL programs running on TRIM slave systems. Previously, these attributes would have returned null values.
Also, TP commands that modify tape information were restricted from slave systems; this restriction has now been relaxed. Such commands will be permitted, subject to local TRIM security, and logged on both master and slave TAPELOGs.
|
| 450.05 USE ATTRIBINFORMER AND CLEANUP (-300) |
| Date: Tue., March 9 1999 |
|
ATTRIBINFORMER is now used instead of ATTRIBSEARCHER. C. 300 obsolete defines have been removed.
|
| 450.04 SUPPORT ORIGIN ATTRIBUTE |
| Date: Tue., February 23 1999 |
|
OPAL now supports the ORIGIN attribute function in the DIRECTORY class.
|
| 450.03 SUPPORT FOR GETSCRATCH ATTRIBUTE FUNCTION |
| Date: Fri., January 8 1999 |
|
This patch supports the OPAL attribute, GETSCRATCH, which allows the preassignment of scratch tapes to waiting entries particularly for the larger CTL libraries. The implementation is described in more detail in SUPERVISOR DNote 450.03 and TAPELIBUPDATER Dnote 440.05.
|