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