Google
 

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>