DEF VAR hBuffer AS HANDLE NO-UNDO. DEF VAR hQuery AS HANDLE NO-UNDO. DEF VAR cName AS CHAR NO-UNDO. DEF VAR cWhere AS CHAR NO-UNDO. DEF VAR cLabel AS CHAR NO-UNDO. DEF VAR cString AS CHAR NO-UNDO. DEF VAR ij AS INT NO-UNDO. DEF VAR iRet AS INT NO-UNDO. DEF VAR cDelim AS CHAR NO-UNDO INIT '£'. /* DO WITH FRAME {&FRAME-NAME}: */ /* APPLY 'CTRL-END' TO BROWSE {&BROWSE-NAME}. */ /* */ /* hBuffer = DYNAMIC-FUNCTION('getQueryBuffer':U IN hDaten) NO-ERROR. */ /* IF NOT VALID-HANDLE ( hBuffer ) THEN RETURN. */ /* */ /* cName = SESSION:TEMP-DIR */ /* + ENTRY(1, THIS-PROCEDURE:FILE-NAME, '.') */ /* + '.csv'. */ /* */ /* cWhere = DYNAMIC-FUNCTION('getQueryWhere':U IN hDaten) NO-ERROR. */ /* */ /* CREATE QUERY hQuery. */ /* hQuery:SET-BUFFERS(hBuffer). */ /* hQuery:QUERY-PREPARE('FOR EACH rowObject NO-LOCK'). */ /* hQuery:QUERY-OPEN(). */ /* */ /* OUTPUT TO VALUE(cName). */ /* SESSION:SET-WAIT-STATE('GENERAL'). */ /* cString = ''. */ /* DO ij = 1 TO hBuffer:NUM-FIELDS: */ /* IF hBuffer:BUFFER-FIELD(ij):NAME BEGINS 'row' THEN NEXT. */ /* cLabel = hBuffer:BUFFER-FIELD(ij):LABEL. */ /* IF cLabel = ? OR */ /* cLabel = '' THEN cLabel = hBuffer:BUFFER-FIELD(ij):NAME. */ /* cString = cString + cDelim + cLabel. */ /* END. */ /* IF cString <> '' THEN cString = SUBSTRING(cString,02). */ /* cString = REPLACE(cString, ';', ':'). */ /* cString = REPLACE(cString, cDelim, ';'). */ /* PUT CONTROL cString CHR(10). */ /* */ /* hQuery:GET-FIRST(NO-LOCK). */ /* DO WHILE NOT hQuery:QUERY-OFF-END: */ /* cString = ''. */ /* DO ij = 1 TO hBuffer:NUM-FIELDS: */ /* IF hBuffer:BUFFER-FIELD(ij):NAME BEGINS 'row' THEN NEXT. */ /* cLabel = hBuffer:BUFFER-FIELD(ij):BUFFER-VALUE(0). */ /* IF cLabel = ? THEN cLabel = ''. */ /* IF hBuffer:BUFFER-FIELD(ij):DATA-TYPE BEGINS 'CHAR' THEN DO:*/ /* cLabel = REPLACE(cLabel, CHR(10), ' '). */ /* END. */ /* cString = cString + cDelim + cLabel. */ /* END. */ /* IF cString <> '' THEN cString = SUBSTRING(cString,02). */ /* cString = REPLACE(cString, ';', ':'). */ /* cString = REPLACE(cString, cDelim, ';'). */ /* PUT CONTROL cString CHR(10). */ /* hQuery:GET-NEXT(NO-LOCK). */ /* END. */ /* OUTPUT CLOSE. */ /* */ /* hQuery:QUERY-CLOSE(). */ /* DELETE OBJECT hQuery. */ /* */ /* SESSION:SET-WAIT-STATE(''). */ /* END. */ /* */ /* RUN ShellExecuteA ( INPUT 0, */ /* INPUT 'open', */ /* INPUT 'Excel.exe', */ /* INPUT cName, */ /* INPUT '', */ /* INPUT 1, */ /* OUTPUT iRet ). */ RUN exportData IN hDaten ( 'Excel', '', FALSE, TRUE, 10000 ).