首页 > 其他分享 >ABAP MESSAGE 关键字的使用方法

ABAP MESSAGE 关键字的使用方法

时间:2023-06-22 10:12:11浏览次数:36  
标签:sy dtype 发送 关键字 ABAP 消息 MESSAGE 文本

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"的消息总是会引发运行时错误。

标签:sy,dtype,发送,关键字,ABAP,消息,MESSAGE,文本
From: https://www.cnblogs.com/sap-jerry/p/17497523.html

相关文章

  • 什么是 ABAP 的 Message Class,Message Number 和 Message Text 试读版
    ABAP编程语言里的Message(消息)是SAP产品里及其重要的一个概念,因为Message是SAP应用在运行过程中,向终端用户提供运行反馈的最重要的交互渠道之一。当用户使用SAP产品过程中,如果遇到各种错误或者提示消息,会根据这些消息,查询文档或者咨询SAP支持人员,以获得下一步的操作......
  • C++面试八股文:了解auto关键字吗?
    C++面试八股文:了解auto关键字吗?某日二师兄参加XXX科技公司的C++工程师开发岗位第15面:面试官:了解auto关键字吗?二师兄:嗯,了解一些(我很熟悉)。面试官:说一说auto的用法吧?二师兄:auto主要是为了编译器进行类型推导。比如:autoi=42; //i被推导位int型std::vector<int>vi......
  • Linux 如何在 vi 里搜索关键字
    当你用vi打开一个文件后,因为文件太长,如何才能找到你所要查找的关键字呢? 在vi里可没有菜单-〉查找 不过没关系,你在命令模式下敲斜杆(/)这时在状态栏(也就是屏幕左下脚)就出现了“/”然后输入你要查找的关键字敲回车就可以了。 如果你要继续查找此关键字,敲字符n就可以继续查找......
  • Go语言中的defer关键字
    在Go语言中,defer关键字是一个独特而强大的特性,它可以将代码块推迟到函数返回之前执行。这种机制可以用于资源的释放、错误处理、性能优化等多种场景。本文将详细介绍defer的用法和工作原理,并通过实际示例来展示其在不同情况下的应用。defer的基本用法在Go语言中,使用defer关键字......
  • Const 关键字 与指针
    Const关键字与指针发表于2007年04月29日由不及格的程序员-八神星期一天气:晴 使用指针会涉及到两个对象一个是指针本身,另一个是它指向的对象.将指针声明为const就使对象为常量而不是指针为常量;例如:constchar*p="asdf";//指向常量的指针p[2]=‘d’; /......
  • ChatGPT的ABAP能力如何?
    ChatGPT是最近的热门话题,作为语言模型,它擅长处理各种语言相关的问题。显然,ABAP也是一种语言,ABAP开发者的很大一部分工作就是把自然语言和ABAP语言做互相转换,这应该也是在ChatGPT的擅长范畴内。那么ChatGPT能做好ABAP开发者的工作吗?本文记录了我的一些使用经验和感想。1,模拟场景:物......
  • Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[2,6] Me
     报错如下:Causedby:javax.xml.stream.XMLStreamException:ParseErrorat[row,col]:[2,6]Message:不允许有匹配"[xX][mM][lL]"的处理指令目标。原因:xml第一行为空行,所以报错 需要将<?xmlversion="1.0"encoding="utf-8"?>放在第一行即可解决问题  ......
  • C++ 关键字四种cast类型转换
    1.23四种cast类型转换作用:克服c中强制类型转化带来的风险,C++引入四种更加安全的强制类型转换运算符(明确转换的目的,偏于程序的维护和分析)const_cast://1.去除const属性,将只读变为只读写//2.针对常量指针、常量引用和常量对象constchar*p;char*p1=const_cast<char*>(p......
  • 每日一个 ChatGPT 使用小技巧系列之2 - 用 ChatGPT 研读 SAP ABAP BAPI 的实现源代码
    本系列之前的文章:与其整天担心AI会取代程序员,不如先让AI帮助自己变得更强大每日一个ChatGPT使用小技巧系列之1-给出提纲或者素材,让ChatGPT帮你写作正好昨天有朋友向我发起知乎咨询,询问关于SAPABAPBAPIbapi_vendor_create的使用问题,本文就来说一说:bapi_......
  • 将 SAP ABAP 数据库表里存储的文件二进制内容下载成为本地文件试读版
    在SAP标准产品和实际项目开发中,经常遇到一些需要将尺寸不大的文件(比如小于1MB的配置文件)的二进制内容,存储到ABAP数据库的情况。比如笔者的SAPOData开发教程里这篇文章,下图代码第17行,使用ABAPOPENSQL将变量ls_file_db的值,插入到数据库表zfile里:下图是数据库......