ABAP中的数字到字符串转换函数

gra*_*m77 0 abap

我想显示一条 E 类型的消息,我必须首先为其创建一个字符串。该字符串具有要连接的混合字符串和整数变量。

由于只能连接字符串,因此我将整数变量复制到字符串变量中,生成整个字符串并连接。

是否有诸如 to_string(integer_variable) 之类的转换函数可以将整数转换为字符串?

PROGRAM abc.
DATA: im_acc_no TYPE i VALUE 100,
      lv_acc_no TYPE string,
      lv_msg TYPE string.
START-OF-SELECTION.
      lv_acc_no = im_acc_no.
      CONCATENATE 'Acnt# ' lv_acc_no ' does not exist' INTO lv_msg.
      MESSAGE lv_msg TYPE 'E'.
Run Code Online (Sandbox Code Playgroud)

Ger*_*ema 5

有一个CONV操作员(SAP help)可以执行类似的操作to_string,但在 中是不允许的CONCATENATE,因此在您的场景中不会为您提供帮助。

您可以使用&&运算符(SAP help)在命令中就地创建消息,MESSAGE例如:

 MESSAGE |Acnt# | && lv_acc_no && | does not exist| type 'E'.
Run Code Online (Sandbox Code Playgroud)

附注:不要使用 MESSAGE 命令的这种变体,它可能很容易编程,但很难调查消息的生成位置。因此,最好在 SE91 中实际创建一条消息并使用它。消息中的变量替换 (&) 也可以很好地处理整数。