SAP ALE_USER_CLONE Function Module for
ALE_USER_CLONE is a standard ale user clone SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used to perform a specific ABAP function and below is the pattern details, showing its interface including any import and export parameters, exceptions etc. there is also a full "cut and paste" ABAP pattern code example, along with implementation ABAP coding, documentation and contribution comments specific to this or related objects.
See here to view full function module documentation and code listing for ale user clone FM, simply by entering the name ALE_USER_CLONE into the relevant SAP transaction such as SE37 or SE38.
Function Group: SU_USER
Program Name: SAPLSU_USER
Main Program: SAPLSU_USER
Appliation area:
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function ALE_USER_CLONE pattern details
In-order to call this FM within your sap programs, simply using the below ABAP pattern details to trigger the function call...or see the full ABAP code listing at the end of this article. You can simply cut and paste this code into your ABAP progrom as it is, including variable declarations.CALL FUNCTION 'ALE_USER_CLONE'".
EXPORTING
USERNAME = "User Name
* ALIAS = "User Name Alias
* UCLASS = "
* UCLASSX = "
* EXTIDSX = "
* USATTRX = "
* ADD_FIELDS = "
* ADD_FIELDSX = "
* OBJ_TYPE = 'USER' "
* SERIAL_ID = '0' "
METHOD = "Method to be Called
* LOGONDATA = "Structure with Logon Data
* PASSWORD = "Password
* DEFAULTS = "Structure with User Defaults
* ADDRESS = "Address Data
* COMPANY = "Company for Company Address
* SNC = "Secure Network Communication - Data
* REF_USER = "Reference user for rights (Internet)
TABLES
* PARAMETER = "Table with User Parameters
* ADDX400 = "
* ADDRFC = "
* ADDPRT = "
* ADDSSF = "
* ADDURI = "
* ADDPAG = "
* ADDCOMREM = "
* GROUPS = "Transfer Structure for a List of User Groups
* REFERENCES = "
* PERSDATA = "Personalization distribution exchange format
* PROFILES = "Profiles
* PARAMETER1 = "Replaces parameter (length 18 -> 40)
* EXTIDHEAD = "
* EXTIDPART = "
* USATTR = "
RECEIVERS = "
* COMMUNICATION_DOCUMENTS = "
* APPLICATION_OBJECTS = "
* ACTIVITYGROUPS = "Roles
* ADDTEL = "
* ADDFAX = "
* ADDTTX = "
* ADDTLX = "
* ADDSMTP = "
* ADDRML = "
EXCEPTIONS
ERROR_CREATING_IDOCS = 1
IMPORTING Parameters details for ALE_USER_CLONE
USERNAME - User Name
Data type: BAPIBNAMEOptional: No
Call by Reference: No ( called with pass by value option)
ALIAS - User Name Alias
Data type: BAPIALIASOptional: Yes
Call by Reference: No ( called with pass by value option)
UCLASS -
Data type: BAPIUCLASSOptional: Yes
Call by Reference: No ( called with pass by value option)
UCLASSX -
Data type: BAPIUCLASSXOptional: Yes
Call by Reference: No ( called with pass by value option)
EXTIDSX -
Data type: BAPIUSEXTIDXOptional: Yes
Call by Reference: No ( called with pass by value option)
USATTRX -
Data type: BAPIUSATTRXOptional: Yes
Call by Reference: No ( called with pass by value option)
ADD_FIELDS -
Data type: BAPIADDFLDOptional: Yes
Call by Reference: No ( called with pass by value option)
ADD_FIELDSX -
Data type: BAPIADDFLDXOptional: Yes
Call by Reference: No ( called with pass by value option)
OBJ_TYPE -
Data type: SERIAL-OBJ_TYPEDefault: 'USER'
Optional: Yes
Call by Reference: No ( called with pass by value option)
SERIAL_ID -
Data type: SERIAL-CHNUMDefault: '0'
Optional: Yes
Call by Reference: No ( called with pass by value option)
METHOD - Method to be Called
Data type: BAPIMETHODOptional: No
Call by Reference: No ( called with pass by value option)
LOGONDATA - Structure with Logon Data
Data type: BAPILOGONDOptional: Yes
Call by Reference: No ( called with pass by value option)
PASSWORD - Password
Data type: BAPIPWDOptional: Yes
Call by Reference: No ( called with pass by value option)
DEFAULTS - Structure with User Defaults
Data type: BAPIDEFAULOptional: Yes
Call by Reference: No ( called with pass by value option)
ADDRESS - Address Data
Data type: BAPIADDR3Optional: Yes
Call by Reference: No ( called with pass by value option)
COMPANY - Company for Company Address
Data type: BAPIUSCOMPOptional: Yes
Call by Reference: No ( called with pass by value option)
SNC - Secure Network Communication - Data
Data type: BAPISNCUOptional: Yes
Call by Reference: No ( called with pass by value option)
REF_USER - Reference user for rights (Internet)
Data type: BAPIREFUSOptional: Yes
Call by Reference: No ( called with pass by value option)
TABLES Parameters details for ALE_USER_CLONE
PARAMETER - Table with User Parameters
Data type: BAPIPARAMOptional: Yes
Call by Reference: No ( called with pass by value option)
ADDX400 -
Data type: BAPIADX400Optional: Yes
Call by Reference: No ( called with pass by value option)
ADDRFC -
Data type: BAPIADRFCOptional: Yes
Call by Reference: No ( called with pass by value option)
ADDPRT -
Data type: BAPIADPRTOptional: Yes
Call by Reference: No ( called with pass by value option)
ADDSSF -
Data type: BAPIADSSFOptional: Yes
Call by Reference: No ( called with pass by value option)
ADDURI -
Data type: BAPIADURIOptional: Yes
Call by Reference: No ( called with pass by value option)
ADDPAG -
Data type: BAPIADPAGOptional: Yes
Call by Reference: No ( called with pass by value option)
ADDCOMREM -
Data type: BAPICOMREMOptional: Yes
Call by Reference: No ( called with pass by value option)
GROUPS - Transfer Structure for a List of User Groups
Data type: BAPIGROUPSOptional: Yes
Call by Reference: No ( called with pass by value option)
REFERENCES -
Data type: BAPIAPREFOptional: Yes
Call by Reference: No ( called with pass by value option)
PERSDATA - Personalization distribution exchange format
Data type: BAPIPERSOptional: Yes
Call by Reference: No ( called with pass by value option)
PROFILES - Profiles
Data type: BAPIPROFOptional: Yes
Call by Reference: No ( called with pass by value option)
PARAMETER1 - Replaces parameter (length 18 -> 40)
Data type: BAPIPARAM1Optional: Yes
Call by Reference: No ( called with pass by value option)
EXTIDHEAD -
Data type: BAPIUSEXTIDHEADOptional: Yes
Call by Reference: No ( called with pass by value option)
EXTIDPART -
Data type: BAPIUSEXTIDPARTOptional: Yes
Call by Reference: No ( called with pass by value option)
USATTR -
Data type: BAPIUSATTRTABOptional: Yes
Call by Reference: No ( called with pass by value option)
RECEIVERS -
Data type: BDI_LOGSYSOptional: No
Call by Reference: No ( called with pass by value option)
COMMUNICATION_DOCUMENTS -
Data type: SWOTOBJIDOptional: Yes
Call by Reference: No ( called with pass by value option)
APPLICATION_OBJECTS -
Data type: SWOTOBJIDOptional: Yes
Call by Reference: No ( called with pass by value option)
ACTIVITYGROUPS - Roles
Data type: BAPIAGROptional: Yes
Call by Reference: No ( called with pass by value option)
ADDTEL -
Data type: BAPIADTELOptional: Yes
Call by Reference: No ( called with pass by value option)
ADDFAX -
Data type: BAPIADFAXOptional: Yes
Call by Reference: No ( called with pass by value option)
ADDTTX -
Data type: BAPIADTTXOptional: Yes
Call by Reference: No ( called with pass by value option)
ADDTLX -
Data type: BAPIADTLXOptional: Yes
Call by Reference: No ( called with pass by value option)
ADDSMTP -
Data type: BAPIADSMTPOptional: Yes
Call by Reference: No ( called with pass by value option)
ADDRML -
Data type: BAPIADRMLOptional: Yes
Call by Reference: No ( called with pass by value option)
EXCEPTIONS details
ERROR_CREATING_IDOCS -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for ALE_USER_CLONE Function Module
The ABAP code below is a full code listing to execute function module POPUP_TO_CONFIRM including all data declarations. The code uses the original data declarations rather than the latest in-line data DECLARATION SYNTAX but I have included an ABAP code snippet at the end to show how declarations would look using the newer method of declaring data variables on the fly. This will allow you to compare and fully understand the new inline method. Please note some of the newer syntax such as the @DATA is not available until a later 4.70 service pack (SP8), which i why i have stuck to the origianl for this example.| DATA: | ||||
| lv_username | TYPE BAPIBNAME, " | |||
| lt_parameter | TYPE STANDARD TABLE OF BAPIPARAM, " | |||
| lv_error_creating_idocs | TYPE BAPIPARAM, " | |||
| lv_alias | TYPE BAPIALIAS, " | |||
| lt_addx400 | TYPE STANDARD TABLE OF BAPIADX400, " | |||
| lt_addrfc | TYPE STANDARD TABLE OF BAPIADRFC, " | |||
| lv_uclass | TYPE BAPIUCLASS, " | |||
| lt_addprt | TYPE STANDARD TABLE OF BAPIADPRT, " | |||
| lv_uclassx | TYPE BAPIUCLASSX, " | |||
| lt_addssf | TYPE STANDARD TABLE OF BAPIADSSF, " | |||
| lv_extidsx | TYPE BAPIUSEXTIDX, " | |||
| lt_adduri | TYPE STANDARD TABLE OF BAPIADURI, " | |||
| lv_usattrx | TYPE BAPIUSATTRX, " | |||
| lt_addpag | TYPE STANDARD TABLE OF BAPIADPAG, " | |||
| lv_add_fields | TYPE BAPIADDFLD, " | |||
| lt_addcomrem | TYPE STANDARD TABLE OF BAPICOMREM, " | |||
| lv_add_fieldsx | TYPE BAPIADDFLDX, " | |||
| lt_groups | TYPE STANDARD TABLE OF BAPIGROUPS, " | |||
| lv_obj_type | TYPE SERIAL-OBJ_TYPE, " 'USER' | |||
| lv_serial_id | TYPE SERIAL-CHNUM, " '0' | |||
| lt_references | TYPE STANDARD TABLE OF BAPIAPREF, " | |||
| lt_persdata | TYPE STANDARD TABLE OF BAPIPERS, " | |||
| lv_method | TYPE BAPIMETHOD, " | |||
| lt_profiles | TYPE STANDARD TABLE OF BAPIPROF, " | |||
| lt_parameter1 | TYPE STANDARD TABLE OF BAPIPARAM1, " | |||
| lt_extidhead | TYPE STANDARD TABLE OF BAPIUSEXTIDHEAD, " | |||
| lt_extidpart | TYPE STANDARD TABLE OF BAPIUSEXTIDPART, " | |||
| lt_usattr | TYPE STANDARD TABLE OF BAPIUSATTRTAB, " | |||
| lt_receivers | TYPE STANDARD TABLE OF BDI_LOGSYS, " | |||
| lt_communication_documents | TYPE STANDARD TABLE OF SWOTOBJID, " | |||
| lt_application_objects | TYPE STANDARD TABLE OF SWOTOBJID, " | |||
| lv_logondata | TYPE BAPILOGOND, " | |||
| lt_activitygroups | TYPE STANDARD TABLE OF BAPIAGR, " | |||
| lt_addtel | TYPE STANDARD TABLE OF BAPIADTEL, " | |||
| lv_password | TYPE BAPIPWD, " | |||
| lt_addfax | TYPE STANDARD TABLE OF BAPIADFAX, " | |||
| lv_defaults | TYPE BAPIDEFAUL, " | |||
| lt_addttx | TYPE STANDARD TABLE OF BAPIADTTX, " | |||
| lv_address | TYPE BAPIADDR3, " | |||
| lt_addtlx | TYPE STANDARD TABLE OF BAPIADTLX, " | |||
| lv_company | TYPE BAPIUSCOMP, " | |||
| lv_snc | TYPE BAPISNCU, " | |||
| lt_addsmtp | TYPE STANDARD TABLE OF BAPIADSMTP, " | |||
| lt_addrml | TYPE STANDARD TABLE OF BAPIADRML, " | |||
| lv_ref_user | TYPE BAPIREFUS. " |
|   CALL FUNCTION 'ALE_USER_CLONE' " |
| EXPORTING | ||
| USERNAME | = lv_username | |
| ALIAS | = lv_alias | |
| UCLASS | = lv_uclass | |
| UCLASSX | = lv_uclassx | |
| EXTIDSX | = lv_extidsx | |
| USATTRX | = lv_usattrx | |
| ADD_FIELDS | = lv_add_fields | |
| ADD_FIELDSX | = lv_add_fieldsx | |
| OBJ_TYPE | = lv_obj_type | |
| SERIAL_ID | = lv_serial_id | |
| METHOD | = lv_method | |
| LOGONDATA | = lv_logondata | |
| PASSWORD | = lv_password | |
| DEFAULTS | = lv_defaults | |
| ADDRESS | = lv_address | |
| COMPANY | = lv_company | |
| SNC | = lv_snc | |
| REF_USER | = lv_ref_user | |
| TABLES | ||
| PARAMETER | = lt_parameter | |
| ADDX400 | = lt_addx400 | |
| ADDRFC | = lt_addrfc | |
| ADDPRT | = lt_addprt | |
| ADDSSF | = lt_addssf | |
| ADDURI | = lt_adduri | |
| ADDPAG | = lt_addpag | |
| ADDCOMREM | = lt_addcomrem | |
| GROUPS | = lt_groups | |
| REFERENCES | = lt_references | |
| PERSDATA | = lt_persdata | |
| PROFILES | = lt_profiles | |
| PARAMETER1 | = lt_parameter1 | |
| EXTIDHEAD | = lt_extidhead | |
| EXTIDPART | = lt_extidpart | |
| USATTR | = lt_usattr | |
| RECEIVERS | = lt_receivers | |
| COMMUNICATION_DOCUMENTS | = lt_communication_documents | |
| APPLICATION_OBJECTS | = lt_application_objects | |
| ACTIVITYGROUPS | = lt_activitygroups | |
| ADDTEL | = lt_addtel | |
| ADDFAX | = lt_addfax | |
| ADDTTX | = lt_addttx | |
| ADDTLX | = lt_addtlx | |
| ADDSMTP | = lt_addsmtp | |
| ADDRML | = lt_addrml | |
| EXCEPTIONS | ||
| ERROR_CREATING_IDOCS = 1 | ||
| . " ALE_USER_CLONE | ||
ABAP code using 7.40 inline data declarations to call FM ALE_USER_CLONE
The below ABAP code uses the newer in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. Please note some of the newer syntax below, such as the @DATA is not available until 4.70 EHP 8.| "SELECT single OBJ_TYPE FROM SERIAL INTO @DATA(ld_obj_type). | ||||
| DATA(ld_obj_type) | = 'USER'. | |||
| "SELECT single CHNUM FROM SERIAL INTO @DATA(ld_serial_id). | ||||
| DATA(ld_serial_id) | = '0'. | |||
Search for further information about these or an SAP related objects