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.