*&---------------------------------------------------------------------*
*& Report YXXXXX
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
* Info Destinationen
DATA: des1_info
TYPE rfcsi
, des2_info TYPE rfcsi.
PARAMETERS p_des1
TYPE rfcdes
-rfcdest
OBLIGATORY DEFAULT 'NONE'.
PARAMETERS p_des2
TYPE rfcdes
-rfcdest
OBLIGATORY DEFAULT 'NONE'.
PARAMETERS password
TYPE bapipwd
OBLIGATORY LOWER CASE DEFAULT 'TRon@007'.
SELECT-OPTIONS bname FOR usr02-bname NO INTERVALS.
*&---------------------------------------------------------------------*
*& Form copy_user
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM copy_user
USING uname
TYPE usr02
-bname
. DATA msg_text
&#
40;
80&#
41;
TYPE c
. "Message text DATA dummy
&#
40;
80&#
41;
TYPE c
. "Message text
* Input
DATA username
TYPE bapibname
-bapibname
.
* Output
logondata LIKE bapilogond,
defaults LIKE bapidefaul,
address LIKE bapiaddr3,
company LIKE bapiuscomp,
snc LIKE bapisncu,
ref_user LIKE bapirefus,
alias LIKE bapialias,
uclass TYPE bapiuclass,
lastmodified TYPE bapimoddat,
islocked TYPE bapislockd.
*Tables
parameter TYPE TABLE OF bapiparam,
profiles TYPE TABLE OF bapiprof,
activitygroups TYPE TABLE OF bapiagr,
return TYPE TABLE OF bapiret2
, addtel TYPE TABLE OF bapiadtel,
addfax TYPE TABLE OF bapiadfax,
addttx TYPE TABLE OF bapiadttx,
addtlx TYPE TABLE OF bapiadtlx,
addsmtp TYPE TABLE OF bapiadsmtp,
addrml TYPE TABLE OF bapiadrml,
addx400 TYPE TABLE OF bapiadx400,
addrfc TYPE TABLE OF bapiadrfc,
addprt TYPE TABLE OF bapiadprt,
addssf TYPE TABLE OF bapiadssf,
adduri TYPE TABLE OF bapiaduri,
addpag TYPE TABLE OF bapiadpag,
addcomrem TYPE TABLE OF bapicomrem,
parameter1 TYPE TABLE OF bapiparam1,
groups TYPE TABLE OF bapigroups,
uclasssys TYPE TABLE OF bapiuclasssys,
extidhead TYPE TABLE OF bapiusextidhead,
extidpart TYPE TABLE OF bapiusextidpart,
systems TYPE TABLE OF bapircvsys.
* RC
DATA lret1
TYPE bapiret2
.
username = uname.
CALL FUNCTION 'BAPI_USER_GET_DETAIL' DESTINATION p_des2
EXPORTING
username = username
* CACHE_RESULTS = 'X'
IMPORTING
logondata = logondata
defaults = defaults
address = address
company = company
snc = snc
ref_user = ref_user
alias = alias
uclass = uclass
lastmodified = lastmodified
islocked = islocked
parameter = parameter
profiles = profiles
activitygroups = activitygroups
addtel = addtel
addfax = addfax
addttx = addttx
addtlx = addtlx
addsmtp = addsmtp
addrml = addrml
addx400 = addx400
addrfc = addrfc
addprt = addprt
addssf = addssf
adduri = adduri
addpag = addpag
addcomrem = addcomrem
parameter1 = parameter1
groups = groups
uclasssys = uclasssys
extidhead = extidhead
extidpart = extidpart
systems = systems
EXCEPTIONS
communication_failure
= 1 MESSAGE msg_text
system_failure
= 2 MESSAGE msg_text
.
DELETE parameter
WHERE parid
&#
40;
1&#
41;
= 'Z' OR parid
&#
40;
1&#
41;
= 'Y'. DELETE parameter1
WHERE parid
&#
40;
1&#
41;
= 'Z' OR parid
&#
40;
1&#
41;
= 'Y'.
CALL FUNCTION 'BAPI_USER_CREATE1' DESTINATION p_des1
EXPORTING
username = username
* NAME_IN =
logondata = logondata
password = password
defaults = defaults
address = address
company = company
snc = snc
ref_user = ref_user
alias = alias
* EX_ADDRESS =
uclass = uclass
force_system_assignment = 'X'
* SELF_REGISTER = ' '
parameter = parameter
addtel = addtel
addfax = addfax
addttx = addttx
addtlx = addtlx
addsmtp = addsmtp
addrml = addrml
addx400 = addx400
addrfc = addrfc
addprt = addprt
addssf = addssf
adduri = adduri
addpag = addpag
addcomrem = addcomrem
* groups = groups
parameter1 = parameter1
extidhead = extidhead
extidpart = extidpart
EXCEPTIONS
communication_failure
= 1 MESSAGE msg_text
system_failure
= 2 MESSAGE msg_text
.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.