Banner
 
 

Supervisor Software Changes 521.01 ->

 
540.75 Fix Asgard and Infoconnect T27 paging
Fri, August 27 2010

The change applied by DNote 540.67 caused the Asgard and Infoconnect T27 emulators to fail to detect terminal page dimensions and to display a confusing error message. This problem has been corrected.

540.74 Correct accounting of DO loop times
Wed, August 25 2010

Previously, the CPU and elapsed times recorded for a standalone DO that was terminated because of an OPAL processor loop would be incorrect when seen in the SUPERVISOR log. This behaviour has been corrected.

The WS display has been changed to show the Advanced Scheduling key information correctly.

Lastly, an issue with the specification of ACCESSCODEs with multiple FOR modifiers used with AF commands has been corrected.

540.73 Show colon in AF ?
Wed, August 25 2010

In order to make it make it easier to distinguish between any qualifiers and the action in an AF ? response a colon is now added after any qualifier. Ex. 1: BEGIN JOB TEST;DISPLAY "TEST" 2: FOR (PRIV0000) :TT DO ASMN_BASIC (PRIV0000)ASAPMIDNIGHT 3: ON 1ST DAY :TT DO ASMN_BASIC (SYSW0000) ABLOGIT_PTODB1

Using a colon in an AF command is optional but if used will now ensure that the time specification is valid. Previously it was possible for a bad entry in the time spec to be mistaken for an action.

Conditional Adds and Deletes using AFTER now check time qualifications more rigorously.

540.72 Fix INVALID INDEX at 89019000
Fri, August 13 2010

In some circumstances an AF+ or AF- command which did not find a matching entry could cause an invalid index fault at 89019000. This problem has been corrected.

540.71 Fix incorrect PINGAVGTIME values
Thu, August 12 2010

The attribute PINGAVGTIME will now return valid timings for all PING requests that issue only one message. This change addresses a bug that caused very large time values to be returned for some hostnames.

Also, if a PING was issued from a DO with a context of MSG then SUPERVISOR did not forget the SCHEDULE space used to hold the MSG parameter passed to the DO. This caused subsequent SUPERVISOR restarts or SAVE SCHEDULE commands to show 'SCHEDULE UNMARKED AVAIL' warning messages.

540.70 Fix SOURCE attribute fault
Wed, August 4 2010

Previously, the SOURCE attribute returned for very large OPAL DEFINEs (greater than 180 lines) would be truncated and could subsequently cause a STRING PROTECT fault at 95330000. This problem is now fixed.

540.69 Fix UNMARKED AVAIL areas after conversion
Tue, August 3 2010

The update to SCHEDULE version 19 described by DNote 540.68 could have caused 'SCHEDULE UNMARKED AVAIL AT nnnnn THROUGH nnnnn' errors during the next SAVE SCHEDULE command procedure. This issue has been fixed.

540.68 Conversion to SCHEDULE version 19
Mon, August 2 2010

The version of the SCHEDULE file has been updated to 19; this change allows for future enhancements to the management of AFTER activities.

540.67 Correct COMS window text handling
Mon, August 2 2010

SUPERVISOR will now correctly handle COMS transferred stations which have Notify Text associated with the SUPERVISOR window. Previously, the command could have been lost. Further, the handling of older terminal emulators, as described by SUPERVISOR DNote 540.62, has been much improved and no residual screen messages will now be seen.

540.66 Correct inconsistent FOR handling
Mon, August 2 2010

Previously, use of the FOR modifier for SUPERVISOR commands from MARC did not always work correctly. In particular, non-privileged MARC users, allowed access to SUPERVISOR commands via the TTINTERFACE directive, would not be able to use FOR commands for their own usercode giving the error 'ONLY ONE USERCODE ALLOWED'.

540.65 CrackICM
Fri, July 16 2010

Internal Change.

540.64 Do not force WFL remove or change through queue
Mon, July 12 2010

Previously, the REMOVE and CHANGE WFL functions, when called by the Opal WFL statement, were always forced through the system queues to enable better tracking of job messages otherwise WFL always returned a job number of zero. This is because single REMOVE or CHANGE requests do not generate a WFL job.

This behaviour has been changed: SUPERVISOR now does not force REMOVE or CHANGE through a queue but will generate a pseudo EOJ to signal that the action is complete. The WFL function result will always return the job number of METALOGIC/SUPERVISOR and the task number of the calling CONTROLCARD.

The pseudo station allocated to the METALIGIC/SUPERVISOR MCS is now given the name 'SUPERVISOR' instead of "PSEUDOnnnnn".

540.63 Clean up slot environment and remove Zip diagnostic
Thu, July 8 2010

Previously, some memory components of a terminated WHEN slot environment were not being deallocated correctly causing problems when the slot was subsequently re-used. This issue has been corrected.

Some diagnostic code used to debug the ZIPFILE and UNZIPFILE functions has been removed.

540.62 Correct Windows handling with older emulators
Thu, July 8 2010

SUPERVISOR's handling of older T27 emulators has been change to avoid problems where the emulator is unable to respond to a request for the terminal page layout (columns and rows numbers). This would cause the station to return the text "008402" and then unresponsive. Although the user still sees this text when using the window for the first time, the station will thereafter perform normally.

540.61 Fix IK SHOW response handling
Tue, July 6 2010

Previously, on certain MCP 53.1 levels, responses to the IK SHOW command would be truncated (typically limited to 2 screens) and would show an additional heading line on each page. This behaviour is due to MCP returning less lines than expected per page and is now detoured by SUPERVISOR.

540.60 Implement MYSELF(PROGRESS) for Zip and Unzip
Tue, July 6 2010

The Metalogic compression routines initially implemented by MAGUS Dnote 540.05 are now formally documented in OPAL DNote 540.37. Please refer to this change for more detailed information.

540.59 Add AFTER LOAD command
Fri, July 2 2010

The AFTER command has been extended to allow AFTER LOAD. Anything scheduled at this 'pseudo time' will be done whenever the new day's schedule is loaded.

540.58 Transmit
Tue, June 29 2010

The WFL function and the ON JOBMESSAGE context now allow an ODTS to participate in Remote File I/O.

Example:

  #JobNo:=WFL('BEGIN JOB;STATIONNAME=A;RUN OBJECT/REM',
              'MYID(STATIONNAME=A,MYUSE=OUT)');

If the <id> part of the WFL function is followed by an open parenthesis, then a comma separated list of attributes is expected, followed by a closing parenthesis. These attributes define how the ODTS will participate in Remote File I/O.

The attributes are,

  STATIONNAME=<filename>  (Required)
  PAGE=<integer>          (Optional,Default 24)
  WIDTH=<integer>         (Optional,Default 80)
  MYUSE=IN|OUT|IO         (Optional,Default OUT)

The STATIONNAME specified in the attribute list must match the STATIONNAME attribute in the WFL Job ,for participation in Remote File I/O.

If MYUSE is OUT, then a Pseudo Station with the specified STATIONNAME is allocated.

The ON JOBMESSAGE context receives a WFLOPEN message when the Remote File is opened, a WFLOUT message when the programs writes to the Remote File, and a WFLCLOSE message when the Remote File is closed.

The JOBTEXT attribute contains information about the Remote File, or the data written, depending on the JOBMSGTYPE.

If MYUSE is IN or IO, then a Schedule Station is allocated, and the STATIONNAME attribute in the Job is changed to be a STATION attribute with the LSN of the Schedule Station.

When the Program Reads from the Remote File a WFLIN message is received by the ODTS and the Program waits for Input.

Input can be sent to the Remote File using the OPAL Transmit Function. This function requires an FRSN, which is available from the FRSN attribute of the JOB Context Object.

The LSN and FRSN attributes have been added to the JOB Context, and are valid for WFLOPEN, WFLOUT, WFLIN and WFLCLOSE messages.

540.57 Remote
Tue, June 29 2010

Browser Interface to Remote Files.

540.56 Allow ON HOLIDAYS in AFTER specification
Wed, June 23 2010

The syntax AF <time> ON HOLIDAYS may now be used to schedule activities which should only be run on holidays.

This change also fixes a bug in the AFTER context where entries with the verb attribute = QUALIFIED returned some attributes from the previous entry.

540.55 Correct multi-page LOG handling
Mon, June 21 2010

The changes described by DNOte 540.54 caused multi-page LOG command responses to be handled correctly, only showing the first page. This problem has been corrected.

The LC CLOSE command now works correctly for the ASAP and SITE log files.

Log entries returned by the METALOG context now respect lower-case text and will deblank multi-line records.

540.54 Support MYSELF(TRANSNO) for MAIL usage
Tue, June 15 2010

This change supports several new attributes relevant for the MAILLIB environment:

MYSELF(TRANSNO) is a system attribute returning the transaction number of the last MAIL function call from this slot.

NICKLNAMELIST is a new SYSTEM ML attribute returning MAILLIB nickname information as a delimited list of entities, terminated by a semi-colon. Each entry has the nickname, mapped to a 'friendly name' followed by an email address list e.g:

 :STIRLING=Local Metalogic Mail:Test1@metalog.com,Test2@metalog.com;"

The TRANSNO attribute in the METALOG context returns the relevant MAILLIB transaction number, if applicable, for the MAIL subcontext.

540.53 Another ASAP key fix
Mon, June 7 2010

Internal change.

540.52 Minimise excess LOGTEXT pbitting
Mon, June 7 2010

Previously, the generation of the LOGTEXT attribute by LOG-based EVALs caused significant initial pbit overhead for the SUPERVISOR stack. This overhead has now been eliminated allowing improved EVAL elapsed and CPU times.

540.51 Allow ZIP/UNZIP requests own process
Mon, June 7 2010

All ZIP, UNZIP, ZIPFILE and UNZIPFILE requests will now be serviced by a new SUPERVISOR process called ZIPHANDLER instead of using the GRINDER task. This avoids GRINDER from being delayed by large ZIP requests.

540.50 Fix SHOW PERM for long permanent variables
Wed, June 2 2010

By using indirect variables is is possible to create permanent variables with names longer than 17 characters. If any such variables existed then a SHOW PERM would cause supervisor to fault and restart. This problem has been corrected.

540.49 Surrender_CPED_Priority
Tue, June 1 2010

Grinder runs as a background process with normal PRIORITY.

540.48 Respect TERM ACCESS setting
Sat, May 29 2010

IF FOR <user1> FOR <USER 2> was entered and <User1> was the log on user for the Supervisor window and <user1> has accesscode needed then and ACCESS CODE required error was reported. The log on accesscode will now be correctly used.

540.47 Meta_Zip STR
Fri, May 28 2010

Internal Change.

540.46 ExtraEntry vs Sort
Tue, May 25 2010

The ExtraEntry mechanism now works after a SORT.

540.45 Myself(Entries) Works In Sorts
Tue, May 25 2010

Myself(Entries) now works in Actions entered from a SORT.

540.44 Allow FOR <USER> in WFL FN with ASAP Key
Fri, May 21 2010

Recent changes to allow the new 'ASAP' mode in Supervisor did not allow the use of the FOR modifier in a WFL function. This restriction has been relaxed.

Although FOR <priv user> FOR <Non priv user> allowed the <non priv user> to be entered with no password, accesscodes still required passswords. This restriction has been relaxed.

540.43 Minor ASAP changes
Thu, May 20 2010

Internal change only.

540.42 Support MYSELF(CALLDEPTH)
Thu, May 20 2010

Support for the CALLDEPTH value of the MYSELF attribute.

540.41 Replace ASAP by LOG
Wed, May 19 2010

Internal change to support SUPERVISOR logging facilities to ASAP and SITE log files.

540.40 Internal change only
Wed, May 19 2010

In is now possible to enter from a symbol file which is in a container. In fact even from a container in a container.

Ex ENTER FROM OPALS/TEST IN "OPALS.CON" IN "META.CON" ON MYFAM ENTER REF OPALS/TEST IN "REF.CON" ENTER ODTS BOB_TEST FROM OPALS/BOB IN "BOB.CON"

540.39 Support for ASAP
Mon, May 17 2010

Internal change only.

540.38 TEST
Tue, May 11 2010

The change described in SUPERVISOR DNote 540.35 did not allow dictionary names that were reserved words such as FROM, AS, FP or wild-card requests that started with such text e.g AS_=, FROM= etc. This problem is now fixed.

540.37 ZIP fix
Tue, May 11 2010

Further changes to the ZIPFILE and UNZIPFILE functions. Documentation as yet unavailable.

540.36 Support ZIP and UNZIP
Mon, May 3 2010

Preliminary support for ZIP and UNZIP functions, ZIPFILE and UNZIPFILE methods in both SUPERVISOR and FLEX.

540.35 Allow wildcard with DO of DEFINE
Mon, May 3 2010

A parametrised DO of the DEFINE context has been changed in two ways to allow faster and enhanced searches of the DEFINE dictionary.

1. The definition name passed to the DO may now be a wild-card,

   allowing multiple DEFINE names to be processed in a single request.

2. An optional modifier of ODTS, SITU, DISP, MEMO, COMMAND or DEFINE

   can be used as a filter for the dictionary search.  The filter
   prefixes the definition name.

Some examples:

  DO (DEFINE:SHOW(NAME))    OPALNAME
  DO (DEFINE:SHOW(NAME))    ODTS OPALNAME
  DO (DEFINE:SHOW(NAME))    ODTS OP=
  DO (DEFINE:SHOW(NAME))    SITU =

540.34 Fix SAVE APPEND for WHENs and AFTERs
Thu, April 29 2010

SAVE WHENS APPEND ... SAVE AFTERS ... AND SAVE DEF APPEND.... would overwrite the specified file instead of appending to it. The more commonly used SAVE DEF <pattern> APPEND.... worked correctly.

540.33 Allow Trusted as a modifier for ENTER
Wed, April 28 2010

A new variant of the ENTER command is available. ENTER TRUSTED FROM ... will enter all commands from the specified file but any WFL command in AFTERs will not be checked. This allows the saved schedule from another system to be added even if some families specified in After commands are not yet available.

540.32 Prevent automatic LOGREADER if TAPELIB reset
Wed, April 21 2010

SUPERVISOR will no longer always automatically run the LOGREADER utility after a QUIT or restart. This used to occur unconditionally even if the SO TAPELIB was reset or the TRIM key was absent/expired.

540.31 Protection for long LOG CONFIG records
Mon, April 19 2010

Previously, long LOG CONFIG records greater than 1500 words received by a LOG-based WHEN could have caused SUPERVISOR to fault with a variety of errors including PROCESSOR LOOP. EVAL-based LOG requests were not affected by this problem which has now been fixed.

540.30 Fix LOG=N context problem
Thu, April 15 2010

The change described by DNote 540.26 had the inadvertent side-effect of generic LOG-based WHENs or EVALs that used filtering by Major and Minor Types to ignore that filtering. For example, a SITUATION defined as LOG=27,6 would have received all LOG records instead of just Major Type 27,Minor Type 6.

It was also possible for certain LOG-based WHENs to stop receiving log events once the associated ODTS executed any WAIT statement. This was caused by SUPERVISOR failing to reinstate REPORT_LOG_ENTRIES capabilities for the slot after the WAIT had been satisfied.

Further, any PD EVALs that passed a very long directory request (or a corrupted request) would have caused SUPERVISOR to fault with a STRING PROTECT at 72092850. This problem also caused the attempted EVAL to appear in a WHEN ? response marked as 'Pending'.

All the above problems are now fixed.

Processor loop detection within the OPAL machine now provides extra information for determining the causes of unusual loop detection and generates both a programdump and timing information in the SUPERVISOR log. As part of the change, SUPERVISOR logging of various errors and displays generated out of the OPAL machine has been improved.

540.29 Less restrictive security for ExternalCommand
Tue, April 13 2010

The ExternalCommand interface to Supervisor requires the caller to be running from a privileged or system user and for the codefile calling ExternalCommand to be MPed PU or Taking. The checks for codefile privilege were done in the ExternalCommand procedure but the checks for User privilege were done by Supervisor when processing the command. This had the unfortunate side effect that if an ODTS had been started via external command using a FOR prefix then any Supervisor commands issued by that ODTS would be checked as if they had been entered from External command. If the 'For Usercode' was neither System nor PU the command would be rejected with a 'Not Allowed' message.

All security checking has now been moved into ExternalCommand. If the calling task is not MPed PU or Tasking or if the calling usercode is not PU or SYSTEMUSER then the task will be dsed with no error message. If the Supervisor logging option is enabled then an 'Err' entry will be made in the Supervisor log giving the mix number of the task which attempted an unauthorised call on ExternalCommand with the reason that it failed.

540.28 Fix SESSIONS context bounds error at 92403600
Fri, April 9 2010

If a DO of an individual SESSIONS context request was invoked after an earlier EVAL of a DEFINE context, then SUPERVISOR would give a STRING PROTECT fault at 92403600. This problem is now fixed.

Additional protection has been provided to ensure that failures in the contexts such as SL, SESSIONS and STATIONS are properly terminated and that resulting SLOT dumps do not fault too.

540.27 Correct LOGICAL ASSERTION at 97062000
Wed, April 7 2010

The change described in DNote 540.26 caused LOGICAL ASSERTION errors at sequence 97062000 for various EVAL contexts such as PER and MX.

540.26 Correct SORT mask handling
Wed, April 7 2010

Previously, EVAL/SORT requests for the PD context would fail to sort correctly if the attributes used to define the SORT were not used in either the associated Situation or Odtsequence. This problem is now fixed.

The ODTSCONTEXT attribute in the WHEN context now returns correct values after being broken by the change applied by SUPERVISOR DNote 540.24.

540.25 SHIFT BEGIN session time/Minor fixes
Tue, April 6 2010

The SHIFT BEGIN command will now assign a default shift period of 8 hours if the command is not qualified by time. Previously, a SHIFT END command would have been scheduled for the same time as the SHIFT BEGIN and may have caused the shift to terminate immediately.

The SHOW GLOBALS command would have missed displaying a variable if it was a real and its name sorted alphabetically first.

Previously, TT function calls executed by Opal code from another TT were not logged in the SUPERVISOR log. This behaviour has been changed: it should be note that TT functions can still only be nested to one level.

540.24 Fix myself(inputparam) for non flex PD Dos
Fri, April 2 2010

The MYSELF(INPUTPARAM) or WHENID(INPUTPARAM) attributes now return the correct parameter when used in a PD context where the command is not passed to Flex.

HELP ATT :<Context> will now be treated as HElP ATT =:<context>

MYSELF and WHENID are now Synonyms.

