ABAP 内表操作备忘 刘欣
关于ABAP 内表操作备忘,博主会把平时使用的例句,都统统记录到这个文档里:
"--------定义内表(2步法)-----------
"定义结构体
TYPES: BEGIN OF ty_flight,airline_id TYPE i,airline_name(20) TYPE c,flight_number TYPE i,END OF ty_flight."定义内表
DATA gt_flight TYPE TABLE OF ty_flight.
"--------定义内表3步法------------
"1、定义结构体
TYPES: BEGIN OF ty_tank,airline_id TYPE i,airline_name(20) TYPE c,flight_number TYPE i,END OF ty_tank."2、依照结构体,定义标准表,(定义不唯一的默认主键 airline_id)
TYPES ty_tab_tank TYPE STANDARD TABLE OF ty_tank WITH NON-UNIQUE KEY airline_id."3、依照结构体类型,定义内表
DATA gt_tank TYPE ty_tab_tank.
"--------定义一行结构体------------
"定义结构体
TYPES: BEGIN OF ty_shop,airline_id TYPE i,airline_name(20) TYPE c,flight_number TYPE i,END OF ty_shop."一行结构体变量
DATA gs_shop TYPE ty_shop.
"--------内表删除(循环中删除满足条件的一行自己)------------
loop at gt_log into data(gs_log)."内表删除这一行,这里不能调用RFC,否在SY-TABIX会改变为1DELETE gt_log INDEX SY-TABIX."内表删除这一行,这个方法更好DELETE gt_log .endloop.
"--------内表修改(循环中修改满足条件的一行里的字段)------------
LOOP AT gt_excel ASSIGNING FIELD-SYMBOL(<fs>).满足条件: <fs>-pichi = '1111'.
ENDLOOP.变量再次使用:
LOOP AT gt_excel ASSIGNING <fs>.<fs>-pichi = '2222'.
ENDLOOP.
"-------内表附加(需要建一个临时表,添加全部数据到临时表)-----------
APPEND LINES OF GT_temp to GT_TABLE.
"--------内表修改(循环中增加了其它内表的行数)------------
LOOP AT gt_JH1 INTO gs_JH1.READ TABLE gt_XJDCKC WITH KEY MATNR = gs_JH1-MATNR INTO DATA(gs_XJDCKC).IF sy-subrc <> 0.wa_XJDCKC-QCKCSL = 0.wa_XJDCKC-THSL = 0.wa_XJDCKC-MATNR = gs_JH1-MATNR.wa_XJDCKC-JHSL = gs_JH1-JHSL.APPEND wa_XJDCKC TO gt_XJDCKC .ENDIF.ENDLOOP.
"--------内表汇总(汇总逻辑261为正,262为负数,最后汇总数量)------------
LOOP AT GT29 ASSIGNING FIELD-SYMBOL(<fs29>) .IF <fs29>-BWART = '262'.<fs29>-BWART = 261.<fs29>-ERFMG = <fs29>-ERFMG * -1.ENDIF.COLLECT <fs29> INTO GTCOLLECT.ENDLOOP.
"--------RANGE表和结构-------
RANGE变量直接定义:
DATA R_TEST TYPE RANGE OF CAUFV-AUFNR WITH HEADER LINE.创建一个选择表,For 后面字段必须为参考表的字段,不能使用 Data Element 来定义.
RANGES R_TEST FOR dobj [OCCURS n] 定义一个RANGE变量来源于屏幕选择变量的定义:
data rs_matnr like line of s_matnr.在RANGE中新增数据行:
LOOP AT GT_JH1 INTO DATA(GS162).if GS162-sobkz is initial.rs_matnr-sign = 'I'. rs_matnr-option = 'EQ'. rs_matnr-low = GS162-matnr.append rs_matnr to s_matnr.endif.
ENDLOOP.将选择表转换为 Range,因为如果选择表的LOW和HIGH字段一致,可以直接转:
APPEND LINES OF s_werks TO range_werks.
"--------从右边截取字符-------
DATA GV(12) TYPE C VALUE '12345678acbd'.write: gv+8(4).
显示输出 abcd
ABAP 内表操作备忘 刘欣相关推荐
- ABAP~ 内表操作
内表是每个ABAP开发人员都必须懂的,数据从R3取出来后,就是放在内表里处理的,其实就是Java中的集合框架,只是没有那么多不同数据结构的内表,目前只有标准.排序.Hash三种,这还是新的语法,老的只 ...
- SAP ABAP实用技巧介绍系列之反模式:一些低效的ABAP内表操作
Created by Jerry Wang, last modified on Jun 15, 2015 Why is this message raised? From SAP help, we k ...
- ABAP内表在ABAP 740后支持的filter操作
ABAP内表和Java的Array一样,都是面向过程编程时代的产物.最近Jerry手头的工作,经常需要和Java Array对象化之后的集合类型和Java 8推出的流式API打交道.图一这种filte ...
- abap内表的操作汇总
abap内表是abap开发中最常用的工具之一 这里总结一个常用的一些操作,以后可以直接复制使用 1,定义 参考字段定义 DATA:BEGIN OF i_list OCCURS 0 , matnr ...
- SAP abap内表分类与增删改查操作
SAP abap内表分类与增删改查操作 1.内表的分类 1.1.标准表 (standard table ) 系统为该表每一行生成一个院级索引.填表是可以将数据附加在现有行之后,也可以插入到指定的位置, ...
- ABAP 7.4 新语法-内嵌生命和内表操作
1.内嵌声明 2.内表操作 3.opensql *&---------------------------------------------------------------------* ...
- SAP ABAP 内表使用
SAP里面主要有三处类型的内表:standard table,sorted table,hashed table 定义语法:TYPES|DATA itab {TYPE|LIKE} tabkind OF ...
- 【转】ABAP内表数据和JSON格式互转
本程序演示ABAP内表数据如何转为JSON格式, 以及JSON数据如何放入内表. REPORT ZTEST005. DATA : JSON_SER TYPE REF TO CL_TREX_JSON_S ...
- 上传EXCEL到ABAP内表
上传EXCEL到ABAP内表 将EXCEL文件上载到内表两种方式: 一.直接将excel数据读入具有相同结构的内表 二.将excel数据读入一个行号,列号,值组成的内表,然后通过指针将数据读到与exc ...
- ABAP内表数据和JSON格式互转
本程序演示ABAP内表数据如何转为JSON格式,以及JSON数据如何放入内表. 注:json字符串格式如:jsonstr = '[ {flag: "0",message: &quo ...
最新文章
- php微信扫码支付报错,(转)微信调用扫码和支付功能是都报错 the permission value is offline verifying...
- thinkphp-比较标签-eq
- 趣图:只有程序员才能看懂这个疫情号召
- 苹果,把充电器还给我们!京沪法学生状告苹果公司欺诈
- reverse-nodes-in-k-group
- Express初级学习
- study - 收藏集 - 掘金
- 计算机系统的性能建模与设计 排队论实战,计算机系统的性能建模与设计:排队论实战(计算机科学丛书)...
- 新浪云sae springboot项目部署
- BugKu -- AWD --S1排位赛-4
- 【面试】数据仓库面试经验总结
- Flume安装部署,采集方案配置文件编写案例,启动agent采集数据
- 插入式隔离器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 为什么数据库具有很高的独立性
- CA证书的签发流程详情
- macOS下 wacom “安全设置阻止Wacom软件发布事件”错误的解决方法
- Android 虚拟按键隐藏或显示之后共享元素动画异常解决方案
- 利用citrix xenapp and xendesktop建立你的云桌面
- vue-admin-beautiful-pro源码、vue admin pro、vue admin plus 基于element-plus的vue3.0 admin前端框架
- 微信小程序开发之官方文档学习(一)