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