When changing usercodes using the TERM USER command the most common next action was to enter TERM USER - to prevent the new usercode being used on all commands. This allowed the use of FOR <user> to be used selectively. The default behaviour for TERM USER has now been changed so that the new usercode is not active. To get the old behaviour a TERM USER + is required after a TERM USER.

540.23 Tighter restrictions on changing USE ..ODTSECURITY
Fri, April 2 2010

If a system is running with the security option 'SECADMIN Authorized' then Supervisor now requires a SECADMIN usercode to set the USER for ODTSECURITY. As before to change or delete the USER for ODTSECURITY the current user must be used.

Error messages associated with the USE command are now more descriptive than the previous "Not Allowed".

540.22 LOGTEXT and PRODUCT in METALOG context
Mon, March 29 2010

The LOGTEXT and PRODUCT attributes in all variants of the METALOG context now return correct values.

Use of the LC command will now cause only one entry to be written into the SUPERVISOR log instead of two. The log record will include source information:

  11:55:56 Lgc:Via ODT(1):Logged from the ODT

The original case and spacing of any LC text is now preserved though LC commands from an ODT are always upcased by the MCP unless quoted. Also, all SUPERVISOR commands issued from the ODT will now be logged without the 'TT' prefix into the log.

540.21 Relax SEND_ARY slot checks
Fri, March 26 2010

Occurrences of various 'SEND_ARY' messages seen during PD EVAL requests and instances of hung PD slots, marked as 'WAIT (FLEX)', have been corrected.

540.20 Fiix 'bounds error' in DO of MX ,Prints, or WHEN
Thu, March 25 2010

An unfortunate side effect of the changes in version 540.19 was that A DO of an ODTS where a parameter was passed would fail for some contexts. The contexts affected were MX,PRINTS and WHEN.

540.19 Fix random Whenid(Inputparameter) bug
Wed, March 24 2010

This change fixes a bug when using WHENID(INPUTPARAM) in a PD context.

540.18 Fixes for WHENID(INPUTPARAM)
Wed, March 24 2010

WHENID(INPUTPARAM) now works correctly in the PD and After contexts. A 'bounds error' when entering a DO of an ODTS with context AFter has been corrected;

