Consultor Eletrônico



Kbase P17198: How to determine what table a given RECID resides in when using Progress Version 9
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   1/17/2005
Status: Verified

GOAL:

How to determine what table a given RECID resides in when using Progress Version 9

FACT(s) (Environment):

Progress 9.x

FIX:


DEFINE VARIABLE qry-handle AS HANDLE NO-UNDO.
DEFINE VARIABLE buf-handle AS HANDLE NO-UNDO.
DEFINE VARIABLE qry-string AS CHARACTER NO-UNDO.
DEFINE VARIABLE v-recid AS INTEGER NO-UNDO.

PAUSE 0 BEFORE-HIDE.

CREATE QUERY qry-handle.
qry-handle:SET-BUFFERS (BUFFER _File:HANDLE).

UPDATE "Enter the RECID:" v-recid NO-LABELS.

FOR EACH _File WHERE _file._Owner = "PUB" AND _file-number > 0 AND _file-num < 32767 NO-LOCK:
ASSIGN qry-string = 'FOR EACH ' + _file-name + ' WHERE RECID(' + _file-name + ') = ' + string(v-recid) + ' NO-LOCK'.
CREATE BUFFER buf-handle FOR TABLE _file-name.
qry-handle:SET-BUFFERS(buf-handle).

MESSAGE "Searching in table " _file-name.
qry-handle:QUERY-PREPARE(qry-string).
qry-handle:QUERY-OPEN.
qry-handle:GET-NEXT() NO-ERROR.

IF NOT qry-handle:QUERY-OFF-END THEN
DISPLAY "Found in table " _File._File-name NO-LABEL.

qry-handle:QUERY-CLOSE.
HIDE MESSAGE NO-PAUSE.
END.

DELETE WIDGET qry-handle.
DELETE WIDGET buf-handle.