Question Locate table errors from "dbtool" report

Hello,

I ran the "dbtool" report with the following option:
1. SQL Width & Date Scan w/Report Option
<connect>: (0=single-user 1=self-service >1=#threads)? 1
<table>: (Table number or all)? all
<area>: (Area number or all)? all
<display>: (verbose level 0-4)? 4

At the end this was reported:
" Width of array field errors found: 2."

So I need to pinpoint the table errors, I am not sure if these are the records I should look for:

6655 Current max fieldLen for mahead (472):
6656 Fld# SQLWidth Max Width ArrayWidth Max ArrayWidth ERROR NAME
6657 ---- -------- --------- ---------- -------------- -------- ----
6658 2: 6 3 co-code
6659 3: 6 1 div-code
6660 6: 364 146 145 130 ma-lybalbf
6661 7: 364 35 145 117 ma-tybalbf
6662 8: 364 132 145 117 ma-lyact-1
6663 9: 364 134 145 130 ma-lyactbal
6664 10: 364 26 30 26 ma-lybud
6665 11: 364 34 138 104 ma-tyactbal
6666 12: 364 26 30 26 ma-tybud
6667 13: 364 26 30 26 ma-nxtbud
6668 14: 364 26 30 26 ma-nxtactbal
6669 15: 312 146 145 130 ma-lybf-1
6670 16: 338 26 30 26 ma-lybud-1
6671 18: 364 26 30 26 ma-tyrevbud
6672 52: 19 0 ma-split
6673 46: 220 20 24 20 ma-ly-act
6674 47: 220 20 24 20 ma-ly-bf
6675 48: 220 20 24 20 ma-ly-bud
6676 20: 364 126 138 117 ma-lyact-2
6677 21: 364 146 138 130 ma-lybf-2
6678 22: 364 26 30 26 ma-lybud-2
6679 23: 364 134 145 130 ma-lyact-3
6680 24: 364 146 145 130 ma-lybf-3
6681 49: 364 26 30 26 ma-lybud-3
6682 25: 364 134 138 117 ma-lyact-4
6683 26: 364 146 138 130 ma-lybf-4
6684 27: 364 26 30 26 ma-lybud-4
6685 28: 364 143 145 117 ma-lyact-5
6686 29: 364 156 145 130 ma-lybf-5
6687 30: 364 26 30 26 ma-lybud-5
6688 31: 364 52 132 130 ### ma-lyact-6
6689 32: 364 46 132 130 ### ma-lybf-6

It looks like this article explains the following ERROR types:
6. ERROR:
a. <blank>: non-array field has no error
b. ### : array field and it has no errors (Verbose level 4 only), no longer applies after a padding has been added to the field or to array date fields
c. *** : field has errors
d. ***### : array field has width error (Verbose level 4 only)
e. %%%% : date field has formatting error

So I still can't figure out which objects the original error is pointing to:
" Width of array field errors found: 2."


Regards,
Richard
 
Last edited:

TomBascom

Curmudgeon
DBTOOL is tgiving you information about the table and its fields in aggregate, it isn't giving you a list of RECIDs to individually review. The report is saying that you have fields that are longer than what SQL would expect in table "mahead". Those are only "errors" insofar as SQL is kind of dumb about such things. From the 4GL perspective there is nothing wrong with that.

Are you accessing that table with SQL? If you are then the simplest thing to do is to tell dbtool to "fix" the sql width by using option 2 rather than option 1. Option 2 updates the "sql width" schema field so that SQL clients will stop complaining.
 

Osborne

Active Member
As Tom points out, DBTOOL is just giving information of the problem table and fields not the actual RECIDs of records that are the cause of the error.

One idea is you could adapt the code in this article to list RECIDs/ROWIDs/key index fields so you know the specific records:

 
Top