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

ABAP 新语法 - corresponding

在 ABAP 中,CORRESPONDING 操作符用于根据字段名称自动映射结构体(Structure)或内表(Internal Table)的字段值。它比传统的 MOVE-CORRESPONDING 语句更灵活,支持更多控制选项。

基础用法

data: begin of ls_person,
        name type string,
        age  type i,
      end of ls_person.

data: begin of ls_target,
        name type string,
        age  type i,
      end of ls_target.

ls_person-name = 'John'.
ls_person-age = 18.

ls_target = corresponding #( ls_person ).
write: / ls_target-name, ls_target-age.
  • 功能:将 source 中与 target 同名字段的字段值复制到 target
  • 要求:源和目标字段名称相同且类型兼容。

高级用法

  1. MAPPING 子句用于字段名称不同时的显式映射。
target = CORRESPONDING #( source MAPPING target_field = source_field ... ).

示例:

data: begin of ls_source,
        firstname type string,
        birthdate type d,
      end of ls_source.

data: begin of ls_target,
        name type string,
        dob  type d,
      end of ls_target.

ls_source-firstname = 'Alice'.
ls_source-birthdate = '19900101'.

ls_target = corresponding #( ls_source mapping name = firstname dob = birthdate ).
write: / ls_target-name, ls_target-dob.

2. EXCEPT 子句排除不需要映射的字段。

target = CORRESPONDING #( source EXCEPT field1 field2 ... ).

3. BASE 子句保留目标变量的现有值,仅覆盖映射的字段。

target = CORRESPONDING #( BASE (target) source ).

示例:

data: begin of ls_source,
        firstname type string,
        birthdate type d,
      end of ls_source.

data: begin of ls_target,
        name type string,
        dob  type d,
      end of ls_target.

ls_source-firstname = 'Alice'.
ls_source-birthdate = '19900101'.

ls_target-name = 'Bob'.
ls_target-dob = '20000101'.

" name = 'Alice'(覆盖),dob = '20000101'(保留)
ls_target = corresponding #( BASE ( ls_target ) ls_source mapping name = firstname ).
write: / ls_target-name, ls_target-dob.

与 MOVE-CORRESPONDING 的区别

相关文章:

  • 基于混合模型的三步优化框架在人形机器人跳跃运动中的应用
  • 代码随想录算法训练营--打卡day6
  • Unity检索一个物体下所有的子物体,包括未激活
  • EM算法到底是什么东东
  • 编程哲学——TCP可靠传输
  • 人工智能-小说动漫AIGC文生图模型
  • STM32单片机入门学习——第20节: [6-8]编码器接口测速
  • Python 实现的运筹优化系统代码详解(0-1规划背包问题)
  • API调用类型全面指南:理解基础知识
  • ARM-UART
  • 光谱相机在工业中的应用
  • 在云服务器上搭建数据可视化平台:Metabase 安装与部署全流程实战
  • Spring基础二(依赖注入、自动装配)
  • Transformer原理及知识体系大纲
  • 2011-2019年各省地方财政商业服务业等事务支出数据
  • OpenGL学习笔记(颜色、基础光照)
  • 问题1:Sinal 4在开启PAC检查的设备崩溃
  • 大数据系列之:Kerberos
  • 【前端】Node.js一本通
  • 成本管理计划中的精确度、准确度代表的分别是什么?
  • 网站制作学习网站/互联网哪个行业前景好
  • 重庆网站seo方法/网站seo检测工具
  • 建设银行官方网站个人系统板块修改/搜索推广
  • 开源wiki做网站/seo优化排名服务
  • 东莞常平新楼盘有哪些/重庆网站优化
  • 效果图网站有哪些/seo官网优化