我们windows登录后按Ctrl + Alt + Delete之后会出现登录信息:
XXX 已登录为DOMAIN/USERNAME。
登录日期 2009-3-23 8:00:00
通过一下方法可以获取DOMAIN和USERNAME的数据:
CALL METHOD cl_gui_frontend_services=>get_user_name
CHANGING
user_name = username
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
not_supported_by_gui = 3
OTHERS = 4.
CALL METHOD cl_gui_frontend_services=>environment_get_variable
EXPORTING
variable = 'USERDOMAIN'
CHANGING
value = domainname
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
not_supported_by_gui = 3
OTHERS = 4.
另外还有一个函数 获取windows用户名和域名的函数
FUNCTION Z_RETURN_USERNAME.
*"----------------------------------------------------------------------
*"*"Local interface:
*" EXPORTING
*" VALUE(USERNAME) TYPE STRING
*" VALUE(DOMAINNAME) TYPE STRING
*"----------------------------------------------------------------------
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GET_USER_NAME
CHANGING
USER_NAME = USERNAME
EXCEPTIONS
CNTL_ERROR = 1
ERROR_NO_GUI = 2
NOT_SUPPORTED_BY_GUI = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>ENVIRONMENT_GET_VARIABLE
EXPORTING
VARIABLE = 'USERDOMAIN'
CHANGING
VALUE = DOMAINNAME
EXCEPTIONS
CNTL_ERROR = 1
ERROR_NO_GUI = 2
NOT_SUPPORTED_BY_GUI = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL METHOD CL_GUI_CFW=>FLUSH
EXCEPTIONS
CNTL_SYSTEM_ERROR = 1
CNTL_ERROR = 2
OTHERS = 3.
ENDFUNCTION.