簡體   English   中英

為 MESSAGE 語句設置語言

[英]Set Language for MESSAGE statement

我通過 RFC 與設置的系統用戶以批處理模式訪問我的編碼,其登錄語言設置為“DE”。 如果出現錯誤,我使用消息語句,以便其他系統上的應用程序可以處理此錯誤。

MESSAGE i001(ztest) INTO DATA(e_error).

該消息被翻譯成多種語言。 根據其他系統上用戶的語言,我需要翻譯消息。 但是無論改sy-langu還是使用SET (LOCALE) LANGUAGE語句,返回的信息仍然是德語,系統用戶原始設置(如關鍵字文檔中所述

在此更改之前,我們使用了文本元素,它可以與之配合使用。
是否可以更改 MESSAGE 語句在運行時使用的語言?

第二種可能的解決方法是:

  • 使您的 RFC-enabled 功能模塊 (RFM 1) 返回消息 ID + 消息編號 + 4 個可選變量
  • 調用 RFM 1 后,調用程序調用支持 RFC 的功能模塊BAPI_MESSAGE_GETDETAIL以獲取所需語言(參數 LANGUAGE 或 LANGUAGE_ISO)的文本。

一種解決方法可能是,而不是使用MESSAGE ,只需使用您需要的語言(在我的示例中為英語)選擇消息文本:

SELECT SINGLE text
       INTO @DATA(e_error)
       FROM t100
       WHERE sprsl EQ 'E'
         AND arbgb EQ 'ZTEST'
         AND msgnr EQ '001'.

顯然,如果消息有占位符,您還有一些工作要做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM