ABAP 内表修改 MODIFY 和 MODIFY table 的区别
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 的区别相关推荐
- ABAP~ 内表操作
内表是每个ABAP开发人员都必须懂的,数据从R3取出来后,就是放在内表里处理的,其实就是Java中的集合框架,只是没有那么多不同数据结构的内表,目前只有标准.排序.Hash三种,这还是新的语法,老的只 ...
- abap内表的操作汇总
abap内表是abap开发中最常用的工具之一 这里总结一个常用的一些操作,以后可以直接复制使用 1,定义 参考字段定义 DATA:BEGIN OF i_list OCCURS 0 , matnr ...
- SAP abap内表分类与增删改查操作
SAP abap内表分类与增删改查操作 1.内表的分类 1.1.标准表 (standard table ) 系统为该表每一行生成一个院级索引.填表是可以将数据附加在现有行之后,也可以插入到指定的位置, ...
- 【转】ABAP内表数据和JSON格式互转
本程序演示ABAP内表数据如何转为JSON格式, 以及JSON数据如何放入内表. REPORT ZTEST005. DATA : JSON_SER TYPE REF TO CL_TREX_JSON_S ...
- ABAP内表数据和JSON格式互转
本程序演示ABAP内表数据如何转为JSON格式,以及JSON数据如何放入内表. 注:json字符串格式如:jsonstr = '[ {flag: "0",message: &quo ...
- 上传EXCEL到ABAP内表
上传EXCEL到ABAP内表 将EXCEL文件上载到内表两种方式: 一.直接将excel数据读入具有相同结构的内表 二.将excel数据读入一个行号,列号,值组成的内表,然后通过指针将数据读到与exc ...
- ABAP内表在ABAP 740后支持的filter操作
ABAP内表和Java的Array一样,都是面向过程编程时代的产物.最近Jerry手头的工作,经常需要和Java Array对象化之后的集合类型和Java 8推出的流式API打交道.图一这种filte ...
- ABAP内表(internal table)有关的系统变量
SY-TABIX – 内表当前行的索引号.SY-TABIX 的值可以被以下命令修改,但是只适用于索引表(index table).对于哈希表(Hashed table),这个系统变量的值为空或0. A ...
- SAP ABAP 内表使用
SAP里面主要有三处类型的内表:standard table,sorted table,hashed table 定义语法:TYPES|DATA itab {TYPE|LIKE} tabkind OF ...
最新文章
- .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
- B 站 Up 主自制秃头生成器,独秃头不如众秃头?
- Cobbler部署指南之Cobbler安装操作系统篇
- reduction_indices的用法
- 在win10上使用Vmware安装Mac OS
- 25 人以下,免费!
- [No0000143]Win10“卓越性能模式”
- win8内置管理员用户无法激活此应用
- Magisk 安装error
- 怎么把视频压缩到最小的详解
- oracle不兼容win7 64位系统,解决oracle数据库在win7 64位操作系统下无法安装问题
- python +高德地图API调用
- WEBVTT字幕格式转SRT
- mysql通用精确计算年龄方式
- 【SpringBoot2—junit5断言、前置条件】
- 2022 年山东省职业院校技能大赛“中职组” 网络搭建与应用赛项
- Ubuntu16.04安装和开机卡在Ubuntu的logo上的解决办法(附加一个Ubuntu的截图工具)
- 机器学习入门(03)— 激活函数分类(阶跃函数和 sigmoid 函数的理论、实现、显示以及区别、非线性函数、ReLU 函数、tanh 函数)
- es模糊查询与精准查询混用、距离排序、返回距离
- 【PMSM】一. 经典电流环、速度环设计(上)