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
>

-- 


Reply via email to