获取用户基本信息的需求在SAP MM中非常常见。通过SAP User ID可以获取用户的基本信息,包括用户名称、电子邮件地址和手机等联系方式。下面将介绍一种常用的方法。

1. 通过SAP User ID获取用户信息的函数

在SAP MM中,可以使用函数"MARA"来获取用户的基本信息。这个函数接受SAP User ID作为输入,并返回包含用户基本信息的结构体。以下是实现的示例:


FUNCTION GET_USER_INFO_BY_ID.
  DATA: ls_user_info TYPE STANDARD TABLE OF user_info,
        lv_user_id TYPE sy-uname.

  lv_user_id = 'SAP_USER_ID'.
  SELECT * FROM user_info INTO TABLE ls_user_info
            WHERE uid = lv_user_id.

  IF sy-subrc = 0.
    WRITE:/ 'User ID:', ls_user_info-uid.
    WRITE:/ 'User Name:', ls_user_info-name.
    WRITE:/ 'Email Address:', ls_user_info-email.
    WRITE:/ 'Phone Number:', ls_user_info-phone.
  ELSE.
    WRITE:/ 'User not found.'.
  ENDIF.
ENDFUNCTION.

2. 调用函数获取用户信息

在SAP MM中,可以在需要获取用户信息的地方调用上述函数。以下是一个示例,展示了如何通过SAP User ID获取用户基本信息:


CALL FUNCTION 'GET_USER_INFO_BY_ID'.

在上述示例中,传入一个合法的SAP User ID作为参数,函数将返回该用户的基本信息。如果用户存在,将打印出用户的User ID、User Name、Email Address和Phone Number。如果用户不存在,将打印出"User not found."的提示。

3. 验证用户信息是否正确

在获取用户基本信息之后,可以通过验证来确保用户信息的准确性。以下是一个示例,展示了如何验证返回的用户信息:


DATA: lv_user_info TYPE REF TO user_info.

lv_user_info = GET_USER_INFO_BY_ID( 'SAP_USER_ID' ).

IF lv_user_info IS INITIAL OR lv_user_info->name IS INITIAL.
  WRITE:/ 'User not found.'.
ELSE.
  WRITE:/ 'User ID:', lv_user_info->uid.
  WRITE:/ 'User Name:', lv_user_info->name.
  WRITE:/ 'Email Address:', lv_user_info->email.
  WRITE:/ 'Phone Number:', lv_user_info->phone.
ENDIF.

在上述示例中,通过判断返回的用户信息是否为空来验证用户是否存在。如果用户信息为空或用户名为空,则说明用户不存在。否则,将打印出用户的User ID、User Name、Email Address和Phone Number。

通过上述方法,可以通过SAP User ID获取用户的基本信息。首先定义一个函数,接受SAP User ID作为输入,并返回包含用户基本信息的结构体。然后,在需要获取用户信息的地方调用这个函数,并验证返回的用户信息的准确性。这样就可以获取到用户的基本信息了。