rzr
Member
Is there a way to dynamically delete records of a table? In my below code what goes with the DELETE ?
Code:
DEFINE VARIABLE cTableName AS CHARACTER NO-UNDO.
DEFINE VARIABLE iFieldCounter AS INTEGER NO-UNDO.
DEFINE VARIABLE iExtentCounter AS INTEGER NO-UNDO.
DEFINE VARIABLE hFieldHandle AS HANDLE NO-UNDO.
DEFINE VARIABLE hQueryHandle AS HANDLE NO-UNDO.
DEFINE VARIABLE hBufferHandle AS HANDLE NO-UNDO.
RUN ExportAndDeleteTableData (INPUT 'Customer').
PROCEDURE ExportAndDeleteTableData:
DEFINE INPUT PARAMETER cTableName AS CHARACTER NO-UNDO.
DEFINE VARIABLE cFileName AS CHARACTER NO-UNDO.
cFileName = cTableName + ".dat".
OUTPUT TO VALUE(cFileName).
/* Create dynamic query for the cTablename */
CREATE BUFFER hBufferHandle FOR TABLE cTableName.
CREATE QUERY hQueryHandle.
hQueryHandle:SET-BUFFERS(hBufferHandle).
hQueryHandle:QUERY-PREPARE("for each " + cTableName + " EXCLUSIVE-LOCK").
hQueryHandle:QUERY-OPEN.
/* Iterate through all the records of the current table */
REPEAT:
hQueryHandle:GET-NEXT().
IF hQueryHandle:QUERY-OFF-END THEN LEAVE.
DELETE ?????? <------ "What goes here" ???
END. /* REPEAT */
OUTPUT CLOSE.
DELETE OBJECT hBufferHandle.
DELETE OBJECT hQueryHandle.
END PROCEDURE.