[英]BTP - GET_USER_ALIAS returns empty value
嗨,我在 BTP 中制作了我的第一个 Hello World,但它没有显示我的用户别名......
为什么?
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.