Userexport und Userimport per SAP R3trans

Zuweilen kommt es immer mal wieder vor, dass man einzelne Benutzer aus einem System in ein Anderes übernehmen möchte oder einfach nur einen Benutzer aus einem Mandanten auf einem lokalen System in einem anderen Mandanten kopieren möchte.

Ein kompletter Mandantenexport wäre hier eine Möglichkeit. Quick und Dirty geht es allerdings per R3trans.

Hierzu legen wir uns zunächst zwei Dateien an:

userexport.exp
export
client=100
file="/tmp/userexport.dat"
compress=yes
select * from usr01 with key '000USER'
select * from usr02 with key '000USER'
select * from usr04 with key '000USER'
select * from ust04 with key '000USER'

Der Inhalt an sich ist selbsterklärend. Bei „client=“ trägt man den ensprechenden Quellmandanten für den Export ein. Die Option „file=“ weist R3trans an, den Tabellenexport in eine Datei unter dem angegebenen Pfad abzulegen. Der select sagt R3trans dann noch, was er denn aus der Datenbank exportieren soll. Den „key“ muss man entsprechen anpassen. Will man z.B. den Benutzer „Mustermann“ exportieren wird ‚000USER‘ durch ‚000MUSTERMANN‘ ersetzt, da USER hier im Beispiel lediglich ein Platzhalter ist.

userimport.imp
import
client=100
file='/tmp/userexport.dat'

Auch die Importdatei ist recht simpel aufgebaut. Über „client=“ wird der Zielmandant für den Import angegeben. Der Parameter „file=“ gibt R3trans an, welche Datei er einlesen und in die Datenbank pumpen soll.

Der Export wird als <SID>adm gestartet und sieht so aus:

R3trans -w export.log userexport.exp

Die Option -w teilt R3trans mit, dass er die Aktionen in der Datei export.log protokollieren soll. Sollte es einen Fehler beim Export gegeben haben (Returncode != 0000) so kann man in der Datei die Fehlermeldungen prüfen. Im Pfad /tmp sollte nun die Datei userexport.dat existieren. Sie beinhaltet den Datenbankexport. Um den User in einem anderen System zu importieren muss man lediglich die .dat Datei sowie die Importdatei (userimport.imp) auf dem anderen System bereit stellen und mit folgendem Befehl R3trans anweisen, die Informationen in die Datenbank zu schreiben:

R3trans -w import.log userimport.imp

Möchte man den User in einen anderen Mandanten importieren muss hierfür lediglich die Datei „userimport.imp“ entsprechend angepasst werden, also der Parameter „client=“ mit dem entsprechenden Zielmandanten versorgt werden.

About the author