MODIFY table gt_intable FROM gs_intable.

MODIFY gt_intable FROM gs_intable.

对于内表修改命令,MODIFY 与 MODIFY table的区别:

MODIFY table 

1、是出现在LOOP外对内表的修改;

2、有一个前提是该内表的定义一定要有主键,如果没有,该语句不能成功。

3、排序表和散列表的主表键是只读的,不能修改。

4、sy-tabix系统变量无关。

5、利用工作区只能修改一行数据。MODIFY table gt_intable FROM gs_intable.

MODIFY 

1、没有主键的内表可以使用该语句。MODIFY gt_intable FROM gs_intable

2、如果不带WHERE条件,只能出现在LOOP中。

3、带WHERE条件,在LOOP外可以处理满足条件的多条数据。

MODIFY  gt_intable FROM gs_intable TRANSPORTING a WHERE id = 10.

上面的办法太麻烦,还有很多限制,好吧,用FS来修改内表,又快又简单:

LOOP AT gt_alv ASSIGNING FIELD-SYMBOL(<fs_alv>) WHERE SELXXX eq 'X' .

<fs_alv>-LES_DEL = 'X'."内表更新
UPDATE ZTSD0010 SET LES_DEL = 'X' WHERE ID = <fs_alv>-ID. "透明表更新

ENDLOOP.

COMMIT WORK AND WAIT.

调试例子代码:

REPORT ZJAMES020.

TYPES: BEGIN OF ty_intable,
        id TYPE i ,
        a(10),
    END OF ty_intable.

DATA gt_intable TYPE TABLE  OF ty_intable." WITH NON-UNIQUE KEY id.
DATA gs_intable TYPE ty_intable.

DO 500 TIMES.

gs_intable-id = 10."gs_intable-id + 1.
gs_intable-a = 'something'.

APPEND gs_intable TO gt_intable.

ENDDO.

*
*LOOP AT gt_intable INTO gs_intable.*
*
*  IF gs_intable-id = 10.
*
*    gs_intable-a = 'xxxxx'.
*
*   " MODIFY table gt_intable FROM gs_intable.
*
*  ENDIF.*
*
*ENDLOOP.

gs_intable-id = 10.
gs_intable-a = 'xxxxx'.

MODIFY  gt_intable FROM gs_intable TRANSPORTING a WHERE id = 10.
"MODIFY  gt_intable FROM gs_intable.

cl_demo_output=>display( gt_intable ).

ABAP 内表修改 MODIFY 和 MODIFY table 的区别相关推荐

  1. ABAP~ 内表操作

    内表是每个ABAP开发人员都必须懂的,数据从R3取出来后,就是放在内表里处理的,其实就是Java中的集合框架,只是没有那么多不同数据结构的内表,目前只有标准.排序.Hash三种,这还是新的语法,老的只 ...

  2. abap内表的操作汇总

    abap内表是abap开发中最常用的工具之一 这里总结一个常用的一些操作,以后可以直接复制使用 1,定义 参考字段定义 DATA:BEGIN OF i_list OCCURS 0 ,   matnr ...

  3. SAP abap内表分类与增删改查操作

    SAP abap内表分类与增删改查操作 1.内表的分类 1.1.标准表 (standard table ) 系统为该表每一行生成一个院级索引.填表是可以将数据附加在现有行之后,也可以插入到指定的位置, ...

  4. 【转】ABAP内表数据和JSON格式互转

    本程序演示ABAP内表数据如何转为JSON格式, 以及JSON数据如何放入内表. REPORT ZTEST005. DATA : JSON_SER TYPE REF TO CL_TREX_JSON_S ...

  5. ABAP内表数据和JSON格式互转

    本程序演示ABAP内表数据如何转为JSON格式,以及JSON数据如何放入内表. 注:json字符串格式如:jsonstr = '[ {flag: "0",message: &quo ...

  6. 上传EXCEL到ABAP内表

    上传EXCEL到ABAP内表 将EXCEL文件上载到内表两种方式: 一.直接将excel数据读入具有相同结构的内表 二.将excel数据读入一个行号,列号,值组成的内表,然后通过指针将数据读到与exc ...

  7. ABAP内表在ABAP 740后支持的filter操作

    ABAP内表和Java的Array一样,都是面向过程编程时代的产物.最近Jerry手头的工作,经常需要和Java Array对象化之后的集合类型和Java 8推出的流式API打交道.图一这种filte ...

  8. ABAP内表(internal table)有关的系统变量

    SY-TABIX – 内表当前行的索引号.SY-TABIX 的值可以被以下命令修改,但是只适用于索引表(index table).对于哈希表(Hashed table),这个系统变量的值为空或0. A ...

  9. SAP ABAP 内表使用

    SAP里面主要有三处类型的内表:standard table,sorted table,hashed table 定义语法:TYPES|DATA itab {TYPE|LIKE} tabkind OF ...

最新文章

  1. .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  2. B 站 Up 主自制秃头生成器,独秃头不如众秃头?
  3. Cobbler部署指南之Cobbler安装操作系统篇
  4. reduction_indices的用法
  5. 在win10上使用Vmware安装Mac OS
  6. 25 人以下,免费!
  7. [No0000143]Win10“卓越性能模式”
  8. win8内置管理员用户无法激活此应用
  9. Magisk 安装error
  10. 怎么把视频压缩到最小的详解
  11. oracle不兼容win7 64位系统,解决oracle数据库在win7 64位操作系统下无法安装问题
  12. python +高德地图API调用
  13. WEBVTT字幕格式转SRT
  14. mysql通用精确计算年龄方式
  15. 【SpringBoot2—junit5断言、前置条件】
  16. 2022 年山东省职业院校技能大赛“中职组” 网络搭建与应用赛项
  17. Ubuntu16.04安装和开机卡在Ubuntu的logo上的解决办法(附加一个Ubuntu的截图工具)
  18. 机器学习入门(03)— 激活函数分类(阶跃函数和 sigmoid 函数的理论、实现、显示以及区别、非线性函数、ReLU 函数、tanh 函数)
  19. es模糊查询与精准查询混用、距离排序、返回距离
  20. 【PMSM】一. 经典电流环、速度环设计(上)

热门文章

  1. PV操作详解(附详细例题解析和总结)
  2. 计算机名无法更改成中文,电脑磁盘名无法修改的两种解决方法
  3. 万字长文全解读 | 浅析银行数字化转型之二:打造金融敏捷中心
  4. 艾乐云后台伪装404恶搞页,后台恶搞伪装单页
  5. 北邮在线计算机,北邮在线圆我IT梦
  6. 打开虚拟机时出现不能为虚拟电脑打开一个新任务
  7. 世界首张黑洞照片即将公布
  8. 花开花落花非花、缘起缘灭缘随缘
  9. WMI 入门学习实例
  10. Springboot毕设项目创新创业管理系统1f90rjava+VUE+Mybatis+Maven+Mysql+sprnig)