当前位置: 首页 > news >正文

RAP中的派生变量%说明

1.%msg

是 BDEF 派生类型(Derived Types)的一个组件。它被用作REPORTED响应参数的一个组成部分。

%msg提供了一个消息接口IF_ABAP_BEHV_MESSAGE的实例。如果不需要对该接口进行自定义实现,可以使用继承而来的new_message( )new_message_with_text( )方法来获取标准的实现方案。

通常不需要自己去CREATE OBJECT,而是使用框架提供的工厂方法

1.1 new_message( )

用于从传统的Message Class (SE91)中提取消息

%msg = new_message( id = 'Z_MY_MSG_CLASS' number = '001' severity = if_abap_behv_message=>severity-error v1 = 'Material' )
1.2 new_message_with_text( )

用于直接传递动态生成的文本字符串

%msg = new_message_with_text( text = 'Invalid Quantity!' severity = if_abap_behv_message=>severity-warning )

2.%state_area

是 BDEF 派生类型(Derived Types)的一个组件。它是一个字符串类型(string),用作REPORTED响应参数的一个组成部分,并由RAP BO 提供者(Provider)负责填充

作用:手动失效状态消息,

在 Fiori Elements 应用中,如果对一个字段校验失败,页面会弹出一个错误消息。当修正了数据并再次触发校验时,旧的错误消息需要初始化

%state_area就是用来实现这个“自动清除”逻辑的:

  • 第一步(清理):框架会先寻找所有标记为'VALIDATE_CUSTOMER'的旧消息并将其撤回。

  • 第二步(重报):如果校验再次失败,再重新放入带该标签的新消息。

如果没有这个标签,旧的消息会一直堆积在前端页面上,用户即使改对了也消不掉

使用示例

" 第一步:擦除(手动失效)。通过 %state_area 告诉框架,清空该区域旧的持久化消息 APPEND VALUE #( %tky = travel-%tky %state_area = 'VALIDATE_CUSTOMER' ) TO reported-travel. " 第二步:写入(如果校验失败)。重新填充该区域的消息 IF travel-CustomerID IS INITIAL. APPEND VALUE #( %tky = travel-%tky ) TO failed-travel. APPEND VALUE #( %tky = travel-%tky %state_area = 'VALIDATE_CUSTOMER' %msg = NEW /dmo/cm_flight_messages( textid = /dmo/cm_flight_messages=>enter_customer_id severity = if_abap_behv_message=>severity-error ) %element-CustomerID = if_abap_behv=>mk-on ) TO reported-travel. ENDIF.
http://www.jsqmd.com/news/782907/

相关文章:

  • Hello-Agents 写给想造 Agent 但又怕搞不明白的人
  • 多模态 RAG 不是把 embedding 换成 Qwen3-VL-Embedding 就行:从文本检索仓改到图文混合检索,真正先要改的是这 3 层
  • 我给 MariaDB 装了个“副驾驶”:DBLens for MariaDB
  • CANN/ops-cv算子列表
  • CANN/ops-cv三维上采样反向算子
  • CANN/pypto 填充操作
  • CANN设备运行时事实
  • 泰山派3M-RK3576-Ai应用-YOLO11-分割模型
  • CANN融合因果一维卷积算子
  • 华为通信/CANN hcomm查询拓扑信息
  • CANN/hcomm通信操作API文档
  • Graph-autofusion super_kernel极简示例
  • 如何快速掌握大气层系统:从新手到专家的终极指南
  • 构建基于Python与机器学习的智能客服
  • 如何高效准确实现表面测温
  • AFSIM 5.3.1在Visual Studio 2015下的详细配置步骤
  • CANN/SHMEM快速使用指南
  • 企业内如何通过Taotoken实现AI模型调用的统一审计与风控
  • ECU-TEST 测试报告自动上传(含代码实现)
  • CANN/ge C++ ES API兼容性设计
  • 可解释AI(XAI)实践指南:从模型透明到业务可信
  • 网盘直链下载助手:九大主流网盘免登录高速下载解决方案
  • 离海数百公里,他们为孩子造了一片“海”
  • 长期使用Taotoken服务在API延迟与稳定性方面的实际感受分享
  • cann/cannbot-skills Kernel定义内存分配
  • CANN/ops-cv NMS掩码算子
  • AI应用上线前必做的5项安全验证:基于SITS2026标准的CI/CD嵌入式检测清单
  • 2026年北京全屋高端定制现代简约风格公司测评与选型指南
  • 泰山派3M-RK3576-系统开发与编译-Buildroot系统-编译内核
  • CANN运行时资源限制内核加载示例