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 ).