尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

MOVE_CORRESPONDING_ITAB

MOVE_CORRESPONDING_ITAB
📅 发布时间:2026/6/19 21:32:42

使用MOVE-CORRESPONDING时可以通过KEEPING TARGET LINES实现追加而不是覆盖。
SAP 的实例Demo

REPORT demo_move_corresponding_itab. CLASS demo DEFINITION. PUBLIC SECTION. CLASS-METHODS main. PRIVATE SECTION. TYPES: c3 TYPE c LENGTH 3, BEGIN OF iline1, col1 TYPE c3, col2 TYPE c3, END OF iline1, BEGIN OF iline2, col2 TYPE c3, col3 TYPE c3, END OF iline2, BEGIN OF line1, col1 TYPE c3, col2 TYPE c3, col3 TYPE STANDARD TABLE OF iline1 WITH EMPTY KEY, END OF line1, BEGIN OF line2, col2 TYPE c3, col3 TYPE STANDARD TABLE OF iline2 WITH EMPTY KEY, col4 TYPE c3, END OF line2. CLASS-DATA: itab1 TYPE STANDARD TABLE OF line1 WITH EMPTY KEY, itab2 TYPE STANDARD TABLE OF line2 WITH EMPTY KEY, out TYPE REF TO if_demo_output. CLASS-METHODS: fill_tables, display_table1, display_table2. ENDCLASS. CLASS demo IMPLEMENTATION. METHOD main. DATA buffer LIKE itab2. out = cl_demo_output=>new( ). fill_tables( ). out->begin_section( `itab1` ). display_table1( ). out->next_section( `itab2` ). display_table2( ). buffer = itab2. out->begin_section( `MOVE-CORRESPONDING` ). MOVE-CORRESPONDING itab1 TO itab2. display_table2( ). itab2 = buffer. out->next_section( `MOVE-CORRESPONDING KEEPING TARGET LINES` ). MOVE-CORRESPONDING itab1 TO itab2 KEEPING TARGET LINES. display_table2( ). itab2 = buffer. out->next_section( `MOVE-CORRESPONDING EXPANDING NESTED TABLES` ). MOVE-CORRESPONDING itab1 TO itab2 EXPANDING NESTED TABLES. display_table2( ). itab2 = buffer. out->next_section( `MOVE-CORRESPONDING EXPANDING NESTED TABLES ` && `KEEPING TARGET LINES` ). MOVE-CORRESPONDING itab1 TO itab2 EXPANDING NESTED TABLES KEEPING TARGET LINES. display_table2( ). out->display( ). ENDMETHOD. METHOD fill_tables. itab1 = VALUE #( ( col1 = 'a11' col2 = 'a12' col3 = VALUE #( ( col1 = 'a11' col2 = 'a12' ) ( col1 = 'a21' col2 = 'a22' ) ) ) ( col1 = 'b21' col2 = 'b22' col3 = VALUE #( ( col1 = 'b11' col2 = 'b12' ) ( col1 = 'b21' col2 = 'b22' ) ) ) ( col1 = 'c31' col2 = 'c32' col3 = VALUE #( ( col1 = 'c11' col2 = 'c12' ) ( col1 = 'c21' col2 = 'c22' ) ) ) ). itab2 = VALUE #( ( col2 = 'x11' col3 = VALUE #( ( col2 = 'x11' col3 = 'x12' ) ( col2 = 'x21' col3 = 'x22' ) ( col2 = 'x31' col3 = 'x32' ) ) col4 = 'x12' ) ( col2 = 'y21' col3 = VALUE #( ( col2 = 'y11' col3 = 'y12' ) ( col2 = 'y21' col3 = 'y22' ) ( col2 = 'y31' col3 = 'y32' ) ) col4 = 'y22' ) ). ENDMETHOD. METHOD display_table1. DATA: BEGIN OF outl, col1 TYPE c3, col2 TYPE c3, col31 TYPE c3, col32 TYPE c3, END OF outl. DATA output LIKE STANDARD TABLE OF outl WITH EMPTY KEY. LOOP AT itab1 ASSIGNING FIELD-SYMBOL(<wa>). outl-col1 = <wa>-col1. outl-col2 = <wa>-col2. LOOP AT <wa>-col3 ASSIGNING FIELD-SYMBOL(<col3>). outl-col31 = <col3>-col1. outl-col32 = <col3>-col2. IF sy-tabix > 1. CLEAR outl-col1. CLEAR outl-col2. ENDIF. APPEND outl TO output. ENDLOOP. ENDLOOP. out->write( output ). ENDMETHOD. METHOD display_table2. DATA: BEGIN OF outl, col2 TYPE c3, col32 TYPE c3, col33 TYPE c3, col4 TYPE c3, END OF outl. DATA output LIKE STANDARD TABLE OF outl WITH EMPTY KEY. LOOP AT itab2 ASSIGNING FIELD-SYMBOL(<wa>). outl-col2 = <wa>-col2. outl-col4 = <wa>-col4. LOOP AT <wa>-col3 ASSIGNING FIELD-SYMBOL(<col3>). outl-col32 = <col3>-col2. outl-col33 = <col3>-col3. IF sy-tabix > 1. CLEAR outl-col2. CLEAR outl-col4. ENDIF. APPEND outl TO output. ENDLOOP. ENDLOOP. out->write( output ). ENDMETHOD. ENDCLASS. START-OF-SELECTION. demo=>main( ).

结果展示

itab1

OUTPUT
COL1COL2COL31COL32
a11a12a11a12
a21a22
b21b22b11b12
b21b22
c31c32c11c12
c21c22

itab2

OUTPUT
COL2COL32COL33COL4
x11x11x12x12
x21x22
x31x32
y21y11y12y22
y21y22
y31y32

MOVE-CORRESPONDING

OUTPUT
COL2COL32COL33COL4
a12a11a12
a21a22
b22b11b12
b21b22
c32c11c12
c21c22

MOVE-CORRESPONDING KEEPING TARGET LINES(追加)

OUTPUT
COL2COL32COL33COL4
x11x11x12x12
x21x22
x31x32
y21y11y12y22
y21y22
y31y32
a12a11a12
a21a22
b22b11b12
b21b22
c32c11c12
c21c22

MOVE-CORRESPONDING EXPANDING NESTED TABLES(匹配嵌入的对应字段)

OUTPUT
COL2COL32COL33COL4
a12a12
a22
b22b12
b22
c32c12
c22

MOVE-CORRESPONDING EXPANDING NESTED TABLES KEEPING TARGET LINES

OUTPUT
COL2COL32COL33COL4
x11x11x12x12
x21x22
x31x32
y21y11y12y22
y21y22
y31y32
a12a12
a22
b22b12
b22
c32c12
c22

相关新闻

  • 2025安全门窗大型厂家品牌TOP5权威推荐:甄选优质品牌助力家居安全升级 - 工业品牌热点
  • PyTorch-CUDA镜像能否用于水资源管理决策
  • PyTorch-CUDA镜像能否用于体育动作识别分析

最新新闻

  • 大模型接口层三大隐藏能力:记忆锚点、结构化校验与热插拔微调
  • 深圳配眼镜要花多少钱?常见问题逐一解答 - 配眼镜新资讯
  • Kimi K2.5深度解析:多模态原生与蜂群智能体架构
  • 防御Sweet32与POODLE攻击:Nginx/Apache TLS安全配置实战指南
  • QMCDecode解决方案:解锁QQ音乐加密格式,实现音频文件自由播放
  • SCMP报考条件详解——学历和工作经验要求 - 众智商学院课程中心

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号