HP3000-L Archives

November 1998, Week 4

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Tim Joseph <[log in to unmask]>
Reply To:
Tim Joseph <[log in to unmask]>
Date:
Mon, 23 Nov 1998 13:19:14 -0800
Content-Type:
text/plain
Parts/Attachments:
text/plain (168 lines)
Regarding SUPERDEX, error messages will, by default, not be displayed with
descriptive text.  However, current versions will displaying the MSG-TEXT to
$stdlist of the DBOPENing process when the SITRACE JCW is equal to 111.

Example of SITRACE=111

>
> %setjcw sitrace=111
> %query
> HP32216N.03.03  QUERY/NM  SAT, APR 15, 2000, 12:45 PM 
> COPYRIGHT HEWLETT-PACKARD CO. 1976
>
> >b=testdb
> PASSWORD = >>
> MODE = >>1
>
> DBOPEN    base =  TESTDB, mode=1                    SAT, APR 15, 2000, 12:45
> PM
> Base=TESTDB.TPI0.ATSDX         ID=$1                Version 4.1.57 (170c61)
> TurboIMAGE Version: C.0717
> SITRACE     = 111
>       *  dbinfo    qual=SI, mode=201, stat1=0
>       *  dbget     dset=SI, mode=4, stat1=0, rec = $1
> buf. = 5349 C859 0005 01FC SI.Y..............41............@?#-
   
>
> Status = $F446 $01FC $0000 $0001 $0000 $0000 $0000 $0000 $0000 $0000
>          -3002   508           1           0           0           0
> Data Base indexing via SUPERDEX demonstration is expired
> TurboIMAGE Error Message:
> UNRECOGNIZED RETURN STATUS: -3002



Whereas without SITRACE

>
> >:setjcw sitrace=0
> >b=testdb
> PASSWORD = >>
> MODE = >>1
> TurboIMAGE Error Message:
> UNRECOGNIZED RETURN STATUS: -3002



Just a side note, the command file listed below can be used to see (some)
IMAGE
error messages for a given intrinsic and error status.  It hard codes SUPERDEX
messages for DBOPEN.  Be advised, it does not always work since it uses a
funny
way of getting the data.  

tj


------------
COMMAND FILE start
------------
PARM IPARM="", SPARM=""
COMMENT ************************************************************
COMMENT ***                   DBERR                              ***
COMMENT ***                                                      ***
COMMENT ***  This command file accepts a DBxxx INTRINSIC name    ***
COMMENT ***  (actually the first letter after DB is sufficient,  ***
COMMENT ***  like O for DBOPEN, G for DBGET, etc.) and a STATUS  ***
COMMENT ***  value.  It displays the appropriate DBERROR         ***
COMMENT ***   message that corresponds to this status.           ***
COMMENT ***                                                      ***
COMMENT ***  SYNTAX:  DBERR intrinsic, statusvalue               ***
COMMENT ***  EXAMPLE: DBERR DBOPEN, -1                           ***
COMMENT ***       OR: DBERR O,-1                                 ***
COMMENT ***                                                      ***
COMMENT ***  If either value is not passed in the command line,  ***
COMMENT ***  then it will be prompted for.                       ***
COMMENT ***                                                      ***
COMMENT ***  by Gil Milbauer, BRADMARK                           ***
COMMENT ***                                                      ***
COMMENT ************************************************************
IF "!IPARM"="" THEN
  INPUT DBERR_INTRINSIC;PROMPT=&
         "What is the DBxxx intrinsic (Get, Find, Open, etc)? "
ELSE
  SETVAR DBERR_INTRINSIC "!IPARM"
ENDIF
SETVAR DBERR_INTRINSIC LFT(UPS(DBERR_INTRINSIC)-"DB",1)
IF "!SPARM"="" THEN
  INPUT DBERR_STATUS;PROMPT=&
         "                       What is the STATUS returned? "
ELSE
  SETVAR DBERR_STATUS "!SPARM"
ENDIF
ECHO
IF DBERR_INTRINSIC="O" AND (ABS(!DBERR_STATUS)>=3001 AND &
   ABS(!DBERR_STATUS)<=3007) THEN
 IF ABS(!DBERR_STATUS)=3001 THEN
    ECHO SUPERDEX detected a checksum error.  Run SIMAINT,STRUCT
 ELSEIF ABS(!DBERR_STATUS)=3002 THEN
    ECHO Database indexing via SUPERDEX demonstration is expired
 ELSEIF ABS(!DBERR_STATUS)=3003 THEN
    ECHO SUPERDEX requires an update to this version of TURBOIMAGE
 ELSEIF ABS(!DBERR_STATUS)=3004 THEN
    ECHO Missing or Invalid SUPERDEX Root Dataset: SI or SI0
 ELSEIF ABS(!DBERR_STATUS)=3005 THEN
    ECHO SUPERDEX, with pre-IMAGE 5.0, requires ILR to be disabled
 ELSEIF ABS(!DBERR_STATUS)=3006 THEN
    ECHO SUPERDEX, Invalid checksum, not a 4.1 database
 ELSEIF ABS(!DBERR_STATUS)=3007 THEN
    ECHO SUPERDEX, Checksum equal zero
 ENDIF
ELSE
PURGE DBDRVIN,TEMP > $NULL
FILE  DBDRVIN;TEMP;REC=-72,,F,ASCII
ECHO !DBERR_INTRINSIC     >*DBDRVIN
ECHO !!S=!DBERR_STATUS    >>DBDRVIN
ECHO E                    >>DBDRVIN
ECHO EXIT                 >>DBDRVIN
PURGE DBDRVOUT,TEMP >$NULL
BUILD DBDRVOUT;TEMP;REC=-80,,F,ASCII;DISC=30
FILE  DBDRVOUT,OLDTEMP
XEQ DBDRIVER.PUB.SYS<DBDRVIN>*DBDRVOUT
PRINT DBDRVOUT;START=-2;END=-2
DELETEVAR DBERR_@
RESET DBDRVOUT
RESET DBDRVIN
PURGE DBDRVIN,TEMP >$NULL
PURGE DBDRVOUT,TEMP >$NULL
ENDIF
ECHO
---------------
COMAND FILE end
---------------






At 11:37 AM 11/23/98, Bruce Toback wrote:
>Alfredo writes:
>
>>Barry encountered an IMAGE status -3906 (which is not a very friendly
>>thing, by the way), and he became worried when his application could not
>>perform a DBOPEN.  Naturally, his first thought was that he had a database
>>corruption.
>
>This has hit my clients as well, on several occasions. Isn't there a
>facility in TPI to intercept DBERROR and DBEXPLAIN? If not, can one be
>added? Most programmers go to the trouble of calling one or the other in
>order to speed up diagnosis of problems, but TPI errors just end up being
>completely opaque. The customer looks in the IMAGE manual (it's an IMAGE
>error, after all; it says so in the message), discovers that s/he's got
>an *undocumented* error, and panics.
>
>How about it, TPI vendors? Can we get real error messages through the
>documented DBERROR and DBEXPLAIN interfaces?
>
>-- Bruce




   Tim Joseph
   425-485-8536 (phone)
   [log in to unmask] (email)
   425-485-7801 (fax)
   http://www.bradmark.com/

ATOM RSS1 RSS2