https://www.cnblogs.com/wh-cnblogs/p/15989485.html
对内表操作: gt开头为内表(gt_zav,gt_S001) , wa 开头为工作区 (wa_zav,wa_S001)
*修改
*MODIFY TABLE gt_zav FROM wa_zav. "修改整行
*MODIFY TABLE gt_zav FROM wa_zav TRANSPORTING carrid. "修改某行的一个字段
*MODIFY gt_S001 FROM wa_S001 INDEX 1. "根据下标修改整行
*MODIFY gt_S001 FROM wa_S001 INDEX 1 TRANSPORTING spmon. "根据下标修改一行某个字段
*MODIFY gt_S001 FROM wa_S001 TRANSPORTING spmon where pmon = ‘199701’. "根据条件修改多行符合条件的
*删除
*DELETE TABLE gt_zav from wa_zav."删除一条
*DELETE gt_zav WHERE carrid = ‘1’. "根据条件删除多条
*DELETE gt_zav FROM 5 TO 10. "删除5到10
*DELETE gt_zav FROM 5. "除5以后的
*DELETE gt_zav TO 10. "除开始到第十条的
*插入 (如果带表头的表,或者内标和工作区同名,这可以用隐式插入,不需要什么工作区INTO到什么表)
*Append xx" 带表头 插入到表最后一行
*APPEND 工作区 TO 内表 "不带表头 插入到表最后一行
*APPEND LINES OF gt_S002 TO gt_S001. "将gt_S002 表所有数据插入gt_S001 表的表尾巴
*APPEND LINES OF gt_S002 FROM 2 TO 4 TO gt_S001. "将 gt_S002表的2到4行插入 gt_S001表的表尾巴
*COLLECT wa_S001 INTO gt_S001. "所有字段不同插入表尾,所有字段相同,只有数值字段不同则数字字段汇总,变为一条数据
*INSERT wa_S001 INTO TABLE gt_S001. "插入一条到表尾
*INSERT wa_S001 INTO gt_S001 INDEX 3 . " 插入一条数据至下标行
*INSERT LINES OF gt_S002 INTO TABLE gt_S001. "将gt_S002 表所有数据插入 gt_S001表的表尾巴
*INSERT LINES OF gt_S002 FROM 2 TO 4 INTO TABLE gt_S001. " 将gt_S002表的2到4行插入gt_S001表的表尾巴
*注:使用 INSERT 时,如果表内已存在唯一主键 ,则sy-subrc 会返回4 ,但不会 dump error,反之sy-subrc会返回 0
*读取(读取内表数据 read 是根据 key取整个表里查,所以 read 得表不用在循环了; 带表头和工作区域表名一致的可以省略 into 后语句,读取成功sy-subrc 返回 0 ,否则返回4)
*读取内表
READ TABLE gt_S001 INTO wa_S001 WITH KEY matnr = ‘PC_SERVICE_A’. "读取内表符合条件的字段入工作区,如果有多条,取内表符合的第一条sy-subrc 返回0
READ TABLE gt_S001 INTO wa_S001 WITH KEY matnr = ‘PC_SEVICE_A’. 读取内表符合条件的字段入工作区,如果有多条,取内表符合的第一条 sy-subrc返回 0
READ TABLE gt_S001 INTO wa_S001 INDEX 1. "读取内表下标为x 的放入工作区
READ TABLE gt_S001 WITH TABLE KEY 字段 = ‘xxxx’ 字段 = ‘xxx’ INTO wa_S001. "这必须key的键值条件写全,否则报错缺少表xx的键值primary_key 的组件 字段说明…
READ TABLE 内表 into 工作区
*备注:
读取alv双击的下标放入工作区 (注: rs_selfield TYPE slis_selfield.)
READ TABLE 内表 INTO DATA(工作区) INDEX rs_selfield-tabindex
*获取点击的字段的值
rs_selfield-fieldname