用户信息
-
ABAP获取登陆用户信息(SAP登录增强)
需求:记录所有登陆用户的信息。 方案:SMOD -> EXIT_SAPLSUSF_001 [login]
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133*&---------------------------------------------------------------------**& 包含 ZXUSRU01*&---------------------------------------------------------------------**SAP账号使用合规性审计.TABLES: zzuser_logon_inf.DATA: ls_uinfo TYPE zzuser_logon_inf,lv_addrnumber TYPE ad_addrnum,lv_persnumber TYPE ad_persnum,lv_name_first TYPE ad_namefir,lv_name_last TYPE ad_namelas,computer_name TYPE string,lt_guiversion TYPE filetable,lw_guiversion LIKE LINE OF lt_guiversion,lv_ostype TYPE i,lv_osuname TYPE string,lv_rc TYPE i VALUE 0.ls_uinfo-zdate = sy-datum.ls_uinfo-ztime = sy-uzeit.ls_uinfo-zuser = sy-uname.***取用户名称(描述)SELECT SINGLE persnumber addrnumber INTO(lv_persnumber, lv_addrnumber)FROM usr21WHERE bname = sy-uname.IF sy-subrc = 0.SELECT SINGLE name_first name_last INTO (lv_name_first,lv_name_last)FROM adrpWHERE persnumber = lv_persnumber.IF sy-subrc = 0.CONCATENATE lv_name_last lv_name_first INTO ls_uinfo-zname.CONDENSE ls_uinfo-zname NO-GAPS.ENDIF.ENDIF.*取用户IP.CALL METHOD cl_gui_frontend_services=>get_ip_addressRECEIVINGip_address = ls_uinfo-zip.CALL METHOD cl_gui_cfw=>flush.*取用户hostname.CALL METHOD cl_gui_frontend_services=>get_computer_name(CHANGINGcomputer_name = computer_name ).CALL METHOD cl_gui_cfw=>flush.ls_uinfo-zterminal = computer_name .*取用户IP.CALL METHOD cl_gui_frontend_services=>get_ip_addressRECEIVINGip_address = ls_uinfo-zip.CALL METHOD cl_gui_cfw=>flush.*获取客户端版本.CALL METHOD cl_gui_frontend_services=>get_gui_versionCHANGINGversion_table = lt_guiversionrc = lv_rc.CALL METHOD cl_gui_cfw=>flush.*获取客户端操作系统类型.CALL METHOD cl_gui_frontend_services=>get_platformRECEIVINGplatform = lv_ostype.CALL METHOD cl_gui_cfw=>flush.*获取客户端系统用户名.CALL METHOD cl_gui_frontend_services=>get_user_nameCHANGINGuser_name = lv_osuname.CALL METHOD cl_gui_cfw=>flush.ls_uinfo-zos_uname = lv_osuname.CASE lv_ostype.WHEN 0.ls_uinfo-zostype = 'PLATFORM_UNKNOWN'.WHEN 1.ls_uinfo-zostype = 'PLATFORM_MAC'.WHEN 2.ls_uinfo-zostype = 'PLATFORM_NT40'.WHEN 3.ls_uinfo-zostype = 'PLATFORM_WINDOWS95'.WHEN 4.ls_uinfo-zostype = 'PLATFORM_WINDOWS98'.WHEN 5.ls_uinfo-zostype = 'PLATFORM_NT50'.WHEN 6.ls_uinfo-zostype = 'PLATFORM_OS2'.WHEN 7.ls_uinfo-zostype = 'PLATFORM_LINUX'.WHEN 8.ls_uinfo-zostype = 'PLATFORM_HPUX'.WHEN 9.ls_uinfo-zostype = 'PLATFORM_TRU64'.WHEN 10.ls_uinfo-zostype = 'PLATFORM_AIX'.WHEN 11.ls_uinfo-zostype = 'PLATFORM_SOLARIS'.WHEN 12.ls_uinfo-zostype = 'PLATFORM_MACOSX'.WHEN 13.ls_uinfo-zostype = 'PLATFORM_WINDOWSXP'.WHEN 14.ls_uinfo-zostype = 'PLATFORM_WINDOWS7/8/10'.WHEN OTHERS.ls_uinfo-zostype = 'PLATFORM_UNKNOWN'.ENDCASE.LOOP AT lt_guiversion INTO lw_guiversion.CONCATENATE ls_uinfo-zguiversio lw_guiversion ' / ' INTO ls_uinfo-zguiversio.CLEAR lw_guiversion.ENDLOOP.INSERT zzuser_logon_inf FROM ls_uinfo.COMMIT WORK AND WAIT.CLEAR ls_uinfo.CLEAR lv_addrnumber.CLEAR lv_persnumber.CLEAR lv_name_first.CLEAR lv_name_last.CLEAR computer_name.CLEAR lv_ostype.CLEAR lv_osuname.&nb…
-
abap get user timernal ip address
FM: TERMINAL_ID_GET
1234567DATA:lv_terminal TYPE usr41-terminal.CALL FUNCTION 'TERMINAL_ID_GET'EXPORTINGusername = sy-unameIMPORTINGterminal = lv_terminal. -
SAP中获取当前用户相关信息的两个函数
函数名:TH_USER_LIST作用:可以得到SM04界面显示样式的表。 函数名:TH_USER_INFO作用:可以得到当前特定用户的机器名、当前活动窗口数、IP地址等信息