DYNAMIC temp-table EXPORT

djeanveau

New Member
Greetings,

I am trying to export (dump) a dynamic temp-table to a CSV file. Doing this field by field is very much possible, but what if you what to export the hole table?

Here is a piece of my code...again:

DEF VAR tth AS HANDLE.
DEF VAR bh AS HANDLE.
DEF VAR qh AS HANDLE.
DEF VAR buf-t1-hndl AS HANDLE.
DEF VAR buf-t2-hndl AS HANDLE.
DEF VAR fld1 AS HANDLE.
DEF VAR fld2 AS HANDLE.
DEF VAR fld3 AS HANDLE.
DEF VAR fld4 AS HANDLE.

DEFINE STREAM srep.

OUTPUT STREAM srep TO "C:\TEST.CSV".

/* get database table handles */
buf-t1-hndl = BUFFER padepts:HANDLE.

/* create an empty temp-table */
CREATE TEMP-TABLE tth.

/* give it imported table field and index */
tth:CREATE-LIKE(buf-t1-hndl).

/* add field RECID */
tth:ADD-NEW-FIELD("fRECID","RECID").

/* no more fields will be added */
tth:TEMP-TABLE-PREPARE("xdump").

/* get the buffer handle for the temp-table */
bh = tth:DEFAULT-BUFFER-HANDLE.

/* populate requested temp-table */
FOR EACH padepts:

bh:BUFFER-CREATE.
bh:BUFFER-COPY(buf-t1-hndl).
ASSIGN fld2 = bh:BUFFER-FIELD("fRECID") fld2:BUFFER-VALUE = RECID(padepts).

END.

/* run test query to access temp-tale */
CREATE QUERY qh.
qh:SET-BUFFERS(bh).
qh:QUERY-PREPARE("FOR EACH xdump NO-LOCK").
qh:QUERY-OPEN().

fld1 = bh:BUFFER-FIELD("uid").
fld2 = bh:BUFFER-FIELD("fRECID").

/* display test */
REPEAT:
qh:GET-NEXT().
IF qh:QUERY-OFF-END THEN LEAVE.
EXPORT STREAM srep DELIMITER ','
fld1:BUFFER-VALUE()
fld2:BUFFER-VALUE().


END.

qh:QUERY-CLOSE().
bh:BUFFER-RELEASE().
 
Top