Dynamic search

PascalLoiselle

New Member
Hi,
I would like to know if it's possible to build a dynamic search with a table name for exemple:

FIND FIRST <"table-name"> WHERE RECID(<"table-name">)= rec-id NO-LOCK NO-ERROR.

EXPORT DELIMITER "~011"
<"table-name">.

Thanks.
 
DEFINE VARIABLE ctable AS CHARACTER NO-UNDO.
DEFINE VARIABLE hbuf AS HANDLE NO-UNDO.
DEFINE VARIABLE hquery AS HANDLE NO-UNDO.
DEFINE VARIABLE rRowid AS ROWID NO-UNDO.

ctable = "customer".
CREATE BUFFER hbuf FOR TABLE ctable.

/* option 1, create a loop with dynamic query */
CREATE QUERY hquery.
hquery:SET-BUFFERS(hbuf).
hquery:QUERy-PREPARE(SUBSTITUTE("for each &1",ctable)).
hquery:QUERY-OPEN.
hquery:GET-FIRST(NO-LOCK).
DO WHILE NOT hquery:QUERY-OFF-END:
/* insert code here */
hquery:GET-NEXT(NO-LOCK).
END.
hquery:QUERY-CLOSE.

/* option 2, use a find on the buffer */

rRowid = /* some ROWID */
hbuf:FIND-BY-ROWID(rRowid) NO-ERROR.
IF hbuf:AVAILABLE THEN
DO:
/* insert code here */
END.
 
Back
Top