ABAP 对内表的操作(增删改读及alv双击读取数据)
对内表操作: 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 spmon = '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 FROM wa_S001 INTO wa_S001. "读取内表符合条件的字段入工作区,如果有多条,则取不到值sy-subrc返回4
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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix