Consultor Eletrônico



Kbase P48768: How to find the recid range of a table for an idxfix to check one indexed field?
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   16/06/2009
Status: Verified

GOAL:

How to find the recid range to define an idxfix to check one indexed field?

GOAL:

How to find the recid range of a particular index ?

GOAL:

How to run idxfix for a index range

FACT(s) (Environment):

All Supported Operating Systems
Progress/OpenEdge Product Family
OpenEdge Category: Database

FIX:

The following 4GL has been written for the sports database customer table using the index "NAME":

/* Find MIN MAX RECID START */
DEFINE VARIABLE minRecid AS RECID NO-UNDO.
DEFINE VARIABLE maxRecid AS RECID NO-UNDO.


FIND FIRST customer USE-INDEX Name.
ASSIGN minRecid = RECID(customer)
maxRecid = RECID(customer).

FOR EACH customer:
IF RECID(customer) < minRecid THEN minRecid = RECID(customer).
IF RECID(customer) > maxRecid THEN maxRecid = RECID(customer).
END.

DISP minrecid maxrecid.
/* Find MIN MAX RECID END */

Running: proutil dbname -C idxfix OPTION 3 for TABLE: Customer INDEX: NAME At the prompt:
"Provide a range of records to scan through."
>> enter the range that you wish to scan:

Type All or the recid to start the scan at.
>> enter the LOWER recid value here

Type the recid to use as an endpoint or return to scan only one record.
>> enter the HIGHER recid value here

Type the area for the recid(s).
>> enter the area NUMBER that here

The idxfix operation will then report it's findings.