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

2020-09-05 21:07发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨 我有一个网关服务,需要为使...

         点击此处--->   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。
   终结法。