Prevent Invalid Index caused when the QINSERTEVENT on the Supervisor input queue happens, but there is no message in the queue.
Printlabel would not connect to any version of Recorder 510.07 or later. Printlabel would not work if REC TCPCP was set. Both of these problems have been corrected.
Recent changes to the RECORDER interface caused additional information to be prefixed to the text passed to PRINTLABEL. This problem, which caused printed tape labels to be corrupted, is now fixed.
The internal version of PRINTLABEL has been updated to reflect MCP 51.1 compatibility.
This is only to change the version to 48. Version 450.02 is valid for MCP 48.
When a HI with a task value other than 0 was issued to the PRINTLABEL task, the program would go into a processor loop. This was caused by the task's EXCEPTIONEVENT not being reset.
This is now fixed.
By default, PRINTLABEL expects to receive label information via a RECORD [47]. This may be overridden by MODIFYing the codefile with a taskvalue, requiring a different RECORD type. PRINTLABEL will now show this information upon being initialised and additional information, such as number of labels printed, in response to a <mix>HI2 command.
METALOGIC/SUPERVISOR/PRINTLABEL is a small utility designed to allow printing of tape labels on a datacom printer instead of an 'ODT' printer. To use this utility you will need a printer declared as a station on SYSTEM/COMS, a WINDOW and PROGRAM both called PRINTLABEL defined using utility. An example batch file (Suitable for the load command) is listed here. This file is also on the release tape as *OPALS/SUPERVISOR/PRINTLABEL/COMS. Please note in the MODIFY station code that you will need to change the Hostname from STIRLING1 and the Default Usercode from TAPELIB to a valid user code for your site.
CREATE PROGRAM PRINTLABEL REMOTE_FILE = Y ,REMOTE_USERS = 0 ,TITLE = METALOGIC/SUPERVISOR/PRINTLABEL ,USERCODE = "." ,FAMILY = "." ,CHARGECODE = "." ,PRIORITY = 50 ,SECURITY_CATEGORY_LIST = ALL ,DATABASE = NONE ,MIN_COPIES = 0 ,MAX_COPIES = 1 ,INITIATION_TIME_LIMIT = 00:00 ,TERMINATION_TIME_LIMIT = 00:00 ,INPUT_QUEUE_MEMORY_SIZE = 0 ,INSTALLATION_DATA = NONE CREATE WINDOW PRINTLABEL MAX_USERS = 1 ,MAX_DIALOGS = 1 ,MAX_TRANCODE_SIZE = 0 ,DIALOG_PRIORITY = 1 ,REMOTE_FILE = Y , REMOTE_PROGRAM = PRINTLABEL ,MCS = N ,PROTECTION = NONE ,NOTIFY_OPEN = N ,NOTIFY_ON = N CREATE STATION PRINTLABEL CREATE STATION PSEUDO00000 DEFAULT_WINDOW = PRINTLABEL ,HOSTNAME = STIRLING1 ,DEVICE_TYPE = DEFAULTDEVICE ,DEFAULT_USERCODE = TAPELIB ,SECURITY_CATEGORY_LIST = ALL ,CONTROL = Y ,SUPER_USER = Y ,SYSTEM_USER = Y ,PRIVILEGED_USER = Y ,CONTINUOUS_LOGON = N ,TRANCODE_POSITION = 1 ,TIMEOUT_INTERVAL = 0:00 ,CLOSE_ACTION = 1 ,CLOSE_WINDOW = PRINTLABEL ,INSTALLATION_DATA = NONE ;
To have Supervisor pass notices to this program you must have a Situation and ODTS running. An example Situ and two ODTS are provided in the released file OPALS/TPDB. These can be turned on using:
WHEN TPDB_LABEL DO TPDB_LABEL
or for cartridge labels
WHEN TPDB_LABEL DO TPDB_CARTLABEL
It is important, if you use this mechanism that you have no other ODTS which use the RECORD[47] construct. If you already use 47 in RECORD statements or wish to use a different number for any other reason then it is possible to modify the code file to allow this.
Copy METALOGIC/SUPERVISOR/PRINTLABEL as METALOGIC/LOCAL/PRINTLABEL.
Any number from 5 to 47 may be used. Changing the taskvalue of the code file using the modify command will change the class of RECORD passed to PRINTLABEL. E.g. If we wanted to use RECORD[22] then the command would be:
MODIFY METALOGIC/LOCAL/PRINTLABEL;VALUE=22;
Remember to update the definition of PROGRAM PRINTLABEL in Utility.