Trailing-Edge
-
PDP-10 Archives
-
decuslib20-10
-
decus/20-184/2022.bwr
There are no other files named 2022.bwr in the archive.
1.0 PROBLEMS WITH DBEXEC
The folloiwng problems where noticed with DBEXEC but have been temporarly
solved by adding special coding to 2022:
1. If PUSH USING does not work unless you pass the entire "PUSH USING .....
END" string. If DBEXEC asks for additonal info then it seems to put a "."
at the end of the string it gets:
2022>push using dir *.mac
PUSH>>dir *.rel
PUSH>>dir *.hlp
PUSH>>pop
PUSH>>end
TOPS-20 Command processor 5.1(1762)-2
@
MARS:<WODELET.WORK>
2022.MAC.8,9
VERSIO.MAC.1
Total of 3 files
@
?Unrecognized command - Filename was not specified - "."
@
?Unrecognized command - Filename was not specified - "."
@
?Unrecognized command - Filename was not specified - "."
@
?Unrecognized command - Filename was not specified - "."
@
2. If a "!" is in the command line passed to DBEXEC and the command line is
not terminated with a <crlf> then DBEXEC will jump to the specified address
to get more information. However as long as there is no "!" in the command
line DBEXEC doesn't care whether or not the command ends with a <crlf> and
executes the command properly. Since, in some languages (eg: COBOL), it
is very difficult to terminate a comamnd line with a <crlf> I suggest you
fix the "!" problem to work if no <crlf> terminates the command.
NOTE
The above problem is a "feature" of 1022 so there are currently no
plans to fix it.
3. If you pass "ADD" to DBEXEC and 1022 prompts you for each attribute you
cannot pass a null value by passing "<crlf>" or a null string (where the
1st byte is a null). You must pass "<space>" (passing "<space><crlf>"
causes problems - see above). I'm not sure if this problem exists with any
other 1022 command.
4. If you suppress the printing of error messages using DBERR (because you
want to do your own display) and then enter 1022 command level through
DBEXEC then some, but not all, 1022 error messages will get displayed.
NOTE
Since 2022 no longer needs to suppress error messages for DB____
calls this is no longer a problem for 2022 but may be for other
programs.
2.0 UNSOLVED PROBLEMS WITH 2022-DBEXEC INTERFACE
The following problems are with the DBEXEC interface supplied by Software
House. Since 2022 makes heavy use of this interface they cause problems for
2022 has well. Software House has been notified about all of them so hopefully
they'll be fixed in future releases. These problems are known to exist for
versions 116B through 117B(200) of 1022 but may exist for other verions as
well.
1. SYSTIME does not get updated by each call to DBEXEC. And since 1022 will
not allow 2022 to update this system variable it will remain set to the
time that 2022 was started.
2. The 1022 "SET PROMPT" command does NOT change the "2022>" command prompt.
There is currently no way to ask 1022 for this information.
3. Once "#T" is used through DBEXEC there is not way to turn it off.
2022>file type foo.dmc.1
LET SYSALCMSG = 1.
LET SYSCASE = 1.
2022>use foO.DMC.1
2022>use (command file) foO.DMC.1
2022>#t ? USE
or confirm with carriage return
2022>#t usE (command file) foO.DMC.1
usE foO.DMC.1 LET SYSALCMSG = 1.
LET SYSCASE = 1.
2022>use (command file) foO.DMC.1
use foO.DMC.1 LET SYSALCMSG = 1.
LET SYSCASE = 1.
2022>exIT (from 1022)
exIT
EXIT
4. Using "REPORT START" .... "REPORT END" through DBEXEC can cause typeout
from the FIND command to disappear:
2022>OPEN FOO
2022>FIND ALL
(((everything displays ok here)))
2022>REPORT START
2022>REPORT END
2022>FIND ALL
(((nothing displays here)))
2022>I B
(((nothing displays here)))
2022>1022
*HOST
2022>FIND ALL
(((things back to normal now)))
5. 1022 has some problems handling data set descriptors. If the descriptor
has logical names or file generation numbers. For example:
NOTE
This problem is a "feature" of 1022 so there are currently no plans
to fix it.
@DIR FOO.*
MARS:<WODELET.WORK>
FOO.DMS.2
@2022
2022 version 117A(1)-2
2022>OPEN FOO
2022>I B
TODO in FOO.DMS ! is set #1 <=
2022>DBSET FOO.DMS
2022>DBSET FOO.DMS.2
? (CS81) Invalid dataset specified
DBSET FOO.DMS.2
2022>DBSET DSK:FOO.DMS
? (CS81) Invalid dataset specified
DBSET DSK:FOO.DMS
2022>DBSET MARS:<WODELET.WORK>FOO.DMS
? (CS81) Invalid dataset specified
DBSET MARS:<WODELET.WORK>FOO.DMS
2022>I B
TODO in FOO.DMS ! is set #1 <=
2022>OPEN DSK:FOO.DMS.2
2022>I B
TODO in DSK:FOO.DMS.2 ! is set #1 <=
2022>DBSET FOO.DMS
2022>DBSET FOO.DMS.2
2022>DBSET DSK:FOO.DMS.2
2022>DBSET MARS:<WODELET.WORK>FOO.DMS.2
? (CS81) Invalid dataset specified
DBSET MARS:<WODELET.WORK>FOO.DMS.2
2022>I B
TODO in DSK:FOO.DMS.2 ! is set #1 <=
6. There is a problem with DBEXEC if you use a DMC that has errors in it. In
certain cases after reporting the error it returns to "* (PL)" level
instead of the "*" command level:
@TY FOO.DMC.1
PL1022 START.
PL1022 START.
@1022
13/6/85
System 1022A 117A(215)-2-preliminary
[.37]* USE FOO
? (CS146) Unterminated REPORT or PL1022 segment ends command file
[.15]* EXIT
EXIT
@2022
2022 version 117A(4)-2
2022>1022
[use HOST to return to 2022]
[.27]* USE FOO
[.01]* (PL) EXIT
Terminating PL1022 or REPORT
[.02]* EXIT
EXIT
7. Errors in a DMC file can cause problems if you use the DMC through the
DBEXEC interface:
@;The file USE-PROBLEM.DMC has a mistake in it which causes it to skip
@; the "PL1022 END" in the file - this causes problems if you're using
@; the DBEXEC interface but not with standalone 1022
@
@TYPE (FILE) USE-PROBLEM.DMC
OPEN FOO.
PL1022 START.
FIND ALL.
REPORT START.
SECTION INITIAL.
SECTION GETREC.
GETREC DONE.
SECTION HEADING.
SECTION PRINT.
DONE: SECTION TOTALS.
SECTION FINAL.
PL1022 END.
REPORT END.
@2022
2022 version 117A(20)-2
2022>1022 !enter DBEXEC
[type "HOST" to return to 2022]
[.21]* USE USE-PROBLEM.DMC
? (CS154) Outside PL1022 segment terminates in a REPORT
FILE USE-PROBLEM.DMC, LINE 12
PL1022 END
[.54]* (PL) !notice we are still at the "PL1022" level so the command
[.08]* (PL) !file has not been completely aborted. Typing "PL1022 END"
[.04]* (PL) !will abort it
[.04]* (PL) PL1022 END.
? (CS76) Errors seen, PL1022 or REPORT execution stopped
PL1022 END.
[.04]* !Depending on what errors are in the DMC it is also possible
[.04]* !to have it still left at the "(R)" level instead of "(PL)"
[.04]* !level. In other situations it was possible to be nested a
[.04]* !number of "(R)" or "(PL)" levels so more that one "PL1022 END"
[.04]* !or "REPORT END" command needed to be given before the DMC was
[.04]* !completely aborted
[.10]* Q
EXIT
@1022
System 1022A 117A(333)-2
[.30]* USE USE-PROBLEM.DMC
? (CS154) Outside PL1022 segment terminates in a REPORT
FILE USE-PROBLEM.DMC, LINE 12
PL1022 END
? (CS146) Unterminated REPORT or PL1022 segment ends command file
[.39]* !Notice that the command file is now completely aborted.
[.09]* !Also notice that the last error message displayed here
[.11]* !did NOT come out when the DMC was USEd under DBEXEC
[.01]* Q
EXIT
8. When a text literal spans the line boundary DBEXEC adds a "." to the end of
the incomplete literal. For example:
2022>TYPE DESC
THIS IS A TEXT ITEM
2022>CHANGE DESC 'THIS IS A TEST
[WARNING - TEXT LITERAL SPANS LINE BOUNDARY (SPACE INSERTED)]
CHANGE DESC 'THIS IS A TEST
CHANGE>>'
2022>TYPE DESC !***notice the "." at the end of line
THIS IS A TEST .
2022>CHANGE DESC 'THIS IS A TEST'
2022>TYPE DESC
THIS IS A TEST
2022>