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

MOVE_CORRESPONDING_ITAB

使用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
http://www.jsqmd.com/news/159392/

相关文章:

  • PyTorch-CUDA-v2.7镜像在法律文书生成中的探索
  • 自动扫描器遗漏的手动SQL注入技巧
  • 关于转行网络安全的一些建议!!千万不要盲目转行
  • 2025安全门窗大型厂家品牌TOP5权威推荐:甄选优质品牌助力家居安全升级 - 工业品牌热点
  • PyTorch-CUDA镜像能否用于水资源管理决策
  • 2025年靠谱的静音脚轮/脚轮行业内知名厂家排行榜 - 品牌宣传支持者
  • TinyMCE导入pdf支持书签目录结构解析
  • AI搜索营销新利器,GEO贴牌代理实现品牌高效转化 - 源码云科技
  • PyTorch-CUDA-v2.7镜像在气候模拟预测中的尝试
  • 7. 网络安全-等保
  • 2025合肥桥架/托盘式桥架/槽式桥架/防火桥架行业全景分析:技术迭代下的选型革命与领军者解码 - 2025年品牌推荐榜
  • 2025年口碑好的GEO服务商/GEO公司行业领先榜 - 品牌宣传支持者
  • PyTorch-CUDA镜像能否用于体育动作识别分析
  • 期末画图
  • 2025年最新低烟无卤阻燃电缆优选TOP5:陕纵缆领衔,实力派厂家全解析 - 深度智识库
  • 计算机毕业设计springboot基于BS的旅店信息管理系统 SpringBoot 驱动的 Web 端旅店综合业务平台 基于浏览器/服务器架构的客栈智慧运营系统
  • 2025年热门的环保选煤设备厂家实力及用户口碑排行榜 - 品牌宣传支持者
  • GPUStack Windows(WSL2)部署指南
  • 2025年金山附近优秀的家装工作室有哪些,法式软装设计/法式室内设计/新中式软装设计/新中式精装房设计,家装工作室有哪些 - 品牌推荐师
  • 【2025年推荐】NanoBananaPro 生图|如何用 poloapi.top 中转一键调用 - poloapi-ai大模型
  • TinyMCE5支持信创系统excel数据绑定功能
  • Pinia 实战:志愿填报系统全局数据管理核心流程
  • 2025年热门的电缆硅橡胶厂家最新热销排行 - 品牌宣传支持者
  • vue3大文件上传组件的信创环境适配与优化
  • 国产沐浴露十大品牌推荐!女性痘肌专用款,长青泉中药植萃,控油祛痘获权威认可 - 博客万
  • 2025年长三角屏蔽袋优质服务厂家排名:镀铝屏蔽袋厂家TOP5推荐 - myqiye
  • 元旦节直播物料如何筹备?现成模板+必选道具,直接抄作业
  • PyTorch-CUDA镜像对建筑能耗模拟的帮助
  • PyTorch-CUDA镜像能否运行LangChain框架
  • 2025年口碑不错的气体探测器正规供应商推荐,气体探测器实力厂商全解析 - mypinpai