繁体   English   中英

BTP - GET_USER_ALIAS 返回空值

[英]BTP - GET_USER_ALIAS returns empty value

嗨,我在 BTP 中制作了我的第一个 Hello World,但它没有显示我的用户别名......

为什么?

ABAP 代码

CLASS zpo_hello_world DEFINITION
  PUBLIC
  FINAL
  CREATE PUBLIC.

  PUBLIC SECTION.
  INTERFACES if_oo_adt_classrun.
  PROTECTED SECTION.
  PRIVATE SECTION.
ENDCLASS.


CLASS zpo_hello_world IMPLEMENTATION.
  METHOD if_oo_adt_classrun~main.
  out->write( |Hello World ! ({ cl_abap_context_info=>get_user_alias( ) })| ).

  ENDMETHOD.

ENDCLASS.

cl_abap_context_info中的一些方法只能在云环境中使用。

cl_abap_context_info=>
新方法 旧环境
ET_SYSTEM_DATE 系统基准
GET_SYSTEM_TIME 系统-UZEIT
GET_USER_TECHNICAL_NAME 系统名称
GET_USER_LANGUAGE_ABAP_FORMAT 系统语言
GET_USER_LANGUAGE_ISO_FORMAT 语言的 ISO 格式
GET_USER_TIME_ZONE SYST-TZONE
GET_USER_ALIAS 用户主数据别名(云)
GET_SYSTEM_URL URL系统(云)
GET_USER_FORMATTED_NAME BAPI_USER_GET_DETAIL
GET_USER_DESCRIPTION BAPI_USER_GET_DETAIL
GET_USER_BUSINESS_PARTNER_ID 用户的业务合作伙伴 ID(云)

(见这里

因此,据我所知,如果您运行 On-Premise,这些方法将不会返回任何值。

但我刚刚看到您使用的是 BTP abap 云示例。 我也在这里测试过,似乎没有为用户设置别名。

您可以使用仅在云中有效的get_user_business_partner_id方法验证您的用户。

  METHOD if_oo_adt_classrun~main.
    TRY.
        out->write( |Hello World { cl_abap_context_info=>get_user_business_partner_id( ) }| ).
      CATCH cx_abap_context_info_error.
    ENDTRY.
  ENDMETHOD.

我不确定您是否可以使用事务SU1设置用户别名,因为我猜没有 SAP Gui 支持。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM