Hey Oma, thanks for the nifty utility!

David Blocker
[EMAIL PROTECTED]
781-784-1919
Fax: 781-784-1860
Cell: 339-206-0261
----- Original Message ----- 
From: "Office" <[EMAIL PROTECTED]>
To: "RBG7-L Mailing List" <[EMAIL PROTECTED]>
Sent: Tuesday, September 14, 2004 10:23 PM
Subject: [RBG7-L] - RE: Transferring a report - RBW7.1.77


> Bill,
> 
> Below your message I've listed a program that I wrote that I use to
> import and export forms and reports between database.
> I use it mainly for development database testing then apply to the
> production database.  Both database have the same name and owner.  If
> you are tranfering between a different database name and owner name you
> have to edit the text file (not the lob) and change the line that has
> CREATE SCHEMA AUTHOR Databasename Ownername then import into your
> database.
> 
> Best regards,
> 
> Oma Cox
> 
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Bill
> Niehaus
> Sent: Tuesday, September 14, 2004 6:20 AM
> To: RBG7-L Mailing List
> Subject: [RBG7-L] - Transferring a report - RBW7.1.77
> 
> 
> I recall some information on how to unload a report from one database
> and reload it into another database (same structure).  I don't recall
> what the steps were for doing this.
> 
> Thanks for any assistance.
> 
> Bill Niehaus
> 
> -------------------------------------
> CODE STARTS BELOW
> -------------------------------------
> -- tranFR3.rmd
> -- use only with Rbase 6.5 or 7.1 windows
> -- transfer out/in utility of reports/forms
> -- Oma Cox 7/20/2004 Office & Computer Services Inc.
> -- Rev 1 added dialog selection 8/1/2004
> -- Rev 2 removed dialog selection replaced with choose 8/4/2004
> -- Rev 3 added import option for Reports and Forms 8/12/2004
> 
> -- Use of this routine is for transfer between development database
> -- and production database
> -- that must have the same database name and owner
> -- If database names are different then the .FOR or .REP file must be
> modified
> -- changing the database name and owner referenced in this file
> -- CREATE SCHEMA AUTHOR Databasename Owner
> -- This program stores the file in current folder of the database
> connected to
> -- This program will only store and retrieve data for the version
> -- of Rbase that it is running in.  So to transfer a R:Base 2000 (6.5)
> -- data to a R:Base 7.1 database you must open the R:Base 7.1 database
> -- in R:Base 2000 (6.5)
> 
> 
> -- vtable = sys_forms2 - Version 6.5
> -- vtable = sys_reports2 - Version 6.5
> -- vtable = sys_forms3 - Version 7.1
> -- vtable = sys_reports3 - Version 7.1
> -- vcolumn = sys_form_name
> -- vcolumn = sys_report_name
> -- vtable = sys_table_name
> -- vcomment = sys_comment
> 
> LABEL mainmenu
> SET MESSAGES OFF
> SET ERROR MESSAGES OFF
> 
> CLEAR ALL VAR EXCEPT verror
> SET ERROR VAR verror
> SET VAR vchoice TEXT = NULL
> SET VAR vversion TEXT = NULL
> SET VAR vtable TEXT = NULL
> SET VAR vitemname TEXT = NULL
> SET VAR vtname TEXT = NULL
> SET VAR vfileext TEXT = NULL
> SET VAR vaction TEXT = NULL
> SET VAR vfiletype TEXT = NULL
> SET VAR vfilename TEXT = NULL
> SET VAR vtextsize INTEGER = NULL
> SET VAR varcfilename TEXT = NULL
> SET VAR vdtstamp TEXT = NULL
> SET VAR vrepname TEXT = NULL
> SET VAR varcfileext TEXT = NULL
> SET VAR vfilelist TEXT = NULL
> SET VAR vclist TEXT = NULL
> SET VAR vctitle TEXT = NULL
> SET VAR vccaption TEXT = NULL
> SET VAR vstname TEXT = NULL
> SET VAR vtablever TEXT = NULL
> SET VAR vsystable1 TEXT = NULL
> SET VAR vsystable2 TEXT = NULL
> SET VAR vtest1 TEXT = NULL
> 
> CLS
> SET NULL -0-
> 
> SET VAR vtest1 = (CVAL('VERSION'))
> 
> SET VAR vtest1 = (SGET(.vtest1,12,1))
> 
> IF vtest1 = 'R:BASE v7.1' THEN
> 
>   CHOOSE vversion FROM #LIST '7.1,Exit' TITLE 'Version' +
>   CAPTION 'Version Import/Export' LINES 3 FORMATTED
> 
>   IF (LASTKEY(0)) = '[ESC]' THEN
>     GOTO done
>   ENDIF
> 
>   IF vversion = '[ESC]' THEN
>     GOTO done
>   ENDIF
> 
>   IF vversion = 'Exit' THEN
>     GOTO done
>   ENDIF
> 
>   SET VAR vtablever = '3'
> 
>   GOTO mstart
> ELSE
> 
>   IF vtest1 = 'R:BASE 2000' THEN
> 
>     CHOOSE vversion FROM #LIST '6.5,Exit' TITLE 'Version' +
>     CAPTION 'Version Import/Export' LINES 3 FORMATTED
> 
>     IF (LASTKEY(0)) = '[ESC]' THEN
>       GOTO done
>     ENDIF
> 
>     IF vversion = '[ESC]' THEN
>       GOTO done
>     ENDIF
> 
>     IF vversion = 'Exit' THEN
>       GOTO done
>     ENDIF
> 
>     SET VAR vtablever = '2'
>   ENDIF
> 
>   GOTO mstart
> 
> ENDIF
> 
> GOTO mainmenu
> 
> LABEL mstart
> 
> CHOOSE vaction FROM #LIST 'Export,Import' TITLE 'Options' +
> CAPTION 'Export or Import Forms or Reports' LINES 5 FORMATTED
> 
> IF vaction = 'Export' THEN
> 
>   SET VAR vclist = 'Form,Report'
>   SET VAR vctitle = 'Export'
>   SET VAR vccaption = 'Exporting Form/Report'
> 
>   GOTO mexport
> ENDIF
> 
> IF vaction = 'Import' THEN
> 
>   SET VAR vclist = 'Form,Report'
>   SET VAR vctitle = 'Import'
>   SET VAR vccaption = 'Importing Form/Report'
> 
>   GOTO mimport
> ENDIF
> 
> IF (LASTKEY(0)) = '[ESC]' THEN
>   GOTO done
> ENDIF
> IF vaction = '[ESC]' THEN
>   GOTO done
> ENDIF
> 
> GOTO mainmenu
> 
> LABEL mimport
> 
> CHOOSE vfiletype FROM #LIST .vclist TITLE .vctitle +
> CAPTION .vccaption LINES 5 FORMATTED
> 
> IF vfiletype = 'Form' THEN
> 
>   SET VAR vfilelist = ('*.fo'+.vtablever)
>   SET VAR vfileext = ('.fo'+.vtablever)
>   SET VAR varcfileext = ('.fa'+.vtablever)
>   SET VAR vccaption = 'Importing Form'
>   SET VAR vstname = 'sys_form_name'
>   SET VAR vtable = ('sys_forms'+.vtablever)
> 
> ENDIF
> 
> IF vfiletype = 'Report' THEN
> 
>   SET VAR vfilelist = ('*.re'+.vtablever)
>   SET VAR vfileext = ('.re'+.vtablever)
>   SET VAR varcfileext = ('.ra'+.vtablever)
>   SET VAR vccaption = 'Importing Report'
>   SET VAR vstname = 'sys_report_name'
>   SET VAR vtable = ('sys_reports'+.vtablever)
> ENDIF
> 
> IF (LASTKEY(0)) = '[ESC]' THEN
>   GOTO done
> ENDIF
> IF vfiletype = '[ESC]' THEN
>   GOTO done
> ENDIF
> 
> 
> CHOOSE vfilename FROM #LFILES IN .vfilelist TITLE .vctitle +
> CAPTION .vccaption LINES 15 FORMATTED
> 
> IF (LASTKEY(0)) = '[ESC]' THEN
>   GOTO done
> ENDIF
> IF vfilename = '[ESC]' THEN
>   GOTO done
> ENDIF
> 
> 
> SET VAR vtextsize = ((SLEN(.vfilename))-4)
> SET VAR vfrname = (SGET(.vfilename,.vtextsize,1))
> 
> -- check if form existings and unload the form being replace with date
> time
> -- stamp as part of file name
> SELECT &vstname FROM &vtable WHERE &vstname = .vfrname
> 
> IF SQLCODE = 0 THEN
>   -- File name format will be FormnameYYYYMMDDHHMMSS.FAR
>   -- Set Date Time Stamp Value
>   SET VAR vyear TEXT = (CTXT(IYR(.#DATE)))
> 
>   SET VAR vmonth TEXT = (CTXT(IMON(.#DATE)))
>   IF (IMON(.#DATE)) < 10 THEN
>     SET VAR vmonth TEXT = ('0'+.vmonth)
>   ENDIF
> 
>   SET VAR vday TEXT = (CTXT(IDAY(.#DATE)))
>   IF (IDAY(.#DATE)) < 10 THEN
>     SET VAR vday TEXT = ('0'+.vday)
>   ENDIF
> 
>   SET VAR vtssec TEXT = (CTXT(ISEC(.#TIME)))
>   IF (ISEC(.#TIME)) < 10 THEN
>     SET VAR vtssec TEXT = ('0'+.vtssec)
>   ENDIF
> 
>   SET VAR vtsmin TEXT = (CTXT(IMIN(.#TIME)))
>   IF (IMIN(.#TIME)) < 10 THEN
>     SET VAR vtsmin TEXT = ('0'+.vtsmin)
>   ENDIF
> 
>   SET VAR vtshr TEXT = (CTXT(IHR(.#TIME)))
>   IF (IHR(.#TIME)) < 10 THEN
>     SET VAR vtshr TEXT = ('0'+.vtshr)
>   ENDIF
> 
>   SET VAR vts TEXT =(.vyear+.vmonth+.vday+.vtshr+.vtsmin+.vtssec)
> 
>   SET VAR vdtstamp = (.vfrname+.vts+.varcfileext)
> 
>   -- use date time value to add to form for archiving will have to
> manually
>   -- be deleted from file folder
> 
>   OUTPUT .vdtstamp
>   UNLOAD ALL FOR &vtable WHERE &vstname = .vfrname
>   OUTPUT SCREEN
> 
>   DROP &vfiletype &vfrname
> 
>   RUN &vfilename
> 
>   GOTO mainmenu
> 
> ELSE
> 
>   RUN &vfilename
> 
>   GOTO mainmenu
> ENDIF
> 
> GOTO mainmenu
> ---------------------------------------------------------
> LABEL mexport
> 
> CLS
> 
> CHOOSE vfiletype FROM #LIST .vclist TITLE .vctitle +
> CAPTION .vccaption LINES 5 FORMATTED
> 
> IF (LASTKEY(0)) = '[ESC]' THEN
>   GOTO done
> ENDIF
> IF vfiletype = '[ESC]' THEN
>   GOTO done
> ENDIF
> 
> IF vfiletype = 'Form' THEN
> 
>   SET VAR vfileext = ('.fo'+.vtablever)
>   SET VAR vctitle = 'Hit ESC to Cancel'
>   SET VAR vccaption = 'Pick Form to Unload ...'
>   SET VAR vstname = 'sys_form_name'
>   SET VAR vtable = ('sys_forms'+.vtablever)
>   SET VAR
> 
> ENDIF
> IF vfiletype = 'Report' THEN
> 
>   SET VAR vfileext = ('.re'+.vtablever)
>   SET VAR vctitle = 'Hit ESC to Cancel'
>   SET VAR vccaption = 'Pick Report to Unload ...'
>   SET VAR vstname = 'sys_report_name'
>   SET VAR vtable = ('sys_reports'+.vtablever)
> ENDIF
> 
> 
> CHOOSE vfrname FROM #VALUES FOR +
> ((LJS(&vstname,20))&(LJS(sys_table_name,20))&(LJS(sys_comment,20))), +
> &vstname FROM &vtable ORDER BY &vstname +
> TITLE .vctitle CAPTION .vccaption LINES 15 FORMATTED
> 
> IF (LASTKEY(0)) = '[ESC]' THEN
>   GOTO mainmenu
> ENDIF
> 
> IF vfrname = '[ESC]' THEN
>   GOTO mainmenu
> ENDIF
> 
> IF verror = 942 THEN
> 
>   SET VAR verrmsg = ('No '+.vfiletype+' to select!'+(CHAR(013))+'Check
> selected version!'+(CHAR(013))+'Version selected is '+.vversion)
>   PAUSE 2 USING .verrmsg icon ERROR
>   GOTO mainmenu
> 
> ENDIF
> 
> 
> -- Using FOR extension for Forms
> SET VAR vfilename TEXT = (.vfrname+.vfileext)
> 
> OUTPUT .vfilename
> UNLOAD ALL FOR &vtable WHERE &vstname = .vfrname
> OUTPUT SCREEN
> 
> GOTO mainmenu
> 
> LABEL done
> 
> DIALOG 'Exit Unloading Routine?' vchoice = 10 vkey YES +
> CAPTION 'Exiting.....' AT CENTER CENTER
> 
> IF (LASTKEY(0)) = '[ESC]' THEN
>   GOTO mainmenu
> ENDIF
> 
> IF vchoice = 'Yes' THEN
>   RETURN
> ENDIF
> 
> IF vchoice = 'No' THEN
>   GOTO mainmenu
> ENDIF
> 
> 
> RETURN
> 
> 

Reply via email to