如何更改用于网关会话的语言

2020-09-05 21:07发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有一个网关服务,需要为使用不同语言的用户提供服务,而我发现的最佳方法是实现一种从请求标头中提取语言的方法。

但是缺点是,我必须在实现的每个实体中都包含此方法调用,因此每个请求通常多次调用此方法。

是否有一种方法可以在网关对象modea中将语言设置为全局属性,并预先准备一些基类方法以在每个请求中自动设置语言?

 METHOD get_language。
     数据:lo_facade类型参考/iwbep/if_mgw_dp_int_facade,
            lt_client_headers TYPE tihttpnvp,
            lw_client_headers与lt_client_headers类似。
     尝试。
         lo_facade?=/iwbep/if_mgw_conv_srv_runtime〜get_dp_facade()。
         lt_client_headers = lo_facade-> get_request_header()。
       捕捉/iwbep/cx_mgw_tech_exception。
     ENDTRY。
     在lt_client_headers处输入LOTO,名称为'accept-language'。
       IF lw_client_headers-value CS'en'。
         ov_language ='E'。
       ELSEIF lw_client_headers-value CS'pl'。
         ov_language ='L'。
       万一。
     结局。
        设置语言ov_language。
        sy-langu = ov_language。
   终结法。
 

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有一个网关服务,需要为使用不同语言的用户提供服务,而我发现的最佳方法是实现一种从请求标头中提取语言的方法。

但是缺点是,我必须在实现的每个实体中都包含此方法调用,因此每个请求通常多次调用此方法。

是否有一种方法可以在网关对象modea中将语言设置为全局属性,并预先准备一些基类方法以在每个请求中自动设置语言?

 METHOD get_language。
     数据:lo_facade类型参考/iwbep/if_mgw_dp_int_facade,
            lt_client_headers TYPE tihttpnvp,
            lw_client_headers与lt_client_headers类似。
     尝试。
         lo_facade?=/iwbep/if_mgw_conv_srv_runtime〜get_dp_facade()。
         lt_client_headers = lo_facade-> get_request_header()。
       捕捉/iwbep/cx_mgw_tech_exception。
     ENDTRY。
     在lt_client_headers处输入LOTO,名称为'accept-language'。
       IF lw_client_headers-value CS'en'。
         ov_language ='E'。
       ELSEIF lw_client_headers-value CS'pl'。
         ov_language ='L'。
       万一。
     结局。
        设置语言ov_language。
        sy-langu = ov_language。
   终结法。
 
付费偷看设置
发送
4条回答
微wx笑
2楼-- · 2020-09-05 21:21

嗨,恩里克

这不是我想要的。 我想让前端切换到用户浏览器使用的语言。 以及如何在Gateway类hirachy中最好地实现这一目标

haha101010
3楼-- · 2020-09-05 21:16

前端会根据浏览器配置自动确定lenguaje,如果您需要更改此默认语言,则可以使用URL中的参数或使用sapui5库 :

使用代码:

 sap.ui.getCore()。getConfiguration()。setLanguage(" de"); 

带有参数:

 sap-language = DE
 

并且为了在网关中使用此语言,仅需要在登录时指示该语言

致谢

SAP小黑
4楼-- · 2020-09-05 21:32

我没有使用fiori和sapui5作为前端

一周热门 更多>