540.17 Fix security violation with WFL("FOR * ...
Mon, March 15 2010

The use of FOR * in the WFL function would cause a security violation to be logged. The WFL function would proceed correctly. This problem has been corrected

540.16 Improve 'IN' container error handling for PD
Fri, March 12 2010

The handling and reporting of errors for 'IN' files searches has been improved to provide more information about the failure. In particular, failed Supervisor PD searches did not always get an error returned in a timely manner.

An internal change has been made to prevent SUPERVISOR from overriding any external program STACK assignment.

540.15 Fix TT NS handling from ODT
Thu, March 4 2010

The change documented in SUPERVISOR DNote 540.05 caused all TT commands used from an ODT to be subsequently ignored if an earlier TT command had generated a TT NS (because the output exceeded a page). This problem has been fixed.

Also with this change, the MAILERROR attribute will now return correct MAILLIB messages, causing the MAILLIB library to be invoked if needed. Previously, if the library was inactive, the text 'Unknown message error' would have been returned.

540.14 Protect TT calls from FLEX failures
Thu, March 4 2010

If a PD EVAL or DO request uses a ':' options modifier then FLEX utility will always be invoked. If the PD request is then called from a TT function and the ':' option is invalid, FLEX will return an error and the TT call is terminated.

Unfortunately, two error messages were returned to the TT - these were '<SITU> returned FALSE' and 'FLEX Option expected' - where only one was expected. The second message caused SUPERVISOR to handle it as an event notice and caused several possible subsequent failures. These were either INVALID OPERATOR at 91619520 or SUPERVISOR could hang indefinitely waiting for further message fragments for what it believed an incomplete notice. The only resolution in the latter case was to manually DS Supervisor.

The above problem has been resolved. SUPERVISOR will now return and log errors such as 'FLEX Option expected' without queuing a second message. The handling of incomplete notices has been improved to timeout after 10 seconds if no further message fragments are received. In such case, the following message will be displayed: 'Warning! Slot #nn time-out waiting for last message chunk'.

540.13 Disable CALL DO flag after SUPERVISOR fault
Thu, March 4 2010

Previously, it was possible for SUPERVISOR to fault with an INVALID INDEX at 93704000 under the following unusual circumstances.

1. SUPERVISOR had been DS-ed or fault terminated whilst executing a TT function from within a CALL DO executed from a WHEN.

2. On SUPERVISOR restart, the WHEN too was restarted and the main ODTSequence was then recompiled and reloaded whilst running.

This sequence of events caused Supervisors' internal ODTS caching tables to become corrupted and attempted to execute new OPAL code from the wrong location. This problem is now fixed.

540.12 Resolve empty TERM(EMAIL) and TERM(PRINTDEFAULT
Mon, March 1 2010

The TERM(EMAIL) and TERM(PRINTDEFAULTS) attributes now respectively return an empty string when neither EMAIL or PRINTDEFAULTS are set for the referenced usercode instead of a string of NULs.

540.11 Correct when status for MSG ODTS
Sun, February 28 2010

Version540.08 corrected the When status display for active system ODTS nut not MSG ODTS. This change corrects that omission.

540.10 Fix USERFN function handling
Fri, February 26 2010

The change described by DNote 540.09 caused the Opal USERFN function to fault in the GRINDER process leaving the calling slot waiting on 'WAIT USERFN'. This fault has been corrected.

540.09 Move ENVIRONMENT memory data to global
Tue, February 23 2010

This changes moves heap data areas from the local slot environment to globally within Supervisors' stack. Opal functions such as KEYIN and DUMAP now run with improved performance especially where large data content is returned. This change is also necessary to support the forthcoming ZIP and UNZIP Opal functions.

540.08 Correct WHEN ? display if entered in a TT function
Wed, February 17 2010

The information returned by the WHEN ? command was invalid if entered from an ODTSeqence using the Keyin or TT functions. The ODTS which executed the command would be marked as "Waiting on time". It will now be marked as Active.

540.07 Remove superfluous NOT DELETED msg for AF-
Tue, February 9 2010

Previously, when using the AF - command to delete scheduled activities that were either WFL or operator commands, an extraneous message would always be displayed:

  AF - 1100 ON TUESDAY:PER PK
  DELETED FROM 1 TODAY SLOT, 1 TUESDAY SLOT
  NOT DELETED FROM 1 TODAY SLOT, 1 TUESDAY SLOT:ACTIVITY NOT FOUND

The above behaviour has been corrected.

540.06 Unconditional logging of all FOR errors
Thu, January 28 2010

Previously, any errors incurred by failed FOR commands were not being logged in the Metalogic LOG file because they were regarded as interrogatory. This behaviour has been corrected and all FOR modifier usage is now logged regardless of the command.

540.05 Support new WHENID Mnemonic INPUTPARAM
Thu, January 21 2010

This change supports an extension to the OPAL WHENID attribute. A new mnemonic INPUTPARAM has been added.

 WHENID(INPUTPARAM) returns the text of any parameter passed to this
Slot. EX. TT DO MIX_ODTS 1234,5678 WHENID (INPUTPARAM) would return '1234,5678'

TT EV PD_SITU DO PD_ODTS (*)=AX= IN "XYZ.CON" WHENID(INPUTPARAM) would return '(*)=AX= IN "XYZ.CON"'

MYSELF(FIRST) Returns the value of the TERM FIRST setting

The ODT COMPILERTARGET command was rejected when entered from a Supervisor window. It was treated as a Supervisor COM command. This problem has been corrected.

The Opal statement SHOW did not properly honour the terminals TERM FIRST setting. The last line of the first setting would be cleared. i.e. If TERM FIRST was 2 line 2 would be cleared.

540.04 Fix MAIL LOG paging problem
Wed, December 23 2009

The MAIL LOG will no longer return a multi-page response if the 'LOG' modifier was provided in lower case.

540.03 Fix lost PD entry timing window
Tue, December 15 2009

Previously, on busy systems, it was possible for a PD context DO to skip the first file returned by the requested search. This behaviour has been observed to occur particularly with file searches in wrapped containers and caused by a timing issue between the FLEX utility and the DO being ready to receive file information. This timing hole has been closed.

Also, a diagnostic change has been applied to SUPERVISOR's WINDOWS task to capture possible empty messages destined for a COMS SUPERVISOR window. If such a message is captured, the display "WINDOWS discarded empty type 14 message" will be seen and, on the first occurrence, a programdump will be taken.

540.02 Fix AF- for ON DATE entries
Tue, December 15 2009

This change fixes a bug seen when using AF - with the ON DATE modifier. If there were two or more entries which were identical apart from the date then the first ON DATE entry would be deleted no matter what date was specified.

540.01 Fix selective HO of MCP 13.0
Tue, December 1 2009

Previously, on 54.1 Field Test MCP, a HO command request for a specific file would be unable to return the list of mixnumbers currently using that file. Instead, SUPERVISOR would return the error 'In use by MCP or unknown program'. This problem is now resolved and file user information will be correctly returned.

531.71 Fix NSL request fault messaging
Mon, November 23 2009

SUPERVISOR will now provide the correct diagnostic messages when a NAP Statistics Library problem is encountered: previously, an unhelpful UNKNON(32768) message would have been shown instead of the real reason. The undocumented NSL error 0 will now cause the calling script to be terminated and a library delink forced between the Metalogic NAPINTERFACE library and NSL.

531.70 Force QUIT after SUPERVISOR library THAW
Wed, October 7 2009

Previously, if a <mixno>THAW was applied to SUPERVISOR, any attempt to then use any of its library entrypoints, such as those used by FLEX for PD requests, would fail. Because it is not possible for SUPERVISOR to re-FREEZE itself in its current incarnation, , SUPERVISOR will now automatically forcibly restart itself displaying the message:

  SUPERVISOR RESTARTING DUE TO LIBRARY THAW

It is recommended that THAW commands are never passed to SUPERVISOR.

531.69 Allow local LOG command override
Wed, October 7 2009

A new MAGUS configuration variable called SYS_LOGALL has been implemented to support a customer enhancement. This variable, supported by INSTALL's SYSTEM CONFIG menu, expects a usercode list (separated by commas) that is checked each time a LOG command is used from a logged-on remote station, typically a SUPERVISOR window.

If the logged-on usercode is in the list, SUPERVISOR appends '+' to all LOG commands (unless '+' is already present) so that each command can return more than one page of information. Any changes to the usercode list assigned to SYS_LOGALL will require a SUPERVISOR restart. This feature applies for all LOG commands for SUPERVISOR, TRIM and MAILLIB.

531.68 Ensure 'NOT DELETED' messages are always generated
Wed, October 7 2009

The change to the generation of NOT DELETED messages when deleting activities with the AF- command, as described in DNote 531.67, did not handle all situations. In particular, deleting an activity for a time that had no other activities scheduled would have not included all those inactive days in the 'NOT DELETED' counts.

531.67 Better 'not deleted' messages
Tue, September 22 2009

The format of messages returned when attempting to delete items from the schedule when the item does not exist on all of the days specified has been improved.

Ex.

   If TT DO TEST is only scheduled on Mondays at 1700 then
   AF - 1700 DAILY:TT DO TEST
   will return a better message.

531.66 Fix on nTH WORKDAY for n>5
Fri, September 18 2009

Version 530.30 of Supervisor stopped the AF syntax ON nTH DAY or ON nTH WORKDAY from working if n was greater than 5. This problem has been corrected.

531.65 Shorthand TERM TRUNCATE
Wed, September 2 2009

A quick way of changing TERM TRUNCATE settings for a SUPERVISOR COMS window or remotespo is now available. It is now possible to use 'TERM -' to perform 'TERM TRUNCATE FALSE' or 'TERM +' instead of 'TERM TRUNCATE TRUE'. It is still possible to provided additional TERM modifiers after the '-' or '+'.

Also, SUPERVISOR will no longer use its local unit tables to try and retrieve unit information for a tape that was created from a foreign SUMLOG. This could have caused an incorrect owner to be assigned or various run-time problems for SUPERVISOR.

531.64 Remove SUP_USEDUMP warning
Mon, August 31 2009

SUPERVISOR will no longer display confusing configuration warning messages during its initialisation phase if the USE FAMILY .. FOR DUMP did not have a current setting. An unnecessary display message when LOGREADER is run with a specific SUMLOG has been removed.

531.63 Fix LOGICAL ASSERTION for OPAL function statement
Sun, August 9 2009

The change described by DNote 531.60 caused OPAL functions such as PING, WFL and TT, when used as standalone statements, to generate the error message 'LOGICAL ASSERTION UNTRUE AT SEQUENCE 94231000' and a slot dump. This problem has been fixed.

531.62 Implement USE FAMILY for TASKFILE
Sun, August 9 2009

A new USE FAMILY variant has been implemented to allow sites to change the location of SUPERVISOR's taskfiles (used for programdumps, debug tracing and ENTER listings) to a family other than DL BACKUP. This provides a mechanism for preserving Supervisor fault information which otherwise might have been missed and removed from normal housekeeping of the DL BACKUP family.

  ---- USE ---- FAMILY ---+-- <FamilyName> --+-- FOR --- DUMPs -----|
                          +----    -     ----+

The setting is not applied immediately and a SUPERVISOR restart is required. Any pending status can be seen in the usual USE screen response. The '-' modifer can be used to cancel the current DUMPS setting (restart required) or a current pending assignment.

Although the location of the taskfile has been changed, there are no other effects on print request generation.

531.61 Stricter usage of EXTERNALCOMMAND
Sun, August 9 2009

The EXTERNALCOMMAND library entrypoint is available for external programs to send commands to SUPERVISOR and wait for responses, including SHOW output from DO commands. This change enforces stricter controls on its usage.

SUPERVISOR now requires that not only must the invoking usercode be marked PU in the USERDATAFILE but also the codefile must be marked MP + PU or MP + TASKING. Any other caller will be DS-ed.

531.60 Allow TT function to inherit logon usercode
Thu, August 6 2009

The TT function will now correctly inherit the 'LOG-ON' USERCODE. Therefore if a supervisor window is logged on as BOB then and ODTS started from that window could use TT("FOR BOB .....). i.e. with no password supplied.

This change also detours an MCP bug which stopped some IK IPSHOW METER commands from working from Supervisor Windows.

531.59 Detect PING authorisation failure by TCPIP
Tue, July 28 2009

Previously, the PING function was not tracked correctly if it failed because of a TCPIP negative message response because of a semantic or syntax error. Because these responses were not detected, the slot executing the PING would then hang indefinitely. These failures are now detected correctly.

SUPERVISOR now requests its GRINDER process to handle the DCKEYIN of the NW TCPIP PING instead of being executed on the main stack. This was problematic because Supervisor's own usercode was associated with the PING request and could have failed NW AUTHORISE restrictions that caused a SEMANTIC ERROR: SECURITY VIOLATION. Issuing the NW TCPIP PING via GRINDER means that no usercode will be associated with the command (unless the PING function is executed from a slot which has a FOR usercode).

Two new PINGRESULT categories have been added to reflect the above changes: these are PINGSECURITYERROR and PINGCOMMANDERROR. The former is the special SEMANTIC ERROR/SECURITY VIOLATION case. The PINGTEXT attribute has been modified to incorporate these two error conditions and will show if PINGCOMMANDERROR is a semantic or syntactic error.

531.58 Enable Unsafe Define attribute for Commands
Thu, July 16 2009

The Define context attribute Unsafe did not return correct values for Command programs. This has been corrected.

TT EV META_FIXCOM DO META_FIXCOM

will recompile all Commands marked as unsafe.

Where META_FIXCOM is define as

TT DEFINE + SITUATION META_FIXCOM(DEFINE): TYPE=COMMAND AND UNSAFE \ TT DEFINE + ODTSEQUENCE META_FIXCOM(DEFINE): IF NOT EXTRAENTRY THEN

  ODT("TT SAVE COM ",NAME," APPEND OPALS/UNSAFE/COMMANDS")
ELSE
  ODT("TT ENTER FROM OPALS/UNSAFE/COMMANDS")

531.57 Better handling of 'Open' Input from Supervisor
Thu, July 16 2009

If a Supervisor window was defined in Utility to have 'Notify Open Text' then the text sent on Open was sometimes discarded. This would happen depending on the speed of the system and how busy it was. This timing problem has been resolved.

If an ODTS is waiting for input (i.e. using the INPUT function) and the user enters ?END then the Supervisor window will now be closed in addition to the ODTS being terminated.

531.56 All commands marked as unsafe
Thu, July 16 2009

Any Supervisor command Opal with a context other than System was incorrectly flagged as unsafe. This problem has been corrected but any 'unsafe' commands will need to be recompiled to remove the flag.

531.55 Allow PER DEFINES at TRIM-only sites
Tue, July 14 2009

At TRIM-only sites, the capability to DEFINE PER scripts had been inadvertently disabled. This feature has been reinstated.

531.54 Try to limit WAITANDGO fault handling
Fri, July 10 2009

Previously, certain very rare SUPERVISOR faults could have caused multiple continuous 'PROGRAMDUMP #N .. NOT TAKEN' messages to be generated requiring SUPERVISOR, in one case, to be manually DS-ed. Now, if SUPERVISOR is able to trace such faults to an active WHEN slot then the slot will be immediately terminated stopping the flood of programdump messages.

531.53 LOG command error when SO 47 is off and #[LFA]
Fri, July 10 2009

Previously, the LOG command would be interpreted as the ODT LOG command, causing SYSTEM/LOGANALYZER to be run, when SO 47 (Logging) was reset. This behaviour has been changed; SUPERVISOR will now display the message "LOGGING (SO 47) is currently disabled" in the above circumstances. Note that SUPERVISOR allows LOGANALYZER to be executed from any remote station using the SYSLOG command.

Also, the special lookup string '#[LFA]' will now be translated to the hex string 48"0A" (Ascii LF) in Opal string expressions.

531.52 Fixes a bug when window user > 5 characters
Thu, July 9 2009

Version 520.93 introduced a change which allowed the use of a prefix of FOR <user> without a password, if the <user> matched the logged on usercode or if the logged on usercode is the ODT Security usercode.

Unfortunately this only worked for usercodes of 5 characters or less. This problem has been corrected.

531.51 Use term access when required
Fri, July 3 2009

This change relates to commands entered from a Supervisor window with both a user code and access code specified. If the command entered would invoke the WFL compiler and was not BEGIN JOB or START (ex COPY,ADD,ARCHIVE) then the resultant job would not inherit the access code and if ACCESSCODENEEDED was set for the user the job would fail syntax. This problem has been corrected.

If the Logon user was not active (TERM USER -) and the short cut prefix FOR <user> was used, where <user> is the log on user, the accesscode was not passed to any command. This caused similar problems as described above. This problem has been corrected.

When the log on user is active (Term User +) some system commands behave differently. Ex PD will only show files for the log on user. This can be overridden by prefixing the command with FOR *.

Ex FOR * PD BD/=

531.50 Support for new Volume attributes
Wed, June 17 2009

Supports new attributes VSVER,VSORIGINALREFS and ORIGINALREFS.

531.49 Fix STRING PROTECT@ 80018000 handling INLINE
Wed, June 10 2009

SUPERVISOR could have faulted with a STRING PROTECT at 80018000 when attempting to remove spaces from an in-line OPAL command causing the script to fail. This problem, which depended on the length of the command entry and previous usage in the requested WHEN slot, is now fixed.

531.48 Minor logging fixes and enhancements
Wed, June 10 2009

The LC command will now be correctly logged in SUPERVISOR's log file with the correct category ('Lgc') instead of 'Odt'.

Regarding SLOT command responses or dumps, in-line OPALs will now show the size of the code currently used by the slot. Also, string variables dumped by a non-printing SLOT command will now only show the first 500 characters of each string.

After termination of all EVAL or WHEN scripts, the number of SITU and ODTS entries will be written into the SUPERVISOR log. For example:

531.47 Trap illegal Opal INTEGER calls
Wed, June 10 2009

OPAL scripts that attempt to use integer functions with numbers greater than 2**38-1 would fail with an INTEGER OVERFLOW fault. The OPAL machine will now give the fatal error:

 "Value greater than 2**39-1 passed to INTEGER function"

531.46 Fix PING function
Wed, May 13 2009

The change applied by SUPERVISOR Dnote 531.18 caused the Opal PING function to stop working causing the executing slot to be marked as 'WAIT PING' even though the PING had completed. This problem has been fixed.

531.45 Add new WHEN context attributes
Mon, May 4 2009

Two new attributes, SLOTMEMORY and VARIABLES, have been added to the WHEN context. These return, respectively, the amount of memory used by the slot for heap variable data, its internal data structures plus code size and the number of OPAL variables used.

In addition, SUPERVISOR will now record the SLOTMEMORY used into its log file when the slot has completed (if SO LOGGING is set). A typical log entry might be:

 14:12:07 Whn:SLOT#9[64627] CP=0.09,IO=0.01,ET=55:32.80,MEM=20.5 Kb
 14:12:07 Whn:OBI_HTTP+OBI_HTTP[64627] COMPLETED

SUPERVISOR will now unconditionally log the above information for any terminated WHEN; previously, this was not done.

531.44 support for PD reference attribute
Mon, May 4 2009

OPAL now supports several ways to get attribute information for a specific file (using the PD context) from any contexts. The mechanisms are described below:

Firstly, the VIA function has been extended to allow attributes that are defined as 'LINK to PD' or 'LINK to USER' in other semantics to be used as references to the PD and USER contexts respectively.

 HELP ATTR CODEFILETITLE
  ---- HELP ATTRIBUTES ----
 CODEFILETITLE (SL) Returns STRING Link to PD in the form of File title
        Semantics : Returns the active codefile name for this SL.

For example, the CODETITLE attribute in the MX context returns the title of the codefile used by this process. Because this attribute is linked to the PD context, it is possible to easily return information about the file:

  DEFINE + ODTSEQUENCE MXPD(MX):
     #SEG:= VIA(CODETITLE:SEGMENTS)

The SEGMENTS attribute is a member of the PD context and, if the codefile is resident, VIA allows the file size to be retrieved. Multiple attributes can be returned by using the #(..) function with VIA; in this example, the USERCODE attribute in the LOGBOJ context allows Userdata information about the job usercode to be retrieved:

  DEFINE + ODTSEQUENCE BOJUSER(LOGBOJ):
     $UINFO:=VIA(USERCODE:#(FAMILY,,MAXPW,,MINPW))

To return the file size of the CM-ed MCP codefile:

  DO (SHOW("MCP FILE SIZE: ",VIA(WM:SEGMENTS)))

Since there is only a small subset of LINK or reference attributes, a list of eligible attributes for SUPERVISOR can be viewed using the a HELP variant which uses the keyword REF instead of ATTR:

  HELP REF =:MX
  HELP REF CODE=

The other two methods may be used from any context and do not use LINK attributes.

A new string variable method called PD has been implemented. Similar to the MX, PER, TAPEDB methods, a string expression can be used instead of a reference attribute and means that its usage is unrestricted. For example:

  DEFINE + ODTSEQUENCE PDTEST:
     $FILE:= "*SYSTEM/FILEDATA ON DISK";
     SHOW("INFO = ",$FILE.PD(#(RELEASEID,,CREATIONDATE)))

Alternatively, the PDKEY attribute, used with VIA, similarly allows a file title to be specified by a string expression. This has been provided to be compatible with the current VIA implementation but the PD method is preferred. The above example is shown below using PDKEY:

  DEFINE + ODTSEQUENCE PDTEST:
     $FILE:= "*SYSTEM/FILEDATA ON DISK";
     SHOW("INFO = ",VIA(PDKEY($FILE):#(RELEASEID,,CREATIONDATE)))

Reference attributes that LINK to the VL context now work correctly.

531.43 Add Help for REC VER and REC WHO
Fri, April 17 2009

This change updates the help for the REC command to include details for the VER and WHO modifiers.

531.42 Restrict TT call nesting
Thu, April 16 2009

Previously, use of an Opal TT function from within another TT function, either directly or indirectly, had unpredictable results and caused any referenced heap data to be unreliable. SUPERVISOR will now correctly handle such calls but only to allow a nesting of one additional TT call.

Any attempts to use more than 1 nested TT call will cause the calling slot to fail with the error "Only one nested TT call allowed". Also, any DO commands executed from a nested TT function call will not be logged in the SUPERVISOR log or the SUMLOG, regardless of the setting of LOGMINIMAL and MONITORING, to aid performance.

Lastly, if a stand-alone DO of a PD Opal was attempted for for a non-existent file or directory, the failed DO slot would be marked as in-use and not reusable until the next SUPERVISOR restart. This problem has been fixed.

531.41 Allow year in Holiday ?
Wed, April 15 2009

The Holiday ? and Workdays ? commands have been extended to accept an optional year parameter. If a year is specified, only holidays in that year are reported and a total of the holidays for that year is shown. This is intended to make it easier to confirm that all of the holidays for the year supplied have been specified.

Ex. HOLIDAYS ? 2009

 JANUARY       1
 JANUARY       2
 APRIL        10, 2009
 APRIL        13, 2009
 MAY           4, 2009
 DECEMBER     25
 DECEMBER     26
 Total Holidays :7

WORKDAYS ? 09

 MARCH        21, 2009
 APRIL        12, 2009
 Total Workdays :2

531.40 Implement STATIONS context
Wed, April 8 2009

This change supports a new SUPERVISOR context called STATIONS. The STATIONS context allows access to all active and inactive MCP datacom station information similar to that returned by the SYSTEM/DCSTATUS utility. These MCP datacom tables include both pseudo and physical stations and, where a station is in-use by a MCS, additional session information is provided.

STATIONS context scripts may only be used with the EVAL or DO commands. Information returned to the script includes detailed information about physical stations (as declared in the NIF) and MCP pseudo stations used to provide sessions for all MCS activity such as CANDE and COMS.

The STATIONS context accepts two subcontexts called NIF and PSEUDO allowing an EVAL to search either datacom station subset. In reality, the PSEUDO subcontext is of more interest since these stations are generally used by COMS and CANDE sessions. By default, if no subcontext is present, EVAL will return all station information.

Examples:

  EVAL(STATIONS=PSEUDO:TRUE) DO (SHOW(LSN 5,,STATIONNAME 40,,MCSNAME))
  EVAL(STATIONS:VALID(CURRENTWINDOW)) DO (SHOW(LSN,,CURRENTWINDOW))
  DO (STATION:SHOW(LSN,,LASTLOGONDAY)) 16384

Note that the MCP allocates pseudo stations in two different LSN ranges; the first range appears immediately after NIF-declared physical stations and is used by DATACOMSUPPORT for its own station allocation. The second range is an expanded pool of pseudostations, allocated in blocks of 100 stations and starting at LSN 16384, which is controlled by the MCP.

The EXTERNALSTATUS attribute, if valid, provides additional information provided by Protocol Specific Handlers (PSH), such as CCF and TELNET, and will show connection details, IP address etc.

If the station is active with COMS, additional information such as current COMS window and MCS name plus usercode, accesscode and chargecode if present. Please see HELP ATTR =:STATIONS for a complete list of available attributes.

531.39 Do not run FLEX with MCS session
Wed, April 1 2009

OBJECT/FLEX runs, invoked by :FLAT requests from PD scripts, will now not use a MCS session created by SUPERVISOR. SUPERVISOR will now write additional information into its own log file for any in-line OPAL that has been compiled from a TT function and has failed syntax. This change, in association with that described by MAGUS DNote 530.22, allows better diagnostics for in-line compiles that unexpectedly syntax.

Further, resource utilisation figures are now available in the SUPERVISOR log file at completion time for all WHENs, DOs or EVALs. For example:

 12:09:49 Whn:SLOT#5 [49283] CPU=0.01,IO=0.00,ET=1:39.02
 12:09:49 Whn:DO INLINE_5[49283] COMPLETED
 12:08:10 Whn:DO INLINE_5[49283] RUNNING (SLOT 5)

531.38 Implement SESSIONS context
Mon, March 30 2009

This change supports another new SUPERVISOR context called SESSIONS. The SESSIONS context allows access to information about all MCP job and MCS sessions currently active in the system. This feature is made possible due to the new SESSIONS ODT command now available in MCP 53.1 and later versions of 52.1.

SESSIONS context scripts may only be used with the EVAL or DO commands. Information about the session include LSN, MCS number and name, Station name and log-on time.

Examples:

  EVAL (SESSIONS:TRUE) DO (SHOW(SESSION 5,,STATIONNAME 40,,MCSNO))
  DO (SESSIONS:SHOW(SESSION,,LSN)) 240,255,256

The latter would show session information for sessions 240,255 and 256 assuming that they are valid.

IN addition, SUPERVISOR now shows meaningful station names for all of its own MCS sessions. Any WHEN, EVAL or DO slot that is active will include slot information e.g. SUPERVISOR/SLOT_3/WHEN would indicate a WHEN run in slot 3. Previously, all SUPERVISOR session station names were indistinguishable with the name SUPERVISOR/SESSION.

A problem where some SUPERVISOR sessions, used to run the OBJECT/FLEX utility for PD context scripts, were not being released after FLEX has terminated has been resolved.

A complete list of SESSIONS attributes may be viewed by using the HELP ATTR =:SESSIONS command.

531.37 Minor Fixes
Fri, March 20 2009

A bug introduced in version 510.66 meant that only the last holiday specified in a list to the HOLIDAY command was entered. The correct behaviour has been restored.

The commands DISP and HOLIDAY were not recognised as Supervisor commands from a Supervisor window and therefore required a TT prefix. This has been corrected.

Note that this correction means that where DISPLAY "TEST" could be entered from a Supervisor window to generate a test message, it now must be entered as ODT DISPLAY "TEST".

531.36 Add STATS variant to COMS function
Fri, March 20 2009

A new modifier has been added to the COMS function STATS will return statistical information for WINDOWS and PROGRAMS. For Direct Windows and REMOTE FILE Windows the information returned is for the associated Program. For MCS windows the information is for the Window. Cumulative information is maintained for subsequent calls from the same slot. COMS("STATS") return basic data, COMS("STATS FULL") more complete data. The data are returned in a comma separated list for each Program/Window with the Program/Window name as the First item. Each list is separated by a new line.

The items returned are as follows with an X indicating if the value is returned for STATS or STATS FULL.

 Field          "STATS" "STATS FULL"
  Name              X          X
  Type                         X
  Trans             X          X
  TotTrans                     X
  QDepth            X          X
  LastResp                     X
  RespTime          X          X
  TotResp                      X  

The Fields above return the following:

Name      Program name for Direct or Remote windows, Window name for MCS windows.
Type      DIRECT,MCS or REMOTE
Trans     Number of transactions since last call in this slot, blank if first call
TotTrans  Number of transactions since Coms started.
Qdepth    Blank for non Direct windows. QDepth at time of call
LastResp  Blank for non Direct windows. Last response time in milli seconds.  Blank if no transaction in this period.
RespTime  Blank for non Direct windows. Total response time in milli seconds since the last call in this slot.  Blank if first
          call.
TotResp   Blank for non Direct windows. Total response time in milli seconds  since Coms started.

We are working on example ODTseqences to collect Coms stats in a .CSV file which could be opened by EXCELL. If you are interested in monitoring COMS in this way please contact METALOGIC for an example.

531.35 Fix INVALID SESSION NUMBER with RESTRICT
Fri, March 20 2009

On later releases of MCP 52.1 and 53.1 ICs, the Metalogic RESTRICT command mechanism caused all operator commands issued from SUPERVISOR sources associated with the ODTSECURITY usercode to fail with the error 'INVALID SESSION NUMBER NNNN'(where NNNNN is SUPERVISOR's mix number).

These sources include:

 - SUPERVISOR window with a TERM USER logged-in to the ODTSECURITY user
 - Any commands issued from an active WHEN or DO running with a FOR
   modifier set to the ODTSECURITY usercode

This problem is now fixed. Note that only SUPERVISOR installations with a valid ODTCONTROL key may use the RESTRICT implementation.

531.34 More informative messages for TT('DO..' calls)
Mon, March 16 2009

The string result values returned by DO calls that now fail or return missed results, when invoked by the TT function, will now return more informative messages and new TTLASTERROR values. This is true where a list of entities is passed to the DO and one or more of the calls fails e.g. invalid mix number or unit number.

 'All Do parameters invalid'           TTLASTERROR -> TTDONONEFOUND
 'Warning: 2 DO parameter(s) invalid'  TTLASTERROR -> TTDOWARNING

In the event that a standalone DO called from a TT is successful, the TT result will now be an empty string.

531.33 Implement SHOWOPEN context
Mon, March 16 2009

This changes supports a new SUPERVISOR context called SHOWOPEN. The SHOWOPEN context allow the retrieval of information about all open, in-use files on a specified disk family and includes both temporary and permanent files. If the family is the DL JOBS family, then Job File header information will additionally be returned.

SHOWOPEN context scripts may only be used by the EVAL command; there is no support for the DO or WHEN commands. Any EVAL command can be passed a valid disk family name, with optional familyindex, after the full EVAL command. The familyindex should be preceded by the '#' character e.g. DISK #3

Some EVAL examples are shown below:

  EVAL (SHOWOPEN:TRUE) DO (SHOW(TITLE 50,,SECTORS)) [20]  CDIMAGE
  EVAL (SHOPWOPEN:TEMPORARY) DO SHOW_TEMP  DISK #3

If no family name is provided then SUPERVISOR assumes the systems file family that it uses (as assigned by USE FAMILY..FOR SYSTEM).

If the DL JOBS family is selected then SHOWOPEN will information about any Job Files that are active. Typically, in the MCP SHOWOPEN response, these appear as 'Job File for NNNNN' entries; for these entries, SUPERVISOR sets the JOBFILE attribute to TRUE and assigns the job number to the JOBNUMBER attribute. This can then be used to return additional information about the job file owner:

  EVAL(SHOWOPEN:JOBFILE) DISP (#J:=JOBNUMBER 5,,#J.MX(NAME)) DEV #1

531.32 Fix SLOT response in TT
Thu, March 5 2009

Previously, if the SLOT command was invoked from a TT function call, the response constructed by SUPERVISOR was not correctly returned to the caller, usually returning an earlier TT or KEYIN response. This behaviour occurred because the SLOT command was executed much later by the individual slot causing the caller to miss the response.

A formatting issue with SLOT responses generated by TT functions has been fixed;some minor enhancements have been made to the printed reports generated by a DUMP or PRINT SLOT command.

531.31 Don't assign default chargecodes to SUPERVISOR
Thu, March 5 2009

The deimplementation of default SUPERVISOR-assigned CHARGECODEs, first described by DNote 520.16, was intended to remove any CHARGECODEs from internal SUPERVISOR processes such as SAVE SCHEDULE etc. if no default USE CHARGE setting applied. This was unfortunately not the case and this behaviour has been corrected; SUPERVISOR processes will now run without a CHARGECODE if USE CHARGE is not set.

The USE command will now show 'Not assigned' if no default CHARGE has been applied.

The ASSIGNCHARGE subprogram is now not automatically bound into the METALOGIC/SUPERVISOR codefile. In the unlikely event that a site may wish to use its own scheme for SUPERVISOR billing, then this can still be performed by compiling a tailored version of the SUPERVISOR/ASSIGNCHARGE source and rebinding SUPERVISOR with the supplied SUPERVISOR/BIND job file.

531.30 Prevent mistaken DS of Grinder
Tue, March 3 2009

In rare circumstances on multi processor system Supervisor could mistakenly treat the Grinder stack as being hung and DS it. Any task being performed by grinder would already have completed, so no work would be lost. This loophole has been closed.

531.29 Support better julian date attributes
Mon, March 2 2009

Supports the changes made in Opal Gstablegen 530.40.

531.28 Allow Supervisor commands longer than 15 Chars
Mon, March 2 2009

There was an unintended restriction when processing Supervisor defined commands. (i.e. Created using TT DEFIME COMMAND ...) If the total length of the name of the command and any mixnumber prefix was greater than 15 characters the command was not recognised. This restriction has been removed.

531.27 INVALID INDEX at 24945020 with generic LOG WHEN
Thu, February 26 2009

Previously, running a generic LOG-based WHEN could have faulted with an INVALID INDEX at 24945020 depending on the nature of other active WHENs. This problem is now fixed.

531.26 Fix WHEN disable after QUIT and RESTART
Tue, February 24 2009

The change described by DNote 531.25 had the unintended side-effect of suppressing the restart of all WHENs after any SUPERVISOR restart. This problem has been corrected.

531.25 Fix pending PD slot after FLEX error
Mon, February 23 2009

Previously, various errors returned by an EVAL of a PD context scripts were not handled correctly when invalid directory requests were passed. Illegal directory names passed to a PD EVAL caused SUPERVISOR to fail to report the error and would leave the EVAL frozen for some time, with zero evaluations instead of immediate termination.

If a PD context DO was passed a file or directory request that did not exist and the search was not :FLAT, the error 'File/Dir Not Found' would be correctly returned but the affected DO slot would not be terminated but remain in the WHEN list marked as 'Pending' and 'Queued'. These slots could only be cleared by a SUPERVISOR restart.

Both of these problems have been fixed.

531.24 Include SECURITYLOG processing after TL
Mon, February 16 2009

After a TL, SUPERVISOR will now automatically copy the associated *SECURITYLOG file that is released as well as the SUMLOG. Upon successful completion of the COPY, the SECURITY will be removed from the DL family. This mechanism also applies if SO+AUTOTL is set and the SUMLOG is released manually by an ODT TL command or due to log size.

The example WFL job file *METALOGIC/JOB/ANALYSE/LOG, supplied with every SUPERVISOR release, has been changed to show optional processing of any SECURITYLOG file.

531.23 Fix GRINDER fault after TT function
Thu, February 5 2009

Previously, the GRINDER process could have faulted with a BOUNDS ERROR @ 41498600 under the following circumstances:

1. An OPAL DO executes a TT function call that performs a PD search

   on a selected directory and returns 'NO FILES'.
2. A subsequent OPAL executes in the same slot as the above TT call and
   issues a WFL statement via an ODT statement.

The TT failure to find any files causes an internal WHEN slot array to be corrupted which remains until the slot is reused. The second OPAL references the corrupt value and causes GRINDER, which is attempting to execute the WFL request, to fault.

GRINDER faults will now display more detailed history information in the SUPERVISOR log as well as system messages when a fault occurs.

531.22 Revised LOGREADER handling
Thu, February 5 2009

This change introduces a new mechanism for the handling of the LOGREADER utility. A new SUPERVISOR command called LR has been implemented which has the following syntax:

  ---- LR ----- +--  UPDATE -------+----------------------------|
                |                  |
                +-- <Log No> ------+
                |                  |
                +-- <File title> --+

The UPDATE modifier allows SUPERVISOR to request processing of the relevant SUMLOG(s) since the last known update of the TRIM database. This is implicitly performed after every SUPERVISOR restart due to a QUIT SUPERVISOR command or H/L. The latest TRIM update timestamp can always be seen in a SHOW command response.

The LR command also allows the simple processing of any resident SUMLOG file. An individual SUMLOG can be specified by using the MCP log sequence number or its full title, including family name. If a log number is specified, LOGREADER will search for the first available SUMLOG, matching the log number with the last level of the title. Both the DL family and SUPERVISOR's USE FAMILY FOR LOGS setting are searched.

If the SO LOGGING option is set, LOGREADER will write log entries with a category of 'Lgr' into SUPERVISOR's log file. This includes any error and progress messages generated by LOGREADER.

As part of this change, the restart time for SUPERVISOR after a QUIT has been reduced though the observed reduction is affected by various factors including the AF RESTART schedule, number of active WHENs etc.

Support for the SUPERVISOR-FPORT port file interface, used primarily by LOGREADER but also available for external program agents, , has been deimplemented. Other mechanisms now exist to allow external commands to be passed to SUPERVISOR such as the library entrypoint EXTERNALCOMMAND. Further, support for older MCPs (pre-45.1) and Metalogic MCP METAPATCH files have also been deimplemented.

531.21 Implement METALOG context
Fri, January 16 2009

A new SUPERVISOR context, METALOG, has been implemented. This context allows retrieval of log entries from Metalogic's internal log files maintained by SUPERVISOR, MAILLIB and TRIM. Unlike SUMLOG-based scripts, METALOG Opals can only be used with the EVAL command as no event support is available.

The context has three subcontexts: SUPERVISOR, MAILLIB or TRIM. If no subcontext if given, SUPERVISOR is assumed by default; only one subcontext may be assigned. A small subset of attributes is available, similar to those available to the LOG context. The attributes can be viewed with the command HELP ATTR =:METALOG.

The implementation of METALOG log file browsing uses the same EVAL mechanism adopted by all LOG contexts. This allows start and end timestamps to be passed to the EVAL to filter the data returned. The EVENT attribute is particularly useful since this string value maps to the log entry category e.g. 'Err', 'Flt', 'Msg', Odt' etc.

For example:

  EVAL (METALOG:EVENT="Err") DO (SHOW(LOGTEXT)) [12]
  EVAL (METALOG=SUPERVISOR:TRUE) [@BACK 12 HRS FOR 20 MINS] DO META

However, it is not yet possible to use TITLE or LOGNO in the EVAL specification nor are some log-based MYSELF attributes (such as LASTLOGNO,LASTLOGTIME or LOGRECORDS) currently available.

531.20 Implement SL context
Mon, January 12 2009

This changes supports a new SUPERVISOR context called SL. The SL context allow the retrieval of information for all MCP SL functions from OPAL scripts using EVAL. The collection of SL attributes currently available can be seen in the response to a HELP ATTR =:SL command.

SL context scripts may only be used with the EVAL or DO commands; in the latter case, the SL function name must be passed as a parameter. For example, a simple scan of all SL functions whose name begins with the letter 'E':

  EV (SL:FUNCTION Hdis "E") DO (SHOW(FUNCTION 17,,CODEFILETITLE))

To show which SL-ed functions have non-resident codefiles:

  EV (SL:NOT PD(CODEFILETITLE)) DO (SHOW(FUNCTION 17,,CODEFILETITLE))
  ONCRPCSUPPORT     *SYSTEM/ONC/RPCSUPPORT ON DISK
  NCSDBSUPPORT      (NAU)SYSTEM/NCSDB/LIBRARY ON DISK
  METAWEBLINK       *METALOGIC/WEBLINK ON DEV
  MCPSUPPORT        ">> CURRENT MCP <<"
  LANPRTSUPPORT     *SYSTEM/LANPRT/SUPPORT ON DISK
  JAVACOMSSUPPORT   *SYSTEM/JAVACOMSSUPPORT ON DISK
  HLCNTLISUPPORT    *SYSTEM/HLCN/TLISUPPORT ON DISK

MCPSUPPORT can be excluded from the EVAL by changing the in-line:

  EV (SL:NOT MCPLIB And Not PD(CODEFILETITLE) ...

For a standalone DO:

  DO (SL:(SHOW(FUNCTION 17,,LIBRARYMIXLIST))) TADSSUPPORT
  TADSUPPORT      12345,12444

Where LIBRARYMIXLIST returns the mix number(s) of the SL-ed library. This can then be used to determine all SL-users of the codefile. Note that the same codefile instance can be assigned to multiple SL-ed functions or the library may be SHARING=PRIVATE; either condition means that LIBRARYMIXLIST can return multiple mix numbers.

531.19 More DEFINE context attributes and NOLOOK lookup
Mon, January 12 2009

Some new attributes for the DEFINE context have been added to provide additional information concerning the method used to compile an individual DEFINE. These attributes include REFERENCE, REMOTESOURCE, SOURCEKIND and SOURCEHOSTNAME. Note that EXTERNAL is TRUE if an OPAL has been compiled from either DEFINE..FROM or ENTER REFERENCE.

These attributes allow a useful method for determining if an external OPAL files used with DEFINE...FROM or compiled from an ENTER REFERENCE is not resident. These external files are necessary to recreate a SCHEDULE from its saved symbolic.

For example:

  EVAL (DEFINE:EXTERNAL AND NOT PD(FILENAME)) DO (SHOW(TYPE,,NAME))

The above EVAL would find all missing external symbolic files used to compile OPALs currently in the SCHEDULE.

A new lookup function, #[NOLOOK], allows text strings that have embedded lookups to be displayed to the screen or printed without SUPERVISOR or FLEX performing substitution. This is particularly useful for displaying or printing the SOURCE attribute in the DEFINE context.

For example:

   SHOW("#[NOLOOK] #[SUB] #[MX=MARC]")   would show
   #[SUB] #[MX=MARC]   instead of screen highlight and MARC mixnumbers.

531.18 Fix INPUT and MESSAGE DO conflict
Tue, January 6 2009

Changes described in SUPERVISOR DNote 530.97 caused problems for MSG based Opal scripts that used the INPUT function. While the DO was waiting for user response to INPUT, it was possible for INPUT to return an empty string result because SUPERVISOR would also send any system message notices to the waiting slot (as if it was a WHEN). This caused the INPUT response to be added to the end of the message queue and subsequently ignored.

An interrogation of the WHEN slot using the SLOT command might then show:

  Entered by : DO ABORT
    Handled 0 Restarts
    Times: CPU= 0:00:00.07, IO= 0:00:00.01, Elapsed= 0:00:43.40
    Depth: 0
    Originated from WINDOW 334 Session 4671
    25 messages in WHENEVQ
    Grinder state is INPUT waiting for 0:00:07.45

In the above example, the ABORT script of type MESSAGE is waiting for user INPUT but has 25 messages already queued ahead of any INPUT response. This problem is now fixed.

531.17 Add more attributes to the WHEN context
Wed, December 24 2008

Support new When context attributes TIMEDPER,SOURCE,WAITSECS.

531.16 Insert_UserType
Fri, December 19 2008

Internal Change.

531.15 Implement DEFINE context
Thu, December 11 2008

A new OPAL context, called DEFINE, is now available for use. The DEFINE contexts enables access to the SUPERVISOR Opal program dictionary and detailed information about all DEFINEs and MEMOs held in the SCHEDULE file. Opal scripts that use DEFINE may only be executed by the EVAL or DO command and no WHEN variant is permitted. A complete list of the attributes can be seen:

   HELP ATTR =:DEFINE

The DEFINE context may use subcontexts to filter the dictionary; these subcontexts are SITU,ODTS,DISP,COMMAND and MEMO. If one or more subcontexts are specified, only those DEFINES of the correct type will be returned. These program types also map to the TYPE attribute.

   EVAL (DEFINE=ODTS,DISP:NAME HDIS "A")

The above EVAL will examine all ODTSEQUENCE and DISPLAY programs in the dictionary additionally filtering them by using the NAME attribute to those whose id starts with 'A'. Note that, in the present implementation, the list of DEFINES returned is unsorted and reflects the order in which they were entered into the SCHEDULE dictionary.

Useful attributes include information about the program context (CONTEXT), the source of the DEFINE (SOURCE), whether it is currently in-use by a WHEN slot (INUSE, CALLED) and creation and access timestamp information.

When a DEFINE script is executed by a DO, SUPERVISOR expects a single level identifier that denotes the name of a DEFINE. All instances of that DEFINE will be returned and executed by the script and no filtering by program type is performed. For example:

    DO (DEFINE:SHOW(TYPE,,NAME 17,,CACHEDSLOTS) OBI_EXAMPLE
    SITU OBI_EXAMPLE      0
    ODTS OBI_EXAMPLE      2
    DISP OBI_EXAMPLE      0

In the above case, OBI_EXAMPLE has three occurrences in the SCHEDULE and the ODTS is currently active and cached by 2 WHEN slots. Note that SITU and MEMO program types can never be cached.

By default, all privileged users can view the entire DEFIEN dictionary but non-privileged users may only view DEFINES locked under their own usercode or normal, unprotected DEFINES.

531.14 Remove GRINDER CHARGECODE assignment and fix FP
Wed, December 10 2008

The GRINDER process will no longer have a default CHARGECODE assigned automatically by SUPERVISOR. Previously, the value "GRINDER" caused problems when GRINDER was used to start certain jobs or run MCS programs.

The SUPERVISOR BNALINKER process will no longer occasionally suspend with a "NO FILE FPORT" condition after a restart, prior to the running of the LOGREADER utility.

531.13 Fix screen refresh after tt +
Thu, November 20 2008

For commands entered from a Supervisor window where the response need more than one page Supervisor adds a TT + command to the home position of the screen. After the last page is displayed Supervisor restores the original command, overwritten by the TT +. If a TT prefix was used in the original command or a number of spaces preceeded the original command then the original command was not correctly restored.

531.12 Fix intermittent WFL function failures
Thu, November 13 2008

Previously, SUPERVISOR would occasionally fail with a variety of faults during the execution of multiple Opal WFL function calls that used FOR clauses, typically using an Accesscodes as well as Usercodes. These faults included jobs failing incorrectly with errors such as 'INV CHARGE' or 'ONLY ONE USERCODE ALLOWED' and faults such as 'STRING PROTECT AT 76353000'. This problem is now fixed.

531.11 Fix bugs in Eval of SQ context
Thu, November 13 2008

This change fixes bugs which could cause problems in an ODTS attached to a Situ of type SQ in an Eval.

If the ODTS included a Wait statement or an implied wait caused by a DCKeyIn or TT function, Supervisor would fault with an illegal swap.

If the ODTS performed an ODT command the ODTS would occasionally fault with an invalid index.

531.10 Delete Att Table Include
Wed, November 12 2008

The 1200 card 1984 Attablegen output with its large Value Arrays will no longer be included in Supervisor.

531.09 Provide SORT CANCEL error if DISPLAY key invali
Mon, November 10 2008

If the DISPLAY program or inline OPAL used as a SORT clause generates a key that exceeds 255 bytes then the associated EVAL will now be automatically cancelled; previously, any sorting was disabled and the EVAL would have run. The error message is shown below:

   "SORT clause key is invalid or exceeds 255 characters""

The TTLASTERROR attribute will return the new mnemonic TTSORTCANCEL if an EVAL with a SORT clause fails because of an invalid key inside a TT function.

531.08 JSON No Atts
Thu, November 6 2008

Return [] if JSON and no attributes selected.

531.07 Correct multiple SORT EVAL handling
Wed, November 5 2008

If multiple SORT-based PD or LOG EVALs were run in parallel then it was likely that only the first EVAL to complete would have had the SORT criteria applied; other SORT clauses would be discarded. This problem is now fixed.

A WHEN ? will now correctly show the status of any EVAL run with a SORT clause.

531.06 Fix default MAIL destination printing
Wed, November 5 2008

If SUPERVISOR's USE DESTINATION is set to a MAIL server, SUPERVISOR will now automatically assign that destination to all printfile reports generated by users who have an EMAIL attribute associated with their usercode. Previously, no DESTINATION would have been assigned.

531.05 Sort Boundary Condition
Sun, November 2 2008

Fix Invalid Index boundary problem

531.04 Help ALL
Thu, October 30 2008

TT HELP ATT = : SYSTEM selects basic SYSTEM attributes only. TT HELP ATT = : SYSTEM ALL selects basic SYSTEM attributes and

             extended SYSTEM attributes for PD, VL,
             NAP, METER and MAIL.
TT HELP ATT = : ALL selects attributes for all contexts.

TT HELP ATT = : <context or ALL> (DETAIL) returns full attribute information for the selected attributes.

531.03 Time based situations were evaluated twice when first started
Wed, October 29 2008

Time based MX and Per situations were evaluated twice when first started. This problem has been corrected.

If the WFLJOBREASON attribute was used in the same expression as any of the attributes WFLJobStatus,WflTimeStamp, WFLJobNo or WFLElapsed then the retuned value would be truncated to the length of the identity passed as a parameter to the attribute.

EV ...[@back..] [@After...] and [@Before...] now work with the MSG context.

531.02 Contexts JSON
Wed, October 29 2008

Add JSON option to HELP CONTEXTS.

531.01 Fix COMS VALIDATION_FILE error during restart
Tue, October 28 2008

The change described in DNote 530.98 occasionally caused a COMS VALIDATION_FILE error when attempting to send messages to stations that were active prior to a restart. This problem also caused the generated status message to occasionally have corrupt text appended. Both these problems have been addressed.

530.99 Sort Modifier in EV Command
Tue, October 28 2008

The objects found by a Situation in an EV command can now be sorted before being passed to the Display or ODTSequence. A <Sort Clause> is added to the command, where:

  <Sort Clause>:
  ------- SORT ----+-----+--+------- <Display id> -----------+--!
                   !     !  !                                !
                   +- + -+  +-- ( -- <Inline Display> -- ) --+
                   +     +
                   +- - -+
Examples: EV ALLMX DISP (MIXNO,,TIME(PROCTIME)) SORT - (PROCTIME)
EV (PD:TRUE) DISP (SEGMENTS 8,,TITLE) [24] SORT (SEGMENTS) (*)= ON =:FL

SORT - means "sort descendinh", SORT + "sort ascending". If neither "+" or "-" is specified, it defaults to 'descending". By using the new OPAL function, COMPLEMENT, multiple keys can be sorted in different directions. The Display given in the <Sort Clause> returns a String, which is used as a key for the sort.

There is a slight difference in the way the Display is evaluated, compared with normal use. In a Sort, an <OPAL String> element has a fixed width. If none is specified, then for a String, it is assumed to be 64, and for an arithmetic or mnemonic, it is assumed to be 12. The Display may not contain a new line (/) delimiter or have a key length of more than 256 chars. Literal strings and the ",," delimiter are allowed, but are unlikely to be useful.

If an entry limit is specified, this is only applied after the Sort, so all of the objects will be passed to the Situation. However, to keep the overheads in control, an entry limit of 256 is imposed, even if a greater value is specified.

530.98 Improve SUPERVISOR restart time
Wed, October 22 2008

Significant improvements have been made to the time taken for SUPERVISOR to restart and allow access to a COMS window. Previously, delays were caused by the following:

  - cancellation of pending I/Os to unavailable ODTs
  - unnecessary QUIT and restart of the RECORDER library
  - delayed release of MCS privilege to the new instance of SUPERVISOR

During a restart, SUPERVISOR will now send a COMS message to the status line of all SUPERVISOR COMS windows, that were active at the time of the QUIT, indicating that the restart is complete.

530.97 More OPAL Init Cleanup
Fri, October 10 2008

This 50-card negative patch removes another unnecessary IO for EV/WHEN commands, and simplifies the code to prepare for sorting.

530.96 Support Volume Purge status checks
Thu, October 9 2008

Previously, it was possible for TRIM to scratch a tape in the database even though the Volume Purge had actually failed because of a media or hardware error. This caused a discrepancy between the physical tape label (now not purged) and the database, causing problems if the tape was to be purged in the future. This occurred because SUPERVISOR was not checking the status flags of the attempted tape volume purge provided in the log entry.

This problem is now fixed; any failed Volume Purge will be detected and logged in the TRIM log as an error:

 12:16:06 Err:MT 180 Volume [001302] UNLABELLED error during Vol Purge

530.95 Fix Eval and Count in Prints context on MCP 53.
Thu, October 9 2008

Version 53.189.8008 of SYSTEM/PRINT/SUPPORT changed the interface to one of the Procedures used by Eval, Count and Objects to retrieve print requests. This change caused Supervisor to get a request number of zero in these commands.

Supervisor will now handle all current versions of printsupport correctly.

530.94 Fix Count(SQ:......)
Tue, October 7 2008

Version 530.03 broke the Count function. Version 530.07 corrected the bug for all Counts except Count(SQ:... This change fixes the problem.

530.93 Internal change only
Tue, October 7 2008

No longer copy heap when calling SOPTT.

530.92 Internal change only
Tue, October 7 2008

Move MEMORY (used for heap) out of Environment as precursor to improving handling of TT function.

530.91 Resolve BOJ vs. EOJ conflicts
Tue, October 7 2008

The optimisation referred to by DNote 530.87 caused an intermittent problem where LOGEOJ WHENs could stop receiving EOJ notices, usually seen after a SUPERVISOR restart. The problem depended on the presence of a LOGBOJ WHEN and the order in which they were invoked after the restart. This problem is now fixed.

530.90 More fixes for CALL DO of MSG type ODTS
Mon, October 6 2008

This change fixes WAIT(<msg boolean expression>) when in a message ODTS called with a parameter where the length of the parameter is less than the length of the message waited on. Previously random results could occur.

530.89 Fix INVALID INDEX for delinked HTTP dialog
Fri, October 3 2008

During periods of intense browser client activity, it wass possible for an HTTP WHEN to fault with an INVALID INDEX @ 95280000 when handling requests for a HTTP dialog that had already been delinked. This problem has been fixed and improved tracing of HTTP requests has been applied.

530.88 Fix for wait in Call DO of type MSG
Tue, September 30 2008

Version 530.58 allowed an ODTS of type MSG to be the subject of a call of a non MSG type. It was possible that if the called ODTS performed as WAIT based on a message attribute (ex. WAIT("BOB" IsIn TEXT) that an invalid index error could occur. This problem has been corrected.

530.87 Fix LOGBOJ tracking problem and optimise notice
Tue, September 30 2008

Previously, it was possible for LOGBOJ WHENs to stop receiving BOJ or BOT notices from the MCP if other previously active Log Major Type=1 WHENs had all been subsequently deactivated. This behaviour has been corrected.

An issue where SUPERVISOR incurred additional CPU overhead during the handling of MCP events has been addressed.

530.86 Fix random CALL DO failure when run with PD con
Mon, September 22 2008

Previously, it was possible for possible for valid CALL DOs to randomly fail with a 'NON EXECUTABLE CALL OR WHEN STATEMENT' error whilst a PD context script, that was linked to FLEX utility, was running in parallel. This problem could also have caused such PD scripts to generate spurious SEND_ARY displays at the same time and has now been resolved.

Opal programs with a context of VL will now return a KIND of TAPE for volumes that were originally entered into the Volume Library with a KIND of TAPEPE, TAPE9 or TAPE7. These old KIND mnemonics are no longer supported by most MCP levels.

530.85 Allow multiple SUMLOG searching if using limits
Mon, September 22 2008

SUPERVISOR will now automatically search multiple SUMLOGs when handling log-based EVALs if non-zero EVAL or DO limits have been applied. Previously in these circumstances, only the current SUMLOG would have been searched.

A new DEBUG option (31) is now available. If set, this option will unconditionally generate a compile printer listing for all in-line OPAL expressions compilations, invoked by any TT function, that fail to compile. This can helps in the diagnostics of large OPAL in-line compilations that are otherwise difficult to check for syntax errors. The generated print file will be automatically released to the Print System.

The TT function will now not return an EVAL response message to the originating station as this is already included in the TT function result and therefore under the control of the caller.

530.84 Protect SAVE commands during multiple AFTERs
Thu, September 18 2008

Previously, it was possible for SUPERVISOR to fault with a BUFFER IN USE error, reading or writing the *SCHEDULE file, when handling WFL jobs invoked via AFTER concurrently with a SAVE SCHEDULE command. This timing problem was observed with multiple WFL jobs all scheduled in the same AFTER minute as a SAVE AS command and now has been fixed.

530.83 Fix MEMORY RESIZE errors after MAIL LOG call
Wed, September 10 2008

Previously, SUPERVISOR would have faulted with REQUESTED MEMORY SIZE GREATER THAN 65535 WORDS at 25544000 or 95892500 when handling a very large KEYIN response from a MAIL LOG interrogation. This change, in conjunction with MAILLIB change 530.07, now fixes this problem.

530.82 Default Limit on FLEX PD Evals
Tue, September 9 2008

PD context EV commands which implicitly use FLEX will no longer be limited to 256 evaluations.

530.81 Fix BACKUPSCHEDULE processor loop
Tue, September 9 2008

For a certain combination of usercoded and non-usercoded activities specified in the same minute of SUPERVISOR's AFTER schedule, it was possible for BACKUPSCHEDULE to go into a processor loop when backtracking the schedule. The problem could have also occurred to SUPERVISOR when handling the same minute during its normal scheduling operations. This problem has been fixed.

530.80 Fix CALL DO with empty parameter
Wed, September 3 2008

Version 530.58 introduced a bug in CALL DO. A Call DO of a message type ODTS would fault if an empty parameter was passed.

Ex. CALL DO "TEST" ""

This problem has been corrected.

530.79 Fix INVALID INDEX after FOR AF WFL check
Wed, September 3 2008

SUPERVISOR could have faulted with an INVALID INDEX @ 63103000 during the check of an AFTER command that was scheduling a START job with a FOR modifier. In such circumstances, the problem occurred when SUPERVISOR's check failed with an error such as WFL NOT AVAILABLE or SYNTAX ERROR. This fault has now been corrected.

530.78 Fix SAVE program corruption
Wed, September 3 2008

Previously, it was possible for certain DEFINES with comments that extended to column 80 to become corrupted when written to a source file by the SAVE .. AS command. The corruption, caused by incorrect line wrapping, could then cause the DEFINE to fail to compile when it was re-ENTERED. This problem is now fixed.

Very old compiled MX=BOT SITUATIONs would not decompile correctly when written to disk by the SAVE.. AS command or displayed by a DEFINE ? command. The context and subcontext for these OPALs would have shown as empty. When executed, any WHEN or EVAL attempting to use an old MX=BOT SITU will now fail with 'MX=BOT SITU CODE TOO OLD: RECOMPILE NEEDED'. Both DEFINE ? and SAVE will now show the correct context.

SUPERVISOR will now not give a command error when entering a SO+ option list from an ENTER file should any of the option numbers be invalid. The offending options will be ignored.

The LC CLOSE command will now correctly close the current SUPERVISOR log file; previously no action was taken.

530.77 SO command changes
Tue, August 26 2008

The behaviour of the SUPERVISOR SO command has been changed. SUPERVISOR will now automatically reset any options that were set on an earlier release but have since been deimplemented. Secondly, changes using SO+ or SO- will now return only those options that have been altered by the command. This makes SO identical in behaviour to the MCP's OP command.

Various minor fixes concerning the logging of commands by SUPERVISOR have also been applied.

530.76 Implement PING function
Tue, August 26 2008

This change supports the new Opal PING function as described in OPAL DNote 530.25.

530.75 Extend SUPERVISOR restart capabilities
Tue, August 26 2008

Previously, SUPERVISOR did not restart correctly after certain HISTORYCAUSE reasons such as fatal I/O or datacom errors. In the case of an OPAL script receiving a fatal I/O error using the OPAL WRITE method, SUPERVISOR did not disable the slot prior to termination and did not restart. This bahaviour has been fixed: SUPERVISOR will now automatically terminate the faulting slot and restart in such circumstances. The handling of fatal WRITE failures has been made more resilient by the change described in OPAL Dnote 530.26.

530.74 Implement USE NOPASSWORDS
Tue, July 29 2008

The mechanism using the NODEFAULTUSE setting on the Supervisor usercode to control password validation on the FOR command has been changed. This feature is now controlled by a new USE variant called NOPASSWORDS which can only be set by a FOR usercode that has both PU and SECADMIN privilege. The setting of the NODEFAULTUSE attribute on Supervisor's usercode now has no effect.

A modifier of '+' or '-' must be specified with the command:

    FOR META/PW USE NOPASSWORDS +

If this NOPASSWORDS has been set, additional text will appear in the USE response:

    PASSWORD VALIDATION: NOT ACTIVE

SUPERVISOR's utility commands such as JAM will now not generate an unnecessary Userdata security violation when executed from a SUPERVISOR window.

530.73 Disallow multiple WHENS and fix WHEN cancel
Fri, July 18 2008

The changes applied by SUPERVISOR DNote 530.68 had several further side-effects, First, multiple WHEN <Situ> DO <Odts> combinations using the same <Situ> were now unintentionally permitted and, secondly, it was not possible to cancel an active WHEN using the WHEN <Situ> DO command unless the WHEN had been invoked by a SUPERVISOR restart. These problems have now been resolved.

A long-standing issue where a LOG context EVAL or WHEN command would give the error TYPE OF ODT SEQUENCE MUST MATCH TYPE OF SITUATION has been fixed. This always occurred when the linked ODTS or DISPLAY was an in-line OPAL without any context.

Lastly, a DO of a VL context Opal will now not fault with an INVALID INDEX @ 93667900 when processing a list of volume serial numbers.

530.72 Drop a further un-needed IO
Thu, July 17 2008

More minor cleanups in OPAL initiates.

530.71 Support for SYSTEM MAIL attribute subset
Wed, July 16 2008

A subset of attributes called SYSTEM MAIL is now available; these attributes provide run-time and configuration information for the Metalogic MAILLIB library. Only available to SUPERVISOR, information may be obtained by the command:

  HELP ATTR =:SYSTEM MAIL

530.70 Fix inline Opal SEG ARRAY ERROR
Sat, July 12 2008

The changes applied by SUPERVISOR DNote 530.68 caused all in-line OPAL commands to fault with a SEG ARRAY error at 72667800. This problem has been resolved.

530.69 Correct page headings in SHOW PERM
Sat, July 12 2008

For multi-page responses to the SHOW PERM command, the correct relevant heading will now be shown on page numbers greater than 1.

530.68 ODTS/DISP Init Load
Wed, July 2 2008

An old optimization in Supervisor delayed loading the ODTS or DISPLAY in a WHEN/ONCE/EVAL until the first entry. But info was needed from the record in the Schedule, so an I/O had to be done anyway. Even worse, the info is also needed for both the Situation and the action at slot set up time, so another read resulted. Now, the code is always loaded at initiation and kept in overlayable memory, even if it is never called. The trade-off of memory and CPU/IO resources has changed significantly since this was first programmed.

The running of different types of OPAL has been standardized, with a reasonable reduction in source size, and allowing new types in the future with minimal extra coding.

530.67 Correct FP formatting
Tue, July 1 2008

The FP command will now display the text 'DU INFORMATION UNAVAILABLE' if SUPERVISOR is unable to retrieve family DU information for a specific disk unit. Previously, values of 'NONE' would be shown and tabulation of individual lines would be incorrect. Typically, such behaviour would be shown if duplicate pack families were present on the system.

530.66 Changes for OPAL resequence
Tue, July 1 2008

Internal Metalogic change.

530.65 Change LC command logging
Fri, June 27 2008

Usage of the LC command will now be recorded in SUPERVISOR's log file with the 'Lgc' category instead of 'Odt'. This change means that only one entry is logged instead of two ('Odt' and 'Lgc') as in previous versions. The 'Lgc' entry retains command origin information.

530.64 Identify When slots started from schedule
Thu, June 26 2008

Previously a WHEN slot which had been started from the schedule (i.e via an AFTER command) would appear to have been started from an ODT.

With this release, an EV ? will show "After" in the first column if it was started from the schedule. An Opal program dump will show "Originated from Schedule." and the WHENID(STATION) attribute will return "After".

530.63 Improved SILO support
Wed, June 25 2008

TRIM now supports separate scratch pools for both the DSI and UNISYS settings of the USE SILO environment. Previously, scratch pools could only be assigned for DSI environments.

The two scratchpool lists are maintained independently depending on the setting of USE SILO so it possible to switch between them. However, in a mixed DSI+UNISYS SILO enivironment, only the DSI pool list will be active.

530.62 Reinstate command on screen after a TT +
Wed, June 25 2008

If a supervisor Opal of type command was executed from a Supervisor window and the response was longer than one screen, there was a problem. At the end of the response the original command was not correctly restored to the first line of the screen, instead TT COM was written to the first line.

A bug was also corrected where the TERM FIRST setting was not respected on continuation screens.

530.61 Fix ENTER COMMAND ... FROM..
Mon, June 23 2008

ENTER COMMAND <pattern> FROM <file> now works correctly.

530.60 Revamp of SILO support
Tue, June 17 2008

The implementation of the USE SILO interface for SUPERVISOR has been rewritten to allow future TAPEMANAGER library development to perform its own checks on tape assignments. The functionality of USE SILO is unaffected by this change.

530.59 Correct JOBCODE filekinds
Thu, June 12 2008

DUCHECKERBOARD will now return a FILEKIND of JOBCODE for 'Job file' and 'Obsolete Job' areas instead of JOBDESCFILE.

This change supports the new attribute DFHIMAGE for both FLEX and SUPERVISOR, as described in OPAL DNote 530.19.

Some minor issues with the handling of large output from the SHOW statement, introduced by change 530.55, have been addressed.

530.58 Allow CALL DO of MSG odts from any other context
Tue, June 10 2008

It is now possible to 'CALL DO' and ODTS of context MSG from any other context. This is particularly useful since it is possible to pass a string parameter to such an ODTS. Ex. CALL DO "PARSE_INPUT" $S; would be valid from any ODTS.

There is a limit of 15 for the depth of such CALL DOs where each passes a parameter. ie. If A1 calls A2 which calls A3 ....A14 which calls A15 and all pass parameters then if A15 call A16 with a parameter it will abort with an 'environment depth exceeded' error.

Any statement which requires a change of environment also temporally increments this limit so a .TAPEDB method or OBJECTS call in A15 above, would also abort.

This change also fixes a bug in the .TAPEDB method when used on a slave system. When used with an integer variable no attributes were returned if the variable contained less than 6 digits. If used with a string variable when the contents of the string were numeric, less than six characters and not zero filled, no attributes were returned.

A very unlikely bug which could cause a 'bounds error' if a .TAPEDB method was used on a slave system soon after the first access to a Prints context.

Previously the use of the methods .WHEN, .TAPEDB or .PRINTS in ODTS of context MSG, LOG, TAPEDB, WHEN, PRINTS, could corrupt any subsequent access to the attributes of the context.

530.57 DUCHECKERBOARD formatting changes
Tue, June 3 2008

The JS format of the DUCHECKERBOARD attribute would return an extra comma after the first '[' if the sector start address provided by the caller did not coincide with the beginning of a row boundary. This problem has been fixed.

Further, the Fixed, Temp and Open flags provided in DUCHECKERBOARD output (see DNote 530.55) will appear as values of 0 or 1 instead of the literals 'true' and 'false'.

530.56 Include FILEKIND in DUCHECKERBOARD maps
Mon, June 2 2008

The DUCHECKERBOARD attribute now includes a FiLEKIND mnemonic for each file area that is mapped and appears after the file title. For example, the CSV variant will appear as:

[Start sector,Sector count,Title,Filekind,Fixed,InUse,Temp]

 4028,227796,41,*DEV/PI0017M2007301A,PROMBURNERDATA,FALSE,FALSE,FALSE

Similarly, the web JS format includes the FILEKIND as a quoted string. Special areas such as 'Label','Unavailable' , 'Olay Row' and 'MCP Info' return empty strings.

The DUCHECKERBOARD attribute can only return a resultant string of 2,000,000 characters so, if a continuation call is required to return the rest of the map, this can be detected by using the DUNEXTADDRESS attribute which returns the last address handled in the previous call plus 1. When DUNEXTADDRESS returns 0, the scan is complete.

An example OPAL script to return a complete map of the family DEV Familyindex #1 in CSV format:

     #CAP:= DUCAPACITY("DEV",1);
     #START:=0;
     Do
     Begin
        $MAP:= DUCHECKBOARD("DEV",1,#START,#CAP-#START);
        %Code to process $MAP goes here
     End Until #START:=DUNEXTADDRESS Eql 0 Or $MAP Hdis "ERR";

530.55 No SHOW truncation
Thu, May 29 2008

Previously, the Opal SHOW statement would output any line of text up to a new line marker (/) or the width of the screen (typically 80 characters). This behaviour could be changed by setting TERM TRUNCATE FALSE from the station causing each long line to be split into multiple 80-character lines but its use is inconvenient and has other effects.

The processing of SHOW output has now been modified to behave as though TRUNCATE is always TRUE (the setting will actually be ignored). All data provided within a SHOW statement will now be visible regardless of line length; as before, any SHOW output will cause Insert-Line actions for each line of output sent to the station. Note that the SHOW statement in FLEX already exhibits this behaviour.

530.54 Support for DUCHECKERBOARD
Thu, May 29 2008

A new OPAL attribute called DUCHECKERBOARD is now available which can provide a detailed file analysis of any sector range on a selected disk family index, similar to that performed by SYSTEM/FILEDATA, allowing access to such information from OPAL and particularly the Metalogic Web system.

DUCHECKERBOARD returns a Checkerboard Map of the family specified by the first string parameter. Other parameters specify a family index, a sector start address and the number for sectors to be mapped from that start address. For example:

    $MAP:=DUCHECKERBOARD("DEV",1,0,40000)

The above will perform a checkerboard address map of the family DEV, family index #1, starting from sector 0 for 40,000 sectors.

The result is an array of file mappings which detail start address, number of sectors, row count, file name and several row status flags (Fixed, Inuse, Temporary). By default, the information is returned in JS format suitable for web usage but making the family index negative presents the same information in CSV format. Special areas such as 'Label','MCP Info' or 'Olay Row' will appear where appropriate instead of the file title.

Please see HELP ATTR CHECKERBOARD and JAMPACK DNote 530.03 which describes the implementation in greater detail.

530.53 Increase WFL use to 65500 characters
Wed, May 21 2008

The OPAL function WFL will now allow up to the maximum limit for a CONTROLCARD call of 65,500 characters. Previously, the WFL function only permitted 16,398 characters. It is not possible to pass a WFL command string longer than 65,500 characters; such a request will cause the WFL function to return an error value of -10 (WFL TOO LONG).

530.52 Fix MESSER fault and erroneous mix numbers
Wed, May 21 2008

Previously, passing strings longer than 1940 characters using the OPAL DISPLAY statement would have caused a MESSER FAULT: CASE 7 SUBCASE 34 entry in the system log and the message would not be displayed. Because this is a MCP limit, SUPERVISOR display messages are now truncated to 1940 characters to prevent this problem.

Should certain OPAL functions such as DBS, COMS, WFL and KEYIN fail due to programmatic errors or external influences, SUPERVISOR will now record the problem in its own log and better report such failed requests to the calling OPAL.

530.51 Protect slot re-usage for various contexts
Tue, May 6 2008

Previously, SUPERVISOR could have faulted with a SEG ARRAY ERROR @ 77057900 if the same WHEN slot was used first by a MSG-based DO and subsequently by a USER-based DO that had not been passed a usercode by the caller. This minor bug is now fixed.

530.50 Fix AFTER DO problem
Tue, May 6 2008

The execution of standalone AFTER context ODTSEQUENCEs with the DO command expects a user-provided SCHEDULE file key to retrieve AFTER record information. However, if the DO Was executed inside a TT function, it was possible for SUPERVISOR to fault in the procedure GETAFTERINFORMATION when building the key or to return information for the correct SCHEDULE record. This problem is now fixed.

The FORTEXT attribute in the AFTER context will now return the string value 'FOR *' if the calling EVAL/DO slot is running under a usercode but the selected activity is NOTlocked with a usercode. Previously, FORTEXT would have returned an empty string in these circumstances.

530.49 Activate SO LOGGING option
Fri, May 2 2008

A new SUPERVISOR SO option called LOGGING (47) has been implemented. When this option is activated (off by default), SUPERVISOR will log all user activity, unsolicited messages and error reports into its own private log file. when active, these log files can be accessed by the LOG command; please see HELP LOG for more detailed information.

Further, OPAL compiler faults are now logged correctly in SUPERVISOR's log file; previously these were ignored.

530.48 Allow WFL tracking of CHANGE and REMOVE
Fri, May 2 2008

Previously, usage of a single statement REMOVE or CHANGE statement within a WFL function was not handled correctly by SUPERVISOR. No valid BOJ or EOJ notices would be detected and any generated messages would be assigned the wrong mix number.

This occurs because of the way that the MCP optimises such simple WFL statements by suppressing a job stack; SUPERVISOR now jackets such statements with a BEGIN JOB..END JOB pair to ensure that valid job notices are provided.

530.47 Fix WHENID(STATION) when run from Marc
Wed, April 30 2008

WHENID(STATION) would cause an integer overflow fault if run via the Marc TTInterface. It will now return "Marc".

530.46 Fix AFTER EVAL date range handling
Thu, April 24 2008

The change described by DNote 530.42 caused a problem if any of the days referenced in a date range was the current date. In this case, although the current date would be correctly handled, later dates in the range would use an incorrect schedule day. For example:

  EVAL (AFTER:TRUE) [@21/4/2008-23/4/2008] DO AF

If todays date was the Tuesday 22nd April, then the first two days of the range would be handled correctly but the 23rd would have erroneously loaded SUNDAY's schedule instead of WEDNESDAY. This problem has been corrected.

Previously, an 'AF ? ON DATE < dd/mm/yyyy' command where dd/mm/yyyy was todays date, would have returned all daily activities instead of filtering by the specified 'ON DATE' modifier. This problem has been fixed.

This changes supports the new DAY attribute in the AFTER context, as described in OPAL GSTABLEGEN DNote 530.14.

530.45 New AFTER handling messages
Thu, April 24 2008

The formatting of AFTER response messages has been improved to provide detailed information about the processing of the command including which times slots were activated, deleted or ignored. Previously, the messages generally returned simple counts.

Some examples of the message changes for a new AFTER insertion:

  SCHEDULED IN 5 TODAY SLOTS
  SCHEDULED IN 28 SUNDAY-WEDNESDAY,FRIDAY SLOTS
  NOT SCHEDULED IN 5 TODAY SLOTS: PAST TIME(S) IGNORED
  NOT SCHEDULED IN 3 SUNDAY SLOTS:ALREADY PRESENT
  SCHEDULED IN 1 COLDSTART SLOT

For an AFTER deletion:

  DELETED FROM 3 TODAY SLOTS, 16 TUESDAY SLOTS
  NOT DELETED:1 TODAY SLOT IN PAST
  NOT DELETED:NO ACTIVITY FOUND

To assist the Metalogic web browser interface for schedule maintenance, the AFTER command has been modified to allow requests to be verified without updating the live schedule. Prefixing the '*' character prior to the AFTER keyword causes this simulation to be enforced and, if requested, commands are processed as usual but no physical I/O update is performed on the SCHEDULE file. In addition, any generated messages will be prefixed by the text 'WOULD BE' or 'WOULD NOT BE'.

Some examples:

  AF * 1300:TT DO TEST
  WOULD BE SCHEDULED IN 1 TODAY SLOT
  AF *+ 1500:TT DO TEST2
  WOULD NOT BE SCHEDULED IN 1 TODAY SLOT:ALREADY PRESENT
  AF *- 1000-1100(20):@1
  WOULD NOT BE DELETED FROM 3 TODAY SLOTS
  WOULD NOT BE DELETED FROM 1 TODAY SLOT:PAST TIME(S) IGNORED

Lastly, the HOLD modifier (a variant of DELAY) for the WHEN command has now been deimplemented.

530.44 Fix DEF + ... INLINE
Fri, April 18 2008

Version 521.13 introduced a bug in saving InLine Opals.

I.E. TT DEF + ODTS MYINLINE INLINE would no longer work.

This problem has been corrected.

530.43 Omit FOR spec in ADDTEXT and DELETETEXT attribu
Wed, April 16 2008

The FOR specification, used to lock AFTER activities under a usercode, will now not be included in the ADDTEXT and DELETEXT attributes of the AFTER context. Any FOR assignment can still be determined using the FORTEXT attribute.

530.42 Allow AFTER commands with TT function
Thu, April 10 2008

Previously, invoking AFTER commands with the Opal TT function would generally fail with the error 'MORE INPUT REQUIRED SCANNING :'. This problem only affected AFTER command usage in TT and is now fixed.

The AF ? ON DATE command will now use the live loaded days schedule for TODAY if the ON DATE provided matches the current date. This means that the AFTER command response will now exactly match that of an unqualified AF ? interrogation. This behaviour change allows manual AFTER modifications for the TODAY schedule to be correctly shown.

Similarly, AFTER context EVALs which have a date range assigned will now recognise if any date in that range is TODAY. If so, the ONTODAY attribute will return TRUE, SCHEDULEDAY will return the current julian date and all activities for TODAY's schedule will be returned.

530.41 No compile task for inline Opals
Thu, April 10 2008

SUPERVISOR will now compile in-line OPALs inside its main stack instead of invoking a separate compilation process. This is a performance improvement allowing in-line requests to be processed rapidly without tasking overheads.

530.40 Add help for USE USER FOR MAIL
Fri, March 28 2008

Help has been added for the MAIL option of the USE USER command.

530.39 Fix AFTER KEY for specific julian date
Tue, March 25 2008

Previously, the AFTER context KEY attribute would return a key string with an extraneous comma if a specific date was requested in the calling EVAL date/time specification. For example, requests such as 'EVAL AF [@25/3/08] DO AF' would generate typical KEY attribute values such as '2008085,175,,1'. This problem has been fixed.

530.38 Allow trailing blanks in PDT with wildcards
Tue, March 25 2008

Version 530.36 did not strip tailing blanks from a wildcard pattern. This has been corrected.

530.37 Fix AFTER subcontexts and relax ADDTEXT
Thu, March 20 2008

Subcontexts for AFTER SITUATIONS will now be shown correctly in a DEF ? response. Further, restrictions on the ADDTEXT attribute have been relaxed - this will now always return an AFTER command string but may not be valid for certain complex entries in the schedule for TODAY.

For some time now, SUPERVISOR has not been writing flagged activities such as SAVE SCHEDULE, PRINT SCHEDULE etc. into the decompiled symbol file created by the SAVE SCHEDULE AS.. or SAVE AFTERS AS.. commands. This oversight has been corrected.

Scheduling SUPERVISOR activities at 2359, other than a PRINT SCHEDULE, is not generally recommended. This is because SUPERVISOR, to ensure that the new days schedule is loaded promptly at midnight, may wait for up to 60 seconds to ensure that MCP date and time are properly synchronised on certain machine styles. Because of this, scheduled commands may result in being processed after the schedule has loaded.

530.36 Allow ON part in PDT pattern
Thu, March 20 2008

Tape directories and LibmaintDir directories my now include ON <familyname>. PDT will now accept an ON part in the pattern.

Ex PDT MT 80 =/TEST ON =

Note that if an ON <familyname> is in the directory an ON = or ON <familyname> may be requred in the pattern.

530.35 Provide WFL jobno for AFTER-invoked DO
Wed, March 19 2008

Previously, all DO commands executed by an AFTER would only be marked with a 'postscript' of 'OK' or 'COMMANDERROR' as seen in an AF ? response. In the event that a scheduled DO command invokes a WFL job via the ODT statement then the postscript of the activity will now get updated with the job number and status of the WFL job (as seen with a WFL activity explicitly scheduled by an AFTER) at run time.

Note that this update only occurs for the first WFL job that is processed by the DO since it is not feasible to hold information for more than one WFL entity in an AFTER record.

For example, consider the ODTSEQUENCE DOJOB defined as:

 DEFINE ODTSEQUENCE DOJOB:
   ODT("START *TEST/JOB ON DEV");

If the ODTSEQUENCE had been successfully invoked at 12:40 by an AFTER:

  ----- SCHEDULE after 12:40 TODAY @ 12:40:00 19/03/2008 -----
 1: TT DO DOJOB :(JOB OK,#34390)
 2: TT DO DOCOPY :(OK)

The job number 34390 refers to the successful initiation of *TEST/JOB.

The change described by SUPERVISOR DNote 530.26caused some scheduled AF activities to be processed up to a minute later than their intended times. This behaviour has been corrected.

Also, a problem where SUPERVISOR emitted erroneous GET/SET STATUS ERROR #0 messages when returning certain command scan errors has been fixed.

530.34 Correct PDT handling from MARC
Tue, March 18 2008

The change described in DNote 530.28 caused problems with the PDT command. From SUPERVISOR's MARC Directive interface, the command would consistently return 'ok' instead of a file list; from a Supervisor window a file list would be correctly returned but certain error messages would be corrupted. These problems have been resolved.

For DO commands initiated from a Supervisor-COMS windows, the change described in SUPERVISOR DNote 530.31 had the side effect of forcing the station log-on usercode to be unconditionally assigned to the DO. This behaviour has been corrected.

Also, the optional use of ":" to separate hours and minutes in EVAL time-ranges has been restored after being inadvertently disabled by changes applied for the AFTER context.

530.33 AFTER timestamp attributes corrections
Fri, March 14 2008

The AFTER attributes ACCESSTIME, AMENDTIME and CREATETIME will now return the correct time of day and therefore matching the time shown in the ACCESSTIMESTAMP, CREATETIMESTAMP and AMENDTIMESTAMP values.

530.32 Resolve DBS function vs.VDBS method conflict
Thu, March 13 2008

Usage of the Opal DBS function and the VDBS method in series within the same ODTSEQUENCE and referencing the same mixnumber for both calls caused the second call to return invalid data. This occurred because SUPERVISOR incorrectly tried to optimise the second call, believing that he already had cached the data despite DBS and VDBS being incompatible. This problem has now been fixed.

530.31 Better SYSTEM/OPAL auto enter
Thu, March 13 2008

Support for using C WITH OPAL AS $AUTO/ENTER

Fixed a problem when "NOT ALLOWED' was returned on a busy Supervisor.

Rebuld messages were only returned for the first compile after a Supervisor restart.

530.30 Support for ORDINALWEEKDAY and DAYMASK attribute
Sun, March 9 2008

The ORDINALWEEKDAY and DAYMASK attributes have implemented for the AFTER context allowing better identification of AF activities constructed with modifiers such as 'ON Nth MONDAY' etc. The ONWEEKDAYS, ONWEEKENDS and ONWORKDAY will now work correctly for all activities which use these modifiers.

A problem where SUPERVISOR could fault with an INVALID INDEX at 66172000, when parsing unusual AFTER requests with invalid day ranges such as 'AFTER+0100 ON SATURDAY-SUNDAY', has been fixed.

530.29 Remove erroneous messages from non-log EVALs
Fri, March 7 2008

Previously, it was possible for some EVAL commands to append incorrect error messages such as 'Max LOG limit reached" even though the EVAL was not a LOG context variant. This occurred if the EVAL had used the same slot as an earlier LOG-based EVAL that been stopped with the max LOG limit condition. This behaviour has been corrected.

Previously, the USERCODE and ACCESSCODE attributes in the AFTER context returned corrupted strings if their values were exactly six or twelve characters in length. This problem has also been corrected.

530.28 Correct AFTER WFL jobs with assigned ACCESSCODE
Thu, March 6 2008

The changes described in DNote 530.26 caused any WFL jobs invoked from a scheduled TT DO and run with a valid usercode and accesscode, to fail with an INV ACCESS error. Further, SUPERVISOR was not correctly handling notifications for jobs that had been invoked from WHENs using an ODT statement to run the WFL job. Depending on the Opal code and context being used, the calling slot could unexpectedly fault or be triggered by a second, corrupt notice. Both these problems are now fixed.

The SLOTFAULT attribute from the WHEN context will now be set to TRUE when processing a termination notice for a slot that has died to an internal SUPERVISOR 'ON ANYFAULT' handling.

Some minor logging format problems handling AF errors have been corrected.

530.27 Protect task checking hangs
Tue, March 4 2008

During SUPERVISOR BackTrack schedule recovery, it was sometimes possible for the BACKUPSCHEDULE process to become hung waiting for certain backtracked processes, such as SAVE SCHEDULE, to complete. Even though the SAVE had completed, BACKUPSCHEDULE could have failed to detect the EOJ and would then wait indefinitely; this, in turn, caused the main SUPERVISOR program to stop responding until BACKUPSCHEDULE was manually terminated. These problems have been resolved.

530.26 Implement WFL postscripts for TODAY AF
Tue, March 4 2008

The handling of SUPERVISOR's AFTER postscripts has been significantly enhanced particularly in the tracking of WFL activities such as STARTJOB. Previously, SUPERVISOR would simply mark all such WFL activities as 'PASSED TO GRINDER' and was unable to report if the WFL had failed because of syntax errors, missing job file, bad usercode etc.

Now, SUPERVISOR can now provide status information about the success or failure of a WFL job initiation processed by an AFTER command. Completion status information will appear in an AF ? response for TODAY's schedule and also in a PRINT SCHEDULE listing. Typical values include JOB OK, JOB SYNTAX, BAD USERCODE, INVALID ACCESS etc. There is also an additional value, COMMANDERROR, which identifies if an AF TT command has failed e.g. a TT DO might fail because the ODTSEQUENCE might be absent.

AF ? 1930-1934

 ----- SCHEDULE after 19:30 TODAY @ 19:30:54 28/02/2008 -----
1: STARTJOB (IPP)TEST/JOB ON DEV :(JOB OK,#54131)
 ----- SCHEDULE after 19:31 TODAY @ 19:31:48 28/02/2008 -----
1: FOR (TEST) STARTJOB (IPP)TEST/JOB ON DEV :(INVALID USERCODE)
 ----- SCHEDULE after 19:32 TODAY @ 19:32:36 28/02/2008 -----
1: FOR (TEST1) ACCESS IPP STARTJOB (IPP)TEST/JOB :(INVALID ACCESS)
 ----- SCHEDULE after 19:33 TODAY @ 19:33:12 28/02/2008 -----
1: FOR (TEST2) CHARGE IPP STARTJOB (IPP)TEST/JOB :(INVALID CHARGE)
 ----- SCHEDULE after 19:34 TODAY @ 19:34:06 28/02/2008 -----
1: TT DO ZZ :(OK)

When SUPERVISOR logging is active, the LOG command will show all AFTER commands being processed at the activity time and report each success or failure.

The AFTER context has been extended to provide these AFTER results when used with the EVAL command. The POSTSCRIPT and JOBNUMBER attributes provide for WFL jobs whether it started sucesssfully and, if so, the associated job number. Note that JOBNUMBER is also available if the WFL activity fails with syntax errors.

The AFTER response for for the daily schedule will now show WFL job numbers where appropriate for both AF ? and PRINT SCHEDULE commands.

This facility could, for example, allow SUPERVISOR Opal programs to report AFTER failures on a daily basis and email any exceptions.

EV(AFTER:VALID(POSTSCRIPT)) DO (SHOW(ADDTEXT 50,,POSTSCRIPT 12,,JOBNO))

										
FOR TEST2 CHARGE IPP AFTER + 1933:STARTJOB (IPP)TE INVCHARGE    0
FOR TEST1 ACCESS IPP AFTER + 1932:STARTJOB (IPP)TE INVACCESS    0
FOR TEST AFTER + 1931:STARTJOB (IPP)TEST/JOB ON DE BADUSERCODE  0
AFTER + 1930:STARTJOB (IPP)TEST/JOB ON DEV         JOBSYNTAX    60356
FOR IPP AFTER + 1929:STARTJOB (IPP)MK/JOBDEL ON DE JOBOK        60348
AFTER + 1929:PRINT SCHEDULE                        JOBOK        60348
AFTER + 1929:SAVE SCHEDULE                         JOBOK        60348
FOR TEST2 CHARGE IPP AFTER + 1928:STARTJOB (IPP)TE JOBOK        60341
FOR TEST1 ACCESS IPP AFTER + 1927:STARTJOB (IPP)TE JOBOK        60339
FOR TEST AFTER + 1926:STARTJOB (IPP)TEST/JOB ON DE JOBOK        60335
AFTER + 1925:STARTJOB (IPP)TEST/JOB ON DEV         JOBOK        60333
FOR IPP AFTER + 1924:STARTJOB (IPP)MK/JOBADD ON DE JOBOK        60327
AFTER + 1923:TT DO NOSUCHACTIVITY                  COMMANDERROR 0
AFTER + 1922:SAVE SCHEDULE                         AFDONE       0
AFTER + 1921:DISPLAY("SIMPLE WFL TEST")            AFDONE       0
INLINE_AFTER_14+INLINE_14 WILL BE EVALUATED

										

The above EVAL could be easily changed to allow failed jobs to be collected and emailed at 2359 each night. See HELP ATTR POSTSCRIPT for details of all the possible values for this attribute.

The ADDTEXT attribute will now be marked as not VALID if the schedule day is TODAY and the activity was specified with an ON Nth DAY, IN WEEKS or uses a LAST modifier. This occurs because such activities can only be established with an ON <day of week> or DAILY modifier and therefore have no relevance for Today's schedule. In contrast, the DELETETEXT attribute is VALID in such cases but is constructed with ':@n' modifier to identify the activity instead of the its text.

SUPERVISOR-invoked commands such as JAM, SYSDIR and SYSLOG will now return JOBOK postscripts if successfully run and the associated job number will be available. This also applies to any RUN commands because such AFTER activities are jacketed by a BEGIN JOB..END JOB. Note that ??RUN entries that are successfully executed are exempt and cannot show a job number.

The WITHIN modifier, used by an AF command to control the max number of seconds that an activity can be started after its time slot, is now supported by the similarly named WITHIN attribute in the AFTER context.

Also in this change, SUPERVISOR now better handles AF commands that have been entered into TODAY's schedule with a time that is the current time of day or slightly later. Under certain conditions, it was then possible for SUPERVISOR to incur significant I/O and CPU resource, appearing to be unresponsive for a period up to 1 minute. This occasional long-standing behaviour has now been corrected.

530.25 Further AFTER context fixes
Fri, February 29 2008

The TIMESPECS and ADDTEXT attributes in the AFTER context will now NOT include an 'ON <day' specification if an ON clause such as 'ON LAST MONDAY','ON 1ST DAY' etc. is already present. For example, TIMESPECS might have returned the following invalid date specifications:

  ON SUNDAY ON 1ST DAY
  ON TUESDAY ON LAST WORKDAY

Also, for activities with certain complex date specifications (such as 'ON..DAY'), a scan of the schedule with any AFTER EVAL may have omitted these from each week day analysis (ON SUNDAY, ON MONDAY etc).

The change applied in SUPERVISOR 530.24 inadvertently broke the use of the AFTER key mechanism (as described by DNote 530.22) used to process individual AFTER records by a standalone DO. Each DO would have failed with the error 'Invalid AFTER key'.

Lastly, SUPERVISOR would consistently have rejected week of year numbers 5, 47, 50 and 53 when used in AFTER commands that used the 'IN WEEK nn' clause.

These problems have now been fixed.

530.24 Correct LOG evals date ranges
Mon, February 25 2008

The AFTER implementation described in DNote 530.23 had the unintended side-effect of causing certain EVAL date and time specifications (used for log-based access) to fail with the error 'RIGHT BRACKET REQUIRED'.

Also, using a time range within the EVAL specifications for the new AFTER context would always fail to find any matching schedule entries, with or without a specified date. Both of these problems have been addressed.

530.23 Correct multiple TT KEYIN problem
Fri, February 22 2008

Previously, SUPERVISOR could have faulted with an INVALID INDEX at 76348000 when processing multiple TT commands in sequence using the KEYIN function. This problem has been resolved.

Several minor logging issues have been addressed in this change.

530.22 Implement AFTER context
Fri, February 22 2008

A new context, called AFTER, is now available for use by OPAL programmers. This context permits access to SUPERVISOR's AFTER schedule and has many attributes that map information related to an individual activity. This access is only available to the EVAL command.

The AFTER context allows the activity schedule to be filtered by the day of the week (SUNDAY=>SATURDAY) or by the special keywords TODAY and COLDSTART. For example:

  EVAL (AFTER=SUNDAY,TUESDAY:TRUE)

The above example would only examine activities that normally appear in the schedule for ON SUNDAY and ON TUESDAY.

Various attributes allow the caller to filter by many different characteristics. For example, boolean attributes such as ONHALTLOAD, ONRESTART, ONSUNDAY etc. allow the user to filter individual activities by a variety of different conditions. String attributes such as ACTIVITY, FORTEXT, ADDTEXT and DELETETEXT allow information about the schedule entry text content content to be retrieved. Please see HELP ATTR =:AFTER for a complete list of the attributes in this context.

Similar to the syntax used for LOG-based EVALS, it is also possible to control access to schedule records by using time of day and/or date ranges filters. The syntax is slightly different from that used by LOG and both time and date ranges can be used; the specific AfTER syntax for the AFTER <Eval Specs> is shown below:

<Eval Specs>

 -- @ ---+----------+------------+--+------------+-----------------|
         +--<hhmm> -+            |  +--<ddmmyy> -+              |
                    +- - <hhmm> -+               +- - <ddmmyy> -+

If <Eval Specs> is not used then the general daily schedule (or parts of the schedule if a subcontext is specified), will be processed. However, using <Eval Specs> causes this behaviour to change if a specific date or date range is specified. This forces SUPERVISOR to return all activities that are scheduled to be executed on all days in that range. In particular, activities that have EXCEPT HOLIDAYS or ON WORKDAYS or ON DATE will only be displayed if they are to be processed on that day. The list of activities will be identical to that seen using the command AF ? ON DATE.

For example:

  EV (AFTER:TRUE) [@1000-1300 20/2/08] DO (SHOW(ADDTEXT))
  EV AFSITU [@21/02/08-23/02/08] DO AFODTS

Using a time range without a date or date range will cause the general schedule to be filtered by time only. In the event a date is specified, the SCHEDULEDAY and SCHEDULEDATE attributes will be automatically set to the appropriate date.

AFTER context programs may also be executed standalone with the DO command. To retrieve information for an unique record in the schedule, the DO command must be given the schedule day or specific julian ON DATE, the minute of day and the activity number. The Opal KEY attribute provides this access but its use is not intended for general use.

This interface has been provided to support new functionality in the new Metalogic Web interface, which operates with a variety of internet browsers, and offers direct access into the SUPERVISOR schedule.

530.21 Permit SYSTEM-based ODTS with LOG SITU
Mon, February 11 2008

The change described by SUPERVISOR DNote 530.04 had the unintended side-effect of prohibiting the use of SYSTEM-based ODTSEQUENCEs or DISPLAYS with all LOG context SITUATIONS linked by the WHEN, ONCE or EVAL commands. This restriction, not previously in use before the 530.04 change, has now been relaxed.

530.20 Inherit usercode for TT KEYINS
Fri, February 8 2008

Previously, passing SUPERVISOR (TT) commands via the OPAL KEYIN function did not inherit the usercode of the WHEN slot. This caused problems, in particular, when using the DEFINE command as interrogation or compilations would access the system dictionary and not the DEFINES belonging to the calling usercode. This behaviour has been corrected.

Also, KEYINs called from OPAL programs running under a usercode will now be logged correctly in SUPERVISOR's log file.

530.19 Correct TK error message logging
Wed, February 6 2008

Previously, SUPERVISOR logged all error messages returned by the Unisys TAPESERVER library (when run with 'USE SILO UNISYS') as type 'Msg' in the Metatapelib TAPELOG file instead of the expected 'Err'. This error has been corrected.

Also, SUPERVISOR will now log all usage of the FOR modifier with any command into its log file (if enabled). Previously, the original command would not have been logged if the FOR failed for security reasons.

530.18 More WHENCONTEXT and TIME inline Opal fix
Wed, February 6 2008

Several problems with the new WHEN context have been addressed: the CHARGECODE attribute, if valid, now returns the correct string value. Also, passing a slot number greater than the maximum absolute WHEN number (by default 40) to the .WHEN method, as described in OPAL Dnote 530.05, will now not cause an INVALID INDEX @ 10712220 in SUPERVISOR.

Also, a MX context inline OPAL that additionally specified TIME in the SITUATION did not correctly pass the context to an associated in-line OPAL. For example:

   WHEN (TIME,MX:TRUE) DO (SHOW(MIXNO))

The above would have failed syntax when scanning the MIXNO attribute because the OPAL compiler would not know the context was MX. This problem is now fixed.

530.17 Allow TIME-based WHEN context
Mon, February 4 2008

The WHEN context may now take a TIME modifier as part of a subcontext assignment (as with MX and PER) allowing such OPAL programs to poll the current WHEN list using an user-specified DELAY. However, unlike MX and PER, a time-based WHEN slot will still also be triggered by normal WHEN events created when a slot is activated, faulted or terminated. For a timed poll, the information for each slot passed to the WHEN has a special EVENTTYPE category called WTIMEOUT.

A new attribute, TIMELASTEVAL, has been added to the WHEN context. This returns a value signifying the elapsed time, in seconds, since the SITUATION belonging to the slot was triggered because of an event. However, for slots with a zero EVAL count, TIMELASTEVAL will return the time since the WHEN was first started. TIMELASTEVAL has also been added to the MYSELF attribute, allowing access to this info from all contexts.

Example:

   DEFINE + SITUATION W(TIME,WHEN):
       SITUCONTEXT="HTTP"

530.16 Fix ENTER processor accounting
Mon, February 4 2008

The fix described in DNote 521.45 did not resolve all the CPU accounting issues with the ENTER command. If an ENTER generated any informational messages, which are then logged by SUPERVISOR, it was possible for the accounting of 'Controller Queue handling' to be distorted by the CPU time incurred by the ENTER process. This problem has now been corrected.

530.15 Support .WHEN method for variable
Wed, January 30 2008

This change supports the new .WHEN method for Opal variables.

530.14 Speed up EVALREADER processing
Mon, January 28 2008

Previously, to control CPU usage, certain SUPERVISOR EVALs that invoked EVREADER subtasks to process LOG and TAPEDB contexts, would have continually released the processor after processing only 20 records. This minimum value has now been increased to a new default of 200 records allowing the faster completion of these EVAL requests. Note that the limit can be controlled by changing the Supervisor configuration variable SUP_TIMERSLICE using the INSTALL utility's CONFIG menu.

530.13 Support for WHEN context
Mon, January 28 2008

A new context called WHEN has been implemented for SUPERVISOR. This is primarily an event-based context that allows SUPERVISOR to monitor all WHEN and DO activities such as sessions starting and terminating, with reporting for those that have faulted. The full set of attributes can be viewed using HELP ATTR =:WHEN.

WHEN context OPAL programs may be used with the WHEN command (the type of event is designated by the EVENTTYPE attribute) and also with EVAL. For HTTP WHEN programs, a special EVENTTYPE with the mnemonic WHTTPBUSY has been added; this allows SUPERVISOR to detect a browser HTTP client request that has become queued because all the active HTTP WHENs are currently busy.

Both the COUNT and OBJECTS functions in OPAL will accept WHEN context calls, returning a list of slot numbers in the latter case. WHEN programs may also be executed standalone, using the DO command, by passing a valid slot number as parameter.

    WHEN (WHEN:TRUE) DO WHENODTS
    DO WHENODTS 1,22,23
    EVAL (WHEN:ODTSNAME INCL "META") DO (SHOW(SLOT,,SITUNAME,,ODTSNAME))

530.12 FindWHEN
Thu, January 24 2008

Internal Change.

530.11 Limit COPYWRITE library linkages
Mon, January 21 2008

This change helps to limit the number of COPYWRITE library link and delink operations when accessing LibMaintdIr attribute information for FLEX disk farms and CD images in a TAPEDB EVAL. Previously, there would have been a link/delink pair for each tape access.

530.10 Correct EVAL MX vs. COUNT PRINTS conflict
Mon, January 21 2008

If a COUNT(PRINTS:..) function was executed inside a MX-based EVAL, SUPERVISOR could fault with INTEGER OVERFLOW @ 93650000 because of corruption in the mix number list returned. This problem would only occur if SUPERVISOR had not already earlier processed any PRINTS request (via COUNT or EVAL).

530.09 Allow multiple HTTP client WHENs
Tue, January 15 2008

SUPERVISOR will now permit multiple WHENS with the same name to run concurrently as long as the WHENs are of the HTTP context. This change assists SUPERVISOR's web server performance by allowing multiple HTTP WHENS to handle more than one client request concurrently.

Note that each WHEN can be deactivated using WHEN <situ> DO or the DO - #<slot> command.

530.08 Provide warning message for long MARC responses
Tue, January 8 2008

SUPERVISOR will now append a single-line warning message to output generated for MARC station responses which are greater than the MARC-enforced limit of 30,000 lines:

   -- WARNING:THIS MARC RESPONSE HAS BEEN TRUNCATED --

This only occurs for MARC output generated by Metalogic's TTINTERFACE MARC Directive and no other SUPERVISOR interfaces are affected.

530.07 Fix OBJECTS and COUNT handling
Thu, January 3 2008

The recent limits enhancement to the EVAL command described in DNote 530.03 caused all COUNT function calls (regardless of context) to return zero if used in any standalone DO or DISPLAY program. Similarly, all OBJECTS calls would always return empty string values. This problem is now fixed.

530.06 Fix WAIT(MSG) bug
Sun, December 23 2007

The change described by DNote 530.02 caused problems with ODTSEQUENCES that used the WAIT function waiting for specific message e.g. WAIT("TEST" ISIN TEXT). This feature, which would have only worked if other MSG WHENs were already active, will now work correctly.

530.05 DUMAP implementation
Sun, December 23 2007

This change supports the new OPAL attribute called DUMAP which returns a Disk Map of a specified disk family using a user-specified number of chunks. DUMAP returns an array of elements signifying the type of area for an individual chunk i.e. A (Available), M (Moveable) and F (Fixed). This attribute is meant for use with the Metalogic Web Server implementation.

530.04 Correct Log context mismatch checking
Sun, December 23 2007

Previously, SUPERVISOR did not check the SITU and ODTS types for all Log-based contexts when used with the EVAL and WHEN commands. This meant it was possible, for example, to link a FILECLOSE SITU with a LOGBOJ ODTS which caused a NOT YET IMPLEMENTED error when the ODTS was first executed. Now, SUPERVISOR will verify that the contexts match during command validation giving the following error if there is a mismatch:

   TYPE OF ODT SEQUENCE MUST MATCH TYPE OF SITUATION

530.03 Allow ranges as well as limits for Evals
Fri, December 21 2007

The Eval and When commands will now accept ranges as well as limits for evals and entries.

Ex. Eval Mysitu [100-200] Do Myodts

Will skip the first 99 objects which would have bee passed to the situation and only evaluate from 100 to 200.

Eval Mysitu DO Myodts[50-100]

Will ignore the first 49 objects passed by the Situ.

The range will always equate to at least one object. So [100-10] will be treated as [100-100]

For Odts of PD context a range can now be specified.

Ex. DO BOB [5-9] MYFILES/=

      or
      DO BOB [100] (*)=LISTING=:FLat

530.02 Increase maximum number of OPAL contexts
Mon, December 17 2007

This internal change offers no customer enhancements to Metalogic software. However, its effect is to permit more OPAL program contexts to be implemented for SUPERVISOR up to a new maximum of 47 (the current limit is 31) and will cause the SCHEDULE version to be incremented to 17 even though no actual conversion will occur. This means that earlier versions of SUPERVISOR will not be able to use SCHEDULE files touched by this current release.

This change requires all HTTP context programs to be recompiled or re-entered. If this is not done, any active HTTP Opals will fail with ' a 'BAD WAIT 0' error.

530.01 SHOW PERM/GLOBAL enhancements
Mon, December 17 2007

The SHOW PERM and SHOW GLOBALS commands have been enhanced to allow a wild-card pattern to filter the list of variables returned. If a normal identifier is used instead of a wild-card in the SHOW PERM command, SUPERVISOR will attempt to retrieve both the real and string values for that specific variable name.

The modified syntax for both SHOW variants is shown below:

  --- SHOW --+-- GLOBAL ---+--------+---------------+--------------|
             |             |        |               |
             +-- PERM -----+        +-- <Pattern> --+

The response to a SHOW PERM command will now sort the real and string lists by variable name in ascending order.

For example:

     SHOW GLOBAL META=
     SHOW PERM  =TEST=
     SHOW PERM  SPECIFICPERM

521.50 Fix a string protect error in Mail
Tue, December 4 2007

Using the mail function could in very rare circumstances cause a string protect error. This problem has been corrected.

Also supports an internal change, moving Record defines from opaltapelib to INCLUDE/META.

521.49 Internal change
Mon, December 3 2007

Use new INCLUDE/META

521.48 Support for DUMAP attribute
Fri, November 30 2007

Internal Metalogic change in preparation for the new Supervisor DUMAP attribute.

521.47 More MYSELF log attributes
Mon, November 26 2007

The use of the new MYSELF log variants discussed by DNote 521.44 will no longer cause STAK UNDERFLO errors when used in a non-log based context.

This change also supports two new MYSELF parameters, FIRSTLOGNO and LASTLOGNO, available for use by log-based EVALs. Please see OPAL GSTABLEGEN DNote 520.57 for more details.

521.46 Add help for SO NoStats and NoENterlist
Mon, November 26 2007

Add help for the SO options NoStats and NoEnterList

521.45 Record task cpu and fix SHOW UTIL bug
Mon, November 19 2007

The figure shown for 'Command Input processing' in a SHOW UTIL response was being incorrectly adjusted after every ENTER command, causing its value and percentage figure to be inaccurate. This problem has now been fixed.

SUPERVISOR will now record CPU usage statistics for its housekeeping processes such as SAVE SCHEDULE, ENTER SCHEDULE, BACKUP SCHEDULE etc. This accumulated value will now appear in a SHOW UTIL response in the 'Other processes' category but is not included in SUPERVISOR's Total Processor Time nor used in percentage calculations. Note that this value also includes processes that are currently active.

521.44 Additional log attributes
Mon, November 19 2007

Various new generic LOG attributes have been implemented. This subset includes LOGSTARTDAY, LOGSTARTTIME, LOGSTARTTS, LOGENDDAY, LOGENDTIME, LOGENDTS; these attributes may be used for both log-based EVAL and WHEN Opal scripts and returns specific SUMLOG timestamp information. This change also includes LOGTS and MSGTS (for the MSG context) that returns timestamp information in the form 'HH:MM:SS,DD/MM/YY".

Three new MYSELF parameters called LASTLOGDAY, LASTLOGTIME and LOGRECORDS have been implemented. These are useful for EVAL scripts and return time and records read information for the WHEN/EVAL in process.

521.43 Correct usercode logging in MCS BOS and EOS
Wed, November 7 2007

Supervisor-generated log entries for MCS session entries will now have the correct standard-form representation for the session USERCODE i.e. a value of 1 in the qualification byte. This value signifies that no usercode or asterisk precedes the display form.

521.42 String protect error on old MCPs
Wed, November 7 2007

On MCPs earlier than 4.7 Supervisor would fault with a String Protect error, if the config variable SUP_SCHEDULEFAm was not set. Setting this variable using META/INSTALL CONFIG would avoid the problem.

521.41 Handle MAIL and TP LOG requests locally
Tue, November 6 2007

Previously, the MAIL LOG and TP LOG commands were processed by the MAILLIB library and SUPERVISOR's TAPELIBUPDATER process. This has now been changed; SUPERVISOR will now detect these specific LOG commands and handle them locally. This allows future changes to LOG processing to be locally restricted to one application.

New extensions to the LOG command have been added to allow specification of time range details. Specifically, the BACK modifier is used as part of the <DateTimeRange> component in the general LOG command and the revised syntax is shown below:

  -- LOG -----+----------------------------------+------------>>>
              +-- <Category> --------------------+
              +-- <DateTimeRange> ---------------+

<DateTimeRange>

  --+-- <hhmm> --+---------------+-+----------------------------+-|
    |            +- <dm/mm/yy> --+ +- - <hhmm> --+--------------|
    |                            | |             +- <dd/mm/yy> -+
    +-- BACK <nnnn> -+-----------+ +- FOR <nnnn> ---+-----------+
                     +- <Units> -+                  +- <Units> -+

The BACK and FOR modifiers respectively allow specific start and end time points to be more easily assigned without having to use explicit values. The <Units> types are as follows:

<Units>

  ---+-- DAYS ------+----------------------------------------|
     +-- HOURS -----+
     +-- HRS -------+
     +-- MINS ------+
     +-- MINUTES ---+

By default, MINUTES will be used if no <Units> is given. A minimum of one character may be used to specify any <Units> type. BACK and FOR may be used in any combination with normal date and times.

LOG BACK 2 H FOR 10 MIN LOG BACK 20 FIND TERMINATION LOG 0800 1/1/07 FOR 2 DAYS

Since SUPERVISOR is handling both the MAIL and TP log commands locally, these changes universally apply to the LOG handling for these interfaces too.

521.40 General logging improvements and fix FOR log entries
Tue, November 6 2007

Significant improvements have been made to the logging of commands in SUPERVISOR's log files with better origin identification ie. DCKEYIN, SETSTATUS programs and BNA TT commands. A problem where a FOR command could have led to corrupted log entries has been addressed.

This change also fixes a GET/SETSTATUS ERROR #38 fault when SUPERVISOR executed internal PR and LJ ODT commands on MCP 53.1 Field Test.

521.39 Internal Change
Wed, October 24 2007

Internal change.

521.38 AutoLink
Tue, October 23 2007

Check HTTP Dialog is Linked before access, to avoid Missing PCW fault in Try Block.

521.37 CALL DO in PD Context
Mon, October 22 2007

CALL DO can now be used in a PD context, however large searches will use significantly more CPU time for ODTS with a CALL DO in them because all attributes have to be returned in the PD object.

Some cleanup has been enabled by GSTableGen 520.53

521.36 Correct WFL function tracking of ODT jobs
Mon, October 15 2007

Previously, any WFL job executed by an OPAL ODT statement caused its messages to be inadvertently retained and passed to subsequent usage of the Opal WFL function. These job message would then be handled inside an ON JOBMESSAGE block. This behaviour has been corrected.

521.35 Correct FOR handling with no password validatio
Wed, October 10 2007

If the NODEFAULTUSE USERDATA attribute is removed from the SUPERVISOR usercode then FOR activities may be specified for certain usercodes without knowing the passwords (see DNote 450.20 and 450.29). This feature, similar to that adopted by SYSTEM/ASSISTANT, was inadvertently deactivated by earlier changes for the TT function causing all FOR's to fail with INVALID USERCODE. This problem has been corrected.

521.34 Fix DIVIDE BY ZERO using HELP in TT
Wed, October 10 2007

If the HELP command or any erroneous version of that command was used inside an OPAL TT or KEYIN function call, SUPERVISOR would fault with DIVIDE BY ZERO error at 61590400. This problem has been fixed.

521.33 Internal PD Format Change
Wed, October 3 2007

Updates Supervisor to use the new format for PD objects.

521.32 Fix corrupt EVAL message and time spec bug
Wed, October 3 2007

The change applied by DNote 521.31 caused some EVAL and WHEN log messages to be inadvertently corrupted. This problem has been fixed.

Further, if an end time was specified in a log EVAL time range that was executed in the same minute as that end time, e.g. the following EVAL examples would fail to find any log entries:

    EVAL LOG [@ BACK 10 MINS FOR 10 MINS] DO LOG     (always fails)
    EVAL LOG [@1020-1030] DO LOG                     (fails at 10:30)

In the first example, if the calculated end time was one minute earlier or later e.g. 'FOR 9 MINS' or 'FOR 11 MINS' then the EVAL would always work correctly. Specifying any time other than 10:30 in the second example would also work. This inconsistency and some time range checking anomalies have been corrected.

521.31 More logging fixes
Mon, October 1 2007

Internal Metalogic change. Further improvements have been made to the logging mechanism, as yet unavailable for customer use, that was implemented in DNote 521.26. This change also improved the formatting of several messages dealing with the caching of changes to active OPAL programs.

A problem where SUPERVISOR would incorrectly continue to restart itself after faulting during initialisation has also been addressed.

521.30 Clean up LOGGING problems
Wed, September 12 2007

Internal Metalogic change. Various problems have been resolved with the new logging mechanisms described in DNote 521.26.

521.29 Increase STACKWAP stack limit
Mon, September 10 2007

This change corrects the problem of possible ILLEGAL STACKSWAP faults when calling nested ODTSEQUENCES via CALL DO.

521.28 PER No Device
Wed, September 5 2007

Allow DO of PER ODTS without Device Type.

HELP ATT <pattern> : SYSTEM now lists only the basic set of SYSTEM Context attributes. HELP ATT <pattern> : SYSTEM ALL lists all SYSTEM Context attributes, which includes NAP, VL, PD and METER.

521.27 Fix INVALID OPERATOR at 98741902 for EVAL response
Wed, September 5 2007

The change described in DNote 521.25 caused an INAVLID OP at 98741902 when building the response for certain types of EVAL commands used within a TT function. This problem only occurred when the TT EVAL used the Opal SHOW statement and is now fixed.

A second problem where MX-based EVAL commands, issued via the TT function, could have failed to call any associated DO if that script used code that caused a WAIT to be excuted. This problem is also fixed.

521.26 Implement Supervisor logging
Wed, September 5 2007

The logging mechanisms recently implemented for MAILLIB and TRIM have now been applied for SUPERVISOR but in test mode only. At this stage, logging can only be activated at Metalogic discretion. Further information will be made available when logging is fully implemented.

521.25 Protect queued slot notices after TT
Tue, September 4 2007

Previously, calls on the TT function that were terminated because of a max DO limit, max EVAL limit or log processing restrictions did not return a string description into the function result. Instead, TT would return an empty string and could have caused Supervisor to discard pending notices that were queued for the TT caller slot. This problem is now fixed; a meaningful text is now returned in the TT result.

521.24 Message Clarity
Fri, August 31 2007

Some output error messages for USER and PD contexts have been enhanced.

521.23 Metering attributes and system attributes
Thu, August 30 2007

If a large log record ( > 2733 words ) was processed by a Supervisor LOG When or Eval then Metering attributes and many system attributes (like MCPTIME) would subsequently return 0 or empty strings.

This problem has been corrected.

521.22 Clarify SYSLOG and SYSDIR AF usage
Mon, August 27 2007

Since the replacement of the LOG keyword by the SYSLOG and DIR by SYSDIR, it was not possible to delete old AFTER entries that had been originally assigned using LOG or DIR. Note that both SYSDIR and SYSLOG are special SUPERVISOR commands that allow the LOGANALYZER and FILEDATA utilities to be run with an associated job stack.

This problem occurred because an AF ? incorrectly showed these activities with the old keywords. Although the activity could be deleted using the replacement commands, this was not obvious and confusing.

Now, AFTER activities that use SYSLOG or SYSDIR will be correctly displayed and deleted. Note that both LOG and DIR commands may still be used with any AFTER command. This change also addresses several issues with case and deblanking when deleting scheduled AF activities.

521.21 Extend TTLASTERROR to integer with mnemonic value
Mon, August 27 2007

The TTLASTERROR attribute will now return an integer mnemonic value instead of a simple boolean as the result of all Opal TT calls. The list of available mnemonics may be seen in the response to a HELP ATT TTLASTERROR command and are documented below:

     TTOK         Value 0     Good action
     TTNOLOG      Value 1     No SUMLOG found
     TTLOGIO      Value 2     SUMLOG read error
     TTMAXLOGS    Value 3     Maximum SUMLOGS processed
     TTASZERR     Value 4     Internal SUPERVISOR problem
     TTNONEXTLOG  Value 5     Next SUMLOG unavailable
     TTMAXEVAL    Value 6     Maximum SITUATION evals reached
     TTMAXDO      Value 7     Maximum ODTSEQUENCE entries exceeded
     TTFLEXERR    Value 98    FLEX error
     TTCMDERR     Value 99    General Supervisor command error

521.20 Flex Failures
Fri, August 24 2007

If FLEX Inquiry terminates, any running Flex-dependent PD Displays will be terminated. If the FLEX Inquiry is Dsed, all Flex-dependent OPALs will get an error message with the DS Reason.

A rare timing error when Flex was scanning slow CD devices has been corrected.

521.19 Allow FOR duration with EVAL BACK modifier
Mon, August 20 2007

The use of the BACK modifier with a log EVAL specification, described in SUPERVISOR DNote 520.65, will now permit an optional duration for the scan of the sumlog(s) using the FOR modifier. For example:

      EVAL LOG [@BACK 10 MINS FOR 90 SECONDS]
      EVAL LOG [@BACK 2 DAYS FOR 1 DAY]
      EVAL LOG [@17:30 FOR 30 SECS]

The default time unit is SECONDS but HRS, HOURS, MINS, MINUTEs and DAYS will override this type. As can be seen in the last example, this syntax may also be used to simply construct a scan end date/time without having to specify the full date and time. Using BACK and FOR, SUPERVISOR can automatically generate programmable EVALs without knowing the current date and time.

521.18 Allow DO lists for USER and VL contexts
Mon, August 20 2007

Previously, the VL context could only be used with the EVAL command or by an OBJECTS call. Now, standalone VL ODTSEQUENCEs can be run in the same way as the TAPEDB variant by using the DO or DISPLAY command. Information from the MCP's Volume Library and Flex volume statistics will be automatically merged for individual volumes that appear in both environments. Multiple volume serial numbers may be passed as a list delimited by a space or comma.

For example:

    TT DO (VL:SHOW(SERIALNO,,VLNAME 17,,BACKUPREFS)) DF0002,CI0005

    DF0002 CDIMAGE_A        15
    CI0005 CI0005M2007176A  27

Note that only a serial number need be used and no volume kind is necessary. SUPERVISOR will automatically interrogate the Volume Library for each serialnumber using the available kinds of DISK, PACK and TAPE and will execute the ODTSEQUENCE if any eligible entry is found. This means that it is possible for multiple calls to be executed for a serial number that has two different volume entries.

Similarly, USER context ODTSEQUENCES will now also accept an usercode list when run with a DO command. Previously, only one usercode was permitted. For example, assuming the Opal script is running with a privileged usercode:

   TT / (USER: USER,, FAMILY,,ACCESSCODELIST)  META,FLEX,TEST

   META DISK=DEV OTHERWISE DISK IPP/?
   FLEX DISK = DEV OTHERWISE DISK RULES/?
   TEST DISK = VMSA OTHERWISE DISK

Invalid usercodes in the parameter list will each generate an error message but not force the DO or DISPLAY to abort.

521.17 Additional config variable protection
Thu, August 16 2007

In conjunction with the change described by DNote 521.16, SUPERVISOR now removes any leading spaces from all Magus configuration variables during its initialization phase. Previously, such leading spaces could have caused problems for some USE settings.

521.16 Protect SUPERVISOR globals after config switch
Tue, August 14 2007

After the execution of a Magus configuration switch using the USE FAMILY .. FOR CONFIG command, it was possible for some SUPERVISOR globals to retain their previous values if the variables were NOT present in the switched configuration file. This problem is now fixed.

521.15 Fix INVALID INDEX @ 98027150 with TT
Mon, August 6 2007

The change described in DNote 521.13 inadvertently caused an INVALID INDEX @ 98027150 when using inline OPAL commands inside a TT function call. This fix corrects this problem.

521.14 Correct HELP ATTR handling of PD context
Thu, August 2 2007

The HELP ATTR =:PD command will now show attributes belonging to the new PD attribute set and not those from SYSTEM PD. In addition, the HELP ATTR command has been enhanced to better handle the various subsets belonging to the SYSTEM context. SUPERVISOR will now accept the following modifiers with the HELP ATTR command:

    ----- HELP ATTR -- <pattern> -+-----------------------------+-|
                                  +- : --+-- <context> ---------+
                                         +-- METER -------------+
                                         +-- NAP ---------------+
                                         +-- SYSPD -------------+
                                         +-- SYSTEM -+----------+
                                         |           +-- METER -+
                                         |           +-- NAP ---+
                                         |           +-- PD ----+
                                         |           +-- VL ----+
                                         +-- SYSVL -------------+

The keywords SYSPD, SYSVL, METER and NAP are all shorthand mnemonics for the equivalent SYSTEM attributes subset; the SYSTEM modifier can be considered noise for both METER and NAP subsets.

521.13 Increase max INLINE chars to 45000
Thu, August 2 2007

The previous limit of 4096 characters for any 'inline' OPAL EVAL or WHEN combination has now been increased to 45,000 characters. This allows OPAL programs to generate very large in-line scripts that can be used, for example, within the TT function. Please note that, despite this large increase, there is still a possibility that a compiled inline script may generate an 'OPAL program >255 sectors error'.

521.12 Fix TT corruption of caller slot
Wed, July 25 2007

Previously, it was possible for certain TT calls to cause SUPERVISOR to fault with REQUESTED MEMORY GREATER THAN nnnnn WORDS @ 98259556 after exiting back to the calling OPAL. The fault depended on a combination of factors - the OPAL context of the caller had to be MSG or HTTP, the usage of a log-based EVAL command within the TT function and reference to context attributes by the caller after the TT. This problem has now been fixed.

521.11 Reinstate internal chargecode mechanisms
Wed, July 25 2007

The change discussed in DNote 520.16 regarding CHARGECODE control on SUPERVISOR tasks had the unintended side-effect of replacing the chargecode on all OPAL script executions with the USE CHARGE setting or, if this was not set, an empty string. This made identification of MCS logon and logoff records to OPAL scripts very difficult.

This behaviour has been corrected; all DO, EVAL and WHEN sessions will now have the appropriate chargecode identification allocated in all logon and logoff records, regardless of the setting of USE CHARGE.

521.10 Protect RESIZE errors after environment TT switch
Tue, July 24 2007

When attempting to switch heap environment information back to the caller of a TT function, SUPERVISOR would fault with a REQUESTED MEMORY SIZE GREATER THAN 65535 WORDS @ 91614000 if any string variables in the OPAL heap were longer than 393,209 characters. This problem is now fixed; strings up to the maximum of 2 million characters will be passed correctly.

521.09 Handle all queues in JOBQUEUE evals
Tue, July 24 2007

Previously, SUPERVISOR would always fail to include the jobs in the most recently added job queue (as seen in a SQ response) when handling a JOBQUEUE EVAL. This problem is now fixed.

Further, after a SUPERVISOR restart caused by an internal failure, it was possible for a HTTP WHEN to be restarted with an associated usercode even though the WHEN was originally invoked without one. This problem has been corrected.

521.08 Fix TAPEDB EVALs from TT function
Sat, July 21 2007

SUPERVISOR will now correctly handle EVALS in the TAPEDB context when called from the Opal TT function. Depending how it was invoked, such EVAL operations would find no entries or hang indefinitely marked with zero evals. As a consequence, the calling Opal that invoked the TT would then also be hung, marked as 'WAIT TT #nn', and both would require manual termination. These problems have now been fixed.

521.07 Allow ON <day>with AF command for TRIM-only sites
Thu, July 19 2007

The AFTER modifier 'ON <day of week>' is now permitted for sites that run with a TRIM-only licence. Adding scheduled activites using this modifier were previously restricted even though interrogations and deletions were permitted.

521.06 Improve PD Error Messages
Sat, July 14 2007

Make Send_Ary more robust and avoid a STATUS_CHANGE_REQUEST warning.

521.05 Trap FLEX error messages for TT calls
Wed, July 11 2007

The TT Opal function will now capture error messages from OBJECT/FLEX when a PD context EVAL or DO is executed. Previously, only messages such as 'DO WILL BE DONE' were returned to TT and later errors returned by FLEX were not passed back to TT. This problem has been fixed.

521.04 Fix EXTERNALCOMMAND hangs
Wed, July 11 2007

After being called by a client program, the EXTERNALCOMMAND entrypoint in the SUPERVISOR library did not complete correctly for certain SUPERVISOR commands. Although the command was processed, the caller would wait unsuccessfully for a reply and would eventually timeout after 60 seconds. This problem is now fixed.

If EXTERNALCOMMAND is used to execute an OPAL DISPLAY program, all the output generated by that DISPLAY is now returned to the calling program. Similarly, if a DO executes any SHOW statements, the output will also be returned to the caller - previously only the 'DO WILL BE DONE' message was returned. This feature allows an external program to execute OPAL programs that can return data to the caller.

521.03 Improve restart procedure after critical fault
Wed, July 11 2007

Although the instances of fatal SUPERVISOR failures are very rare, SUPERVISOR did not always restart itself after certain types of internal program faults. In particular, restart would not take place if a failure occurred in the recovery code being executed to handle a previous fault. These issues have now been addressed.

521.02 EV ? Keeps Display Output
Tue, July 10 2007

A TT EV ? will not flush output from a Display, giving a check if a Display takes a long time to respond.

Error messages from FLEX will no longer leave the slot occupied.

A duplicated procedure in Supervisor shut-down has been rationalised.

521.01 Fix patterned PD file requests
Fri, July 6 2007

The change applied in SUPERVISOR DNote 520.99 for limited PD DO or DISPLAY requests did not fix the case for GETSTATUS file searches using a wild card pattern. Although the request worked correctly, FLEX would still generate many extraneous "Send_Ary Exceeded Do/Eval Limit" messages. This behaviour has been corrected.

Also, a timing problem where PD DISPLAY programs could hang indefinitely, marked as 'WAIT FLEX', has been fixed.