FUNCTION Z_BAPI_USER_GETLIST. *"---------------------------------------------------------------------- *"*"Local Interface: *" IMPORTING *" VALUE(MAX_ROWS) TYPE BAPIUSMISC-BAPIMAXROW DEFAULT 0 *" VALUE(WITH_USERNAME) TYPE BAPIUSMISC-WITH_NAME DEFAULT SPACE *" EXPORTING *" VALUE(ROWS) TYPE BAPIUSMISC-BAPIROWS *" TABLES *" SELECTION_RANGE STRUCTURE BAPIUSSRGE OPTIONAL *" SELECTION_EXP STRUCTURE BAPIUSSEXP OPTIONAL *" USERLISTLOCK STRUCTURE ZBAPIUSNAME OPTIONAL *" RETURN STRUCTURE BAPIRET2 OPTIONAL *"---------------------------------------------------------------------- * data: LOCKSTATE LIKE USLOCK, userlist like bapiusname occurs 0 with header line. refresh userlistlock. CALL FUNCTION 'BAPI_USER_GETLIST' EXPORTING MAX_ROWS = 0 WITH_USERNAME = with_username IMPORTING ROWS = rows TABLES SELECTION_RANGE = selection_range SELECTION_EXP = selection_exp USERLIST = userlist RETURN = return . loop at userlist. move-corresponding: userlist to userlistlock. if userlistlock-firstname = space. userlistlock-firstname = userlistlock-username. endif. CALL FUNCTION 'SUSR_USER_LOCKSTATE_GET' EXPORTING USER_NAME = userlist-username IMPORTING LOCKSTATE = lockstate EXCEPTIONS USER_NAME_NOT_EXIST = 1 OTHERS = 2 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. move-corresponding: lockstate to userlistlock. append userlistlock. endloop. ENDFUNCTION.