ABAP message 关键字的作用是要么显示在以后用户的登录语言中,从数据库表 T100的msg字段中指定的短消息文本,要么显示作为音讯的任何文本。

以下是可用的变体:

  1. 如果没有指定RAISING或INTO中的任何一个,语句MESSAGE将中断程序流并发送音讯。该语句MESSAGE的根本模式的确切行为(即文本如何显示以及在MESSAGE语句之后程序流如何持续)取决于在msg或text中指定的音讯类型,并且与上下文相干。
  2. 语句MESSAGE应用RAISING补充在函数模块或办法中触发非基于类的异样。如果未解决该异样,音讯将以与未指定RAISING 补充时雷同的形式发送。
  3. 如果指定了INTO补充,程序流不会被中断,而是将音讯的短文本调配给一个字段。

MESSAGE 关键字执行后对应零碎变量的值:
sy-msgid:在发送音讯后,蕴含音讯类别,并在发送任何文本后蕴含值"00"。
sy-msgno:在发送音讯后,蕴含音讯编号,并在发送任何文本后蕴含值"001"。
sy-msgty:蕴含发送音讯或文本时应用的音讯类型的标识符。
sy-msgv1到sy-msgv4:在发送音讯后,按程序蕴含在WITH补充后指定的数据对象的内容。在发送任何文本后,蕴含数据对象文本的前200个字符。

未应用 RAISING 或 INTO中的任何一个补充发送的音讯是与用户进行交互的一种形式。除了类型为"X"的音讯外,语句MESSAGE 应该仅在示意逻辑层中应用,而不应在应用逻辑层中应用。

如果应用SET LOCALE语句设置了文本环境,则显示音讯的语言将疏忽此设置。

当应用 DISPLAY LIKE dtype 变式时,当应用此补充时,将显示dtype中指定的音讯类型的图标,而不是关联的图标。dtype预期是一个相似字符的数据对象,其中蕴含大写字母"A"、"E"、"I"、"S"或"W"中的一个值。

对于默认显示在对话框中的音讯,短文本依然会作为对话框显示。如果dtype蕴含"A"或"I",则类型为"E"或"W"的音讯(除了PBO和LOAD-OF-PROGRAM的音讯)将显示为对话窗口。类型为"S"的音讯始终显示在状态栏中,与dtype无关。对于PBO和LOAD-OF-PROGRAM的类型为"I"的音讯也是如此。类型为"X"的音讯总是会引发运行时谬误。