Your email address as well as other information about you and your company will be kept protected from abuse.
You can choose to have all submitted data removed from our system at any time.
Access to the information you submit will be controlled by you and your company.
All information sent to and from RRR|Online using your browser will be encrypted using SSL to ensure privacy.
We at RRR AB will monitor the applications at RRR|Online to make sure that all services are functioning properly.
We log all access to the system by storing email address, script name of url and timestamp. This information will only be used for overall statistical purposes and to track errors or abuse of RRR|Online.
Please send any questions or comments about our privacy policy to support@rrr.se.
Application: RRR|Chive Version: 4.01 Date: 2020-11-24 By: Misi Mladoniczky Copyright: 2002-2020 by Real Refined Resource Scandinavia AB Web: http://www.rrr.se Email: info@rrr.se ------------------------------------------------------------------------------ You may install and use this program free of charge at any ARSystem site. You may purchase support from RRR on this product if required. More information can be found at http://www.rrr.se or by sending an email to info@rrr.se. Installation on Windows 64-bit: Copy the rrrchive.exe file to a chosen directory. Make sure that the following ARAPI and Microsoft DLLs are accessible to rrrchive.exe. Copying the included DLLs to the installation directory will allways work. - arapi91_build001_win64.dll - arrpc91_build001_win64.dll - arutl91_build001_win64.dll - icudt32.dll - icuinbmc32_win64.dll - icuucbmc32_win64.dll - libgcc_s_seh-1.dll - libstdc++-6.dll - libwinpthread-1.dll Installation on Linux: Copy the rrrchive binary to a chosen directory. Make sure that the following shared objects are in the LD_LIBRARY_PATH. Copying the included libraries to the installation directory will allways work. - libar_lx64.so - libicudatabmc_lx64.so.32 - libicui18nbmc_lx64.so.32 - libicuucbmc_lx64.so.32 Installation on Solaris: Copy the rrrchive binary to a chosen directory. Make sure that the following shared objects are in the LD_LIBRARY_PATH. Copying the included libraries to the installation directory will allways work. - libar.so - libgcc_s.so.1 - libicudatabmc.so.32 - libicui18nbmc.so.32 - libicuucbmc.so.32 - libstdc++.so.6 Installation on AIX: Copy the rrrchive binary to a chosen directory. Running rrrChive: You can run rrrchive from a console/cmd-prompt. Run "rrrchive" with no arguments to get a list of valid arguments. If you run rrrchive from a filter/escalation, you should include the full path to the configuration file. Configfile: Help about the configfile is printed if you run "rrrchive -help". You may use the web-configurator at RRR|Online, http://www.rrr.se
usage: rrrchive [ -test ] [ --par=val ] [ rrr.cfg [ sel0 [ s1 [ ... [ s9 ]]]]]
Run rrrChive as dictated by rrr.cfg
-test will run all searches but change nothing of the forms
--par=var can be any of the allowed parameters in the config, where you
replace 'par' with the config-parameter, followed by '=' and the value.
Remember to put quotes around the value if it contains any white space.
-thread x:y to run several processes, for example you can start
three instances in three cli-windows by specifying -thread 1:3,
-thread 2:3 and -thread 3:3. Each process will then handle one third
usage: rrrchive -formlist config.cfg
Run rrrChive and list all regular forms in source and target
No data will be changed in either source or target
usage: rrrchive -ver
Prints version information
usage: rrrchive -help [ configparameter ]
Prints possible config parameters
Specify a specific parameter for more details
Specify "all" as config parameter to get details about everything
This tool can copy, move, export and import records between servers, forms
and/or arx-files. The Merge-API-call is used, the same as in Remedy Import, to
allow data to be imported without change, including the Request ID and
Modify-Date/By fields. Pattern matching is disabled and required fields are
treated as optional.
To be able to use rrrchive, you need to setup a configuration file.
Here is a list of all parameters you can set in this file.
source_server = CHAR
Holds the name of the source server.
source_tcp = 1-1000000
Supply a TCP-port for servers not using the portmapper, or servers
accessed through a firewall.
source_rpc = 390600-390699
If you use want to use a private server, supply the RPC-number here.
source_user = CHAR
The login name to the source server.
source_password = PASSWD
The password to the source server.
source_language = CHAR
The language setting if you do not want to use the default.
source_authentication = CHAR
The authentication server.
source_arx = CHAR
Holds the source arx file name. If this parameter is specified. If this
parameter is specified the source_server or source_dir should not be
specified.
source_dir = CHAR
Holds the source directory where arx-files are read. If this parameter is
specified the source_server or source_arx should not be specified.
source_form = CHAR
The form where you want to COPY/MOVE data from.
This field is not used if you supply a formlist.
source_disabledeletefltr = { YES | NO }
This selection will disable any filter that triggers on delete in the
source form.
Disabling the filter is done by unchecking the delete-operation on the
specific filter.
This can be useful if you moving records from the source form.
The filters are delete-enabled after each form has been processed.
target_server = CHAR
Holds the name of the target server. Specify SOURCE to use same as source
server.
target_tcp = 1-1000000
Supply a TCP-port for servers not using the portmapper, or servers
accessed through a firewall. Specify SOURCE to use same as source server.
target_rpc = 390600-390699
If you use want to use a private server, supply the RPC-number here, or
SOURCE to use same as source server.
target_user = CHAR
The login name to the target server, or SOURCE to use same as source
server.
target_password = PASSWD
The password to the target server, or SOURCE to use same as source server.
target_language = CHAR
The language setting if you do not want to use the default, or SOURCE to
use same as source server.
target_authentication = CHAR
The authentication server, or SOURCE to use same as source server.
target_arx = CHAR
Holds the target arx file name. If this parameter is specified. If this
parameter is specified the target_server or target_dir should not be
specified.
target_dir = CHAR
Holds the target directory where arx-files are written. If this parameter
is specified the target_server or target_arx should not be specified.
target_form = CHAR
The form where you want to COPY/MOVE data to.
This field is not used if you supply a formlist.
target_disabledeletefltr = { YES | NO }
This selection will disable any filter that triggers on delete in the
target form.
Disabling the filter is done by unchecking the delete-operation on the
specific filter.
This can be useful if you use clear (delete) all records in the target
form.
The filters are delete-enabled after each form has been processed.
target_disablemergefltr = { YES | NO }
This selection will disable any filter that triggers on merge in the
target form.
Disabling the filter is done by unchecking the merge-operation on the
specific filter.
This can be useful if you want to be sure that the data is not be changed
i.e. when copying from one server to another.
The filters are merge-enabled after each form has been processed.
target_disableaudit = { YES | NO }
This selection will disable audit of the copied data, to prevent the
filling up the associated audit form.
target_dropindexes = { YES | NO }
Before the entries are merged into the target form, all indexes on that
form will be dropped.
The indexes are recreated after the form is finished.
All filters dropped and recreated are logged.
If you break a running session of rrrchive (ctrl-c), the indexes are not
recreated. You have to recreate them manually.
Setting this value to YES can improve performance for tables with many
records.
target_clearallrecords = { YES | NO }
This option will clear the target form of all records before any
processing is done.
The delete is performed one by one, which can take some time.
multipleforms = value1 [, value2 [, ... ]]]
In this field you can supply a list (comma separated) of forms which datat
should be copied/moved to the target server.
If you specify a *, all regular forms will be processed. Leading match is
supported, and you can specify HPD* to include fields starting with HPD.
You can complement the multipleforms-list with a skipform-list, i.e.
User,Group.
If you specify multipleforms, the source_form and target_form will not be
used.
skipforms = value1 [, value2 [, ... ]]]
If you have set a * in the multipleformslist to porcess all forms, you can
specify a list (comma separated) of forms not to process in this field.
You can use leading match, and form example skip any form starting with AR
by specifying AR*.
qual = CHAR
In this field you can specify the query to be used.
The same syntax as in the Advanced Search Bar in ARUser applies.
NOTE that to specify a %-sign in this field, you need to put two, i.e.
'Name' LIKE "Peter%%"
Each %s in this field will be replaced by an extra command line argument,
letting you pass qualification information to this field. I.e. ('1'="%s")
will let you specify an Entry ID on the command line.
primarykey = value1 [, value2 [, ... ]]]
A unique field, or combination of fields, can be used as primary key
instead of the default Request ID field (field id 1). This could be the
GUID field '179', or the 'Login Name' of the User-form. Or maybe a
combination of 'First Name', 'Last Name' of a contact person form. When
using primarykey you must make sure that the field/fields represent unique
values. You can only use primarykey together with transfertype SYNC*, if
you just want to copy you should disable primarykey.
splitsearch = { YES | NO }
To prevent timeouts when searching forms, this option splits the search
into several searches on larger forms. This option is most useful if you
have more than 100 000 records in any form.
maxrecords = 0-100000000
Here you can specify the maximum number of records to copy/move in each
form.
In example you can specify 1800 to copy a suitable number of records to an
unlicensed demo server with a limit of 2000 records. This will give you
room for manual creation of 200 records.
multientrychunksize = 1-1000000
This program uses the ARGetMultipleEntries()-API-call to improve
performance.
The default setting is to retrieve 100 records in eache API-call to the
source server.
If you have a form with only a couple of fields, you can increase the
chunk size. If you have very large records, you can decrease this
applications memory usage by specifying a lower value.
If 1 if specified, the old ARGetEntry() will be used instead. This is
recommended for ARServers of version 4.0.x.
maxerrorsperform = 0-1000000
You are able to specify how many error messages rrrChive will accept
before a form is skipped.
Specify 0 (zero) or leave the field blank to accept unlimited number of
errors.
sorting = { NORMAL | REVERSE | ALTERNATE }
If you limit the number of records to be moved with the
maxrecords-parameter, you can benefit from using one of these sorting
options.
NORMAL will start with the record with the lowest Entry ID.
REVERSE will start with the highest.
ALTERNATE can be usefull, as it will copy records by alternating beginning
and end of the selected records. As a result, half of the copied records
will be from the oldest records of your source form and half from the
newest ones.
transfertype = { COPY | MOVE | SYNCDELETED | SYNCTOTARGET |
SYNCIFNEWER }
This very important field will tell rrrchive either to COPY or MOVE
records from source to target.
When using MOVE, the source record is deleted after the target record has
been created without any errors and a that the verification of the data
has been done. Verification is only used if you have specified this
setting.
The SYNCDELETED setting will perform the query on both source and target
form, and then remove the records in the target that did not exist in the
source.
The SYNCTOTARGET setting will perform the query on both source and target
form, compare modify timestamp (field id 6), and then copy, update or
delete the appropriate record to/on the target. This can be done multiple
times for incremental transfer of data, e.g. restoration of data after a
test session in the target server.
SYNCIFNEWER performs exactly as SYNCTOTARGET, except that records are
copied only of they are newer on the source-form than in the target-form.
mergemode = { OVERWRITE | NEW_ID | UPDATE | DUP_ERROR |
DUP_NEW_ID }
The normal behavior is to OVERWRITE any existing record with the same
entry-id.
You can set this to similar values that is used in the AR/Data Import
tools.
UPDATE will update old records with new record data, leaving existing
fields intact.
NEW_ID will generate new entry-ids for all records.
DUP_ERROR will prevent rrrchive from overwriting any existing data.
DUP_NEW_ID will also prevent overwriting data, but will generate new
entry-ids for those records that already exists.
entryidmode = CHAR
The default setting is to use the old entry-id, and this will
overwrite/update any existing records in accorance with the
mergemode-setting.
You can put a pattern that is between 5 and 15 characters here that will
change the entry id. A pattern of 00000 will create entry ids with 5
digits, a pattern of RRR000000000000 will create entry ids with a RRR
prefix followed by 12 digits. The old entry id number will be preserved.
If you supply a number starting with + or - (i.e. +5000 or -5555), the
entryid will be transposed but keep its original prefix and size.
syncmaxdeletedpercent = 0-100
If you have chosen transfertype SYNCDELETED/SYNCTOTARGET/SYNCIFNEWER this
parameter will ensure that you do not delete records by misstake.
A value of 50 will not delete ANY records if the number of records found
for deletion is more than 50 percent of the total number of records.
A value of 100 (default) can erase all records in the target form.
A value of 0 will make sure that no records are deleted in the target
form.
deletebeforemerge = { YES | NO }
A YES in this field tells rrrchive to delete the source record before the
new one has been created.
This should only be used when converting the entry id on a single form
(source_form equals target_form and a pattern for entryidmode set).
verifydata = { YES | NO }
If you set this to YES, the target record will be retrieved from the
target server after it has been created, letting rrrchive verify each
fields contents against the contents from the source server.
This setting will decrease performance.
Use this setting if you do not trust that the ARSystem API will return an
errror message if there is a problem.
verifyattachments = { YES | NO }
This option is only valid if you have set the verifydata to YES.
This has the system retrieve each attachment from the target server after
they are stored. This lets the system verify the actual attachment data to
the source attachment data, as opposed to just checking the file size.
This will decrease rrrchive performance.
skipfields = value1 [, value2 [, ... ]]]
Here you can specify a list (comma separated) of fields not to be
copied/moved. Use the format 'fieldid' or 'fieldname' with single quotes
surrounding the values.
You can specify the string DISPLAYONLY to skip all display-only-fields and
only work with database fields.
onlyfields = value1 [, value2 [, ... ]]]
Here you can specify a list (comma separated) of fields to be
copied/moved, or COMMON to only move fields common to both source and
target form. Use the format 'fieldid' or 'fieldname' with single quotes.
Only the fields specified will be copied. Remember to include Field ID 1
if you wish to overwrite/update the target record. If Field ID 1 is not
included, entryidmode=NEW will be used.
skipattachments = { YES | NO }
If you do not want to move any attachment data, specify a YES in this
field.
fieldmapping = value1 [, value2 [, ... ]]]
In this field you can specify mapping of fields that has different Field
IDs in the source and target forms.
Specify a list (comma separated) of fields pairs in the format
"'536870913'=>'666001001', '536870914'=>'666001002',
'fieldname'=>'fieldname', ...".
setfields = value1 [, value2 [, ... ]]]
Specify a comma separated list of field assignments, in the format
'Field1' = "Value", 'Field2' = 3, '53870913' = EXACT("Joe", "Joe User"),
ANYWHERE("Mary Manager", "Mary CEO"), '8' = DEFAULT("n/a").
You can assign numeric values, character values and the two replacement
functions EXACT() and ANYWHERE().
You also have a DEFAULT() function to specify values when the source value
is NULL.
If you specify "" the value will be set to NULL.
For attachments, specify the file name.
You must use the internal format of the arx-files for fields such as
Date/Time (numeric) and Selection-values (numeric), Status-History, Diary,
etc.
nicepausetime = 0-10
If you will move a lot of data during production hours, you can specify a
nicepausetime.
This will have rrrchive pause for the specified number of seconds (or part
of a second in Windows) before each record is imported (ARMergeEntry) to
the target form.
I.e. specify 0.1 to pause for 100 milliseconds.
Note that the minimum time to pause is 1 second on Unix systems.
adminrecachetime = 0-300
Number of seconds to go through the admin-thread (RPC 390600) after
rrrchive performs an admin change, such as diabling a merge filter.
The server needs time to recache this change.
Default is to use server config setting Delay-Recache-Time plus 5 seconds.
Disable by setting the value to 0.
clientcharset = CHAR
Normally left blank, allowing the client environment determine the
charset/encoding. Sometimes, when the servers and client differ, you want
to force this to a specific value, typically UTF-8, or maybe windows-1252.
This will also reflect the encoding of any ARX-files produced.
truncate = { UTF-8 | 8-BIT }
Specify UTF-8 or 8-BIT to have RRR|Chive truncate character fields
exceeding the field limit of the target server.
Make sure the setting corresponds to the target charset of the target
server and the client charset. Typically you set both clientcharset=UTF-8
and truncate=UTF-8 at the same time if your target server is UTF-8.
logfile = CHAR
This is where you specify the name of your logfile.
If this field is not specified, all messages will be sent to STDOUT (the
console).
Specify AUTO to give the log file the same name as the config. For example
rrrchive.cfg would result in rrrchive.log.
loglevel = { EMERGENCY | ALERT | CRITICAL | ERROR | WARNING
| NOTICE | INFO | DEBUG }
If you specify INFO, all messages will be logged, including the Entry ID
of each copied/moved record.
A value of NOTICE can be more appropriate, as it will only log the actual
number of records processed/copied/deleted.
Default loglevel is NOTICE.
logclearonrun = { YES | NO }
Setting this value to YES will truncate the logfile before each run.
This is probably not good for automated archiving, but can be nice when
you run rrrchive manually from the command line.
progressbar = { YES | NO }
Setting this to yes will show a progress bar with the percentage that has
been processed of each form.
To improve readability, you can put a backslash (\) at the end of a line and
countiue on the next.
As a general rule, whitespace at the beginning and end of data (or list
element) will not affect the setting.
Note that if you set a param equal to "PROMPT", rrrChive will prompt for this
parameter at run time.
Use the configurator at http://www.rrr.se/ to create a config file skeleton.
You can specify a form name between parameter and equal sign to have
differentiated functionality for some forms.
For example: skipfield ["COM:Company"] = '536870913'. You can specify a list
of of forms separated by comma.
Specify a * in the end of the name to specify trailing match.
If you specify the brackets [form] on a separate line, all following lines
will be for that (those) forms only. Reset this with another bracket row like
[*].