This was written by Razzak way back in the olden days. Maybe it will
help. VERY OLD CODE
-- SpreadSt.RMD to Create Dynamic Spread Sheets with ColumnHeaders
-- Author: A. Razzak Memon
-- February, 2002
-- Database MUST be CONNected or there MUST be Database(s) in current
directory
-- Database QUOTES character setting must be Single Quote, i.e: '
CLEAR ALL VAR
SET CAPTION ' '
SET RBGSIZE CENTER CENTER 800 600
SET VAR vCaption TEXT = 'Dynamic Spread Sheets!'
SET VAR vTitle TEXT = 'Choose Database'
SET VAR vDatabase TEXT = NULL
SET VAR vTableName TEXT = NULL
SET VAR vTableID INTEGER = NULL
SET VAR vColumns TEXT = NULL
SET VAR vOrderBy TEXT = NULL
SET VAR vWhere TEXT = NULL
SET VAR vLines INTEGER = 0
CLS
PAUSE 3 USING 'Checking ...' CAPTION ' ' AT 16 30
-- Select Database
IF (CVAL('Database')) IS NULL THEN
CLS
SET VAR vTitle = 'Select Database'
CHOOSE vDatabase FROM #DATABASE AT 10 30 CHKBOX 1 TITLE .vTitle
CAPTION .vCaption FORMATTED
IF vDatabase IS NULL OR vDatabase = '[Esc]' THEN
CLS
PAUSE 2 USING 'No Database Connected or None Found in Current
Directory!' CAPTION .vCaption AT 16 16
GOTO Done
ELSE
CONNECT .vDatabase
ENDIF
ENDIF
SELECT COUNT(*) INTO vLines INDIC IvLines FROM Sys_Tables
IF vLines > 16 THEN
SET VAR vLines = 16
ENDIF
-- Select Table
LABEL LTables
CLS
SET VAR vTitle = 'Select Table'
CHOOSE vTableName FROM #TBLVIEWS AT 6 32 CHKBOX 1 TITLE .vTitle
CAPTION .vCaption LINES .vLines FORMATTED
IF vTableName = '[Esc]' THEN
GOTO Done
ENDIF
IF vTableName IS NULL THEN
CLS
PAUSE 2 USING 'No Table Selected ...' CAPTION .vCaption AT 16 20
GOTO LTables
ENDIF
SELECT Sys_Table_ID INTO vTableID INDIC IvTableID FROM Sys_Tables
WHERE Sys_Table_Name = .vTableName
SELECT COUNT(*) INTO vLines INDIC IvLines FROM Sys_Columns WHERE
Sys_Table_ID = .vTableID
IF vLines > 16 THEN
SET VAR vLines = 16
ENDIF
LABEL LColumns
CLS
SET VAR vCaption = ('Spread Sheet Data for:'&.vTableName)
SET VAR vTitle = 'Select Column(s) or [Shift+F6] for All'
CHOOSE vColumns FROM #COLUMNS IN .vTableName AT 6 26 CHKBOX TITLE
.vTitle CAPTION .vCaption LINES .vLines FORMATTED
IF vColumns = '[Esc]' THEN
GOTO Done
ENDIF
IF vColumns IS NULL THEN
CLS
PAUSE 2 USING 'No Column(s) Selected ...' CAPTION .vCaption AT 16
20
GOTO LColumns
ENDIF
LABEL LOrderBy
CLS
SET VAR vTitle = 'Select Sort Order'
CHOOSE vOrderBy FROM #COLUMNS IN .vTableName AT 6 26 CHKBOX TITLE
.vTitle CAPTION .vCaption LINES .vLines FORMATTED
IF vOrderBy IS NULL OR vOrderBy = '[Esc]' THEN
SET VAR vOrderBy = 'None'
CLS
PAUSE 2 USING 'Sort Order Not Selected ...' CAPTION ' ' AT 16 30
DIAL 'Create Data Without Sort Order?' vYesNo vEndKey YES CAPTION
' ' AT 16 30
IF vYesNo = 'No' THEN
GOTO LOrderBy
ENDIF
ENDIF
CLEAR ALL VAR EXCEPT vTitle, vCaption, vTableName, vColumns,
vOrderBy
CLS
PAUSE 3 USING 'Creating Spread Sheet Data ...' AT 16 30
SET VAR vFileName TEXT = (.vTableName+'.CSV')
OUTP &vFileName
SET EOFCHAR OFF
SET QUOTES="
WRITE .vColumns
IF vOrderBy <> "None" THEN
UNLOAD DATA FOR &vTableName USING &vColumns AS CSV ORDER BY
&vOrderBy
ELSE
UNLOAD DATA FOR &vTableName USING &vColumns AS CSV
ENDIF
SET EOFCHAR ON
SET QUOTES='
OUTP SCREEN
CLS
-- SET VAR vMsg TEXT = ('Spread Sheet Data for'&.vTableName&'Has
Been Created!'
PAUSE 2 USING 'Spread Sheet Has Been Created Successfully!' CAPTION
.vCaption AT 16 22
CLS
DIAL 'Would You Like to See It?'=30 vYesNo vEndKey Yes CAPTION
.vCaption AT 16 30
IF vYesNO = 'Yes' THEN
LAUNCH .vFileName
ENDIF
LABEL Done
CLEAR ALL VAR
Victor Timmons
Tiz's Door Sales, Inc
Visit us at www.tizdoors.com
P Please consider the environment before printing this e-mail
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Dennis
McGrath
Sent: Friday, June 18, 2010 1:50 PM
To: RBASE-L Mailing List
Subject: [RBASE-L] - RE: Gateway Export in EEP
Here is some code I used to create a CSV with custom headers and other
info.
In this case, Two tables where created and populated.
This code does the rest.
Dennis McGRath
SET VAR vFile = (CVAL('SCRATCH') + '\WeekSum.CSV')
LABEL TryAgain
SET EOF OFF
SET NULL ' '
OUT &vFile
IF ErrVar <> 0 THEN
SET EOF ON
SET NULL '-0-'
SET VAR vTmp = ('Failed opening' & .vFile)
PAUSE 1 USING .vTmp
DIALOG 'Try again?' vResp vKey YES
IF vResp = 'yes' THEN
GOTO TryAgain
ELSE
GOTO Done
ENDIF
ENDIF
WRI '"', .vUserFullName, 'weekly time summary for', .vBegDate, 'to',+
.vEndDate, '"'
WRI '" "'
WRI +
'"Week
of","Hours","OverTime","Vacation","Holiday","Personal","","Punch","Over"
'
SET QUOTES=""""
UNLOAD DATA FOR TempEmpWeek AS ASCII
WRI """ """
UNLOAD DATA FOR TempEmpTotals AS ASCII
SET QUOTES=''''
IF vVacation > 0 THEN
WRI '" "'
SET VAR vTmp = ('" "," "," ",' + CTXT(.vVacation) + ',"Vacation
Days"')
WRI .vTmp
ENDIF
OUT SCR
SET NULL '-0-'
SET EOF ON
IF (CVAL('Version System')) = 'DOS' THEN
ZIP LAUNCH &vfile
ELSE
LAUNCH &vFile
ENDIF
LABEL Done
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of frank
van der Zwaag
Sent: Friday, June 18, 2010 3:09 PM
To: RBASE-L Mailing List
Subject: [RBASE-L] - RE: Gateway Export in EEP
Thanks Tony, and all others,
I did have an export function whereby I wrote every line to an cvs
output file using multiple cursors. Problem was that my nice client (NZ
Police) wanted some of the headers changed and fields changed and all
sheets in one workbook and so on. So, I thought a quick fix would be to
generate an rgw file, specify all field formats, create a view and
generate an xls.
I know for sure that I saw Razzak do something like that.... Razzak,
when you have a moment and you're of the skie field, am I right?
I checked the syntax and, as per Toy's response, thought that I could
use that gateway export trick in an eep.
My question (finally they all said) is: How else would you incorporate
that syntax in an application. Run it as an rmd file; that would be
problematic for me as all my application code is contained within forms.
I am not supplying anything else.
Thanks for all help. This listserver rocks; just like r:base
On 17/06/2010 11:45 p.m., A.G. IJntema wrote:
>
> Hi Frank,
>
> Your name looks Dutch maybe even Friesian.
>
> You can create an RGW at export by taking the first row at Select
> Format (gateway, export). The first option is Use Export wizard
>
> The you are able to create an export wizard and it can be saved as
RGW.
>
> It took me also a while before I noticed this option
>
> The procedure can look like this
>
> *GATEWAY* *EXPORT* XLS *<filename>* *+*
> *SELECT* *+*
> <field1>, +
>
> <field2>, +
>
> ...
>
> <fieldn> +
>
> *FROM* <viewname> *+*
> *WHERE* <whereclause> *+*
> *OPTION* *|*SHOW_PROGRESS *ON* *+*
> *|**ACTION* OPENVIEW *+*
> *|**SPECIFICATION_FILE_NAME* <filename_rgw>*.*rgw
>
> However you cannot use this procedure in an EEP, because an EEP does
> not allow to make use of GATEWAY.
>
> Hope this helps
>
> Tony IJntema
>
> The Netherlands
>
> *From:* [email protected] [mailto:[email protected]] *On Behalf Of
> *frank van der Zwaag
> *Sent:* donderdag 17 juni 2010 13:22
> *To:* RBASE-L Mailing List
> *Subject:* [RBASE-L] - Gateway Export in EEP
>
> Hi All,
>
> does anybody have a sample EEP script that I can use to export the
> data from a view into an xls spreadsheet using a pre-defined export
> format (rgw) file.
>
> Thanks
>
--