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