- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ABAP内表操作
ABAP内表操作ABAP中的内表相当于其他程序设计语言中的二维数组,存储多行结构相同的数据不同于二维数组,内表在创建后,列结构与列数是固定不变的,而行数是动态增长的?内表支持循环对每行数据进行操作,也支持整体操作?内表是具有行和列的表结构,然而,不同于数据库表,内表仅在程序运行期间在内存中存储数据ABAP中有三种内表类型:标准表,哈希表,排序表- ABAP内表数据类型?内表数据对象是实际的内表,可以用数据进行填充?内表数据类型是用于定义内表数据对象的抽象数据类型(ADT)?可以使用的内表数据类型有:?Structure ?数据库表?用户自定义数据类型-ABAP内表声明1TYPES: BEGIN OF line, ?????? field1 TYPE i,?????? field2 TYPE i, ?????? END OF line. 声明一个数据类型DATA: ITAB_WA TYPE(LIKE) line.??? “ 声明一个内表工作区DATA: ITAB TYPE(LIKE) line OCCURS 0.? “ 声明一个无工作区的内表DATA: ITAB TYPE(LIKE) STANDARD TABLE OF line INITIAL SIZE 0.?? “ 声明一个有工作区的内表DATA: ITAB TYPE(LIKE) line OCCURS 0 WITH HEADER LINE. DATA: ITAB TYPE(LIKE) STANDARD TABLE OF line INITIAL SIZE 0 WITH HEADER LINE. 2DATA:? BEGIN OF line, ?????? field1 TYPE i, ?????? field2 TYPE i, ?????? END OF line. * 声明一个line对象,该对象可以作为工作区使用* 用DATA定义的line本身也是一个结构类型,也可再声明一个工作区DATA: ITAB_WA TYPE(LIKE) line.?? “ 声明一个工作区DATA: ITAB TYPE(LIKE) line OCCURS 0 WITH HEADER LINE.? “ 声明一个带工作区的内表DATA: ITAB TYPE(LIKE) STANDARD TABLE OF line INITIAL SIZE 0 WITH HEADER LINE . “ 声明一个带工作区的内表3 直接定义内表,这个内表是有工作区的DATA: BEGIN OF ITAB OCCURS 0 ,????? CARR1 LIKE SPFLI-CARRID, ????? CONN1 LIKE SPFLI-CONNID, ????? END OF ITAB. * DATA: ITAB1 TYPE ITAB.(错误的,实践证明,定义出来的什么都不是)。正确方法:ITAB1 TYPE ITAB OCCURS 0.(这样定义后的是一个无工作区的内表)。DATA: ITAB1 LIKE ITAB OCCURS 0 WITH HEADER LINE.? “定义一个带工作区内表4 type ref to 定义内表type ref to 属于ABAP中面向对象的编程。它是定义一个类的对象。5通过数据库表定义data itab1 type table of sflight . “ 定义一个不带内表的工作区data wa1 like line of sflgit? .??? “ 定义一个内表工作区data itab1 type table of sflight with header line . “定义一个带内表的工作区两种内表定义方式的主要区别在于是否有隐式表头行内表是按行进行访问的,然而,程序对内表的行操作不能直接进行,必须使用一种接口来传输,这个接口就是工作区(Work Area)内表操作1、填充内表行append wa to itab?? “不带表头行的填充append itab??????????????? “带隐式表头行的填充2、插入内表行insert wa into itab [INDEX idx]??? “insert itab [INDEX idx ]?????????????????? “隐式表头行插入内表-- 如果没有指定INDEX ,则默认插入到内表最后一行3、读取内表行read itab into wa [INDEX idx]? read itab [INDEX IDX]? 4、修改内表行modify itab from wa [INDEX idx] modify itab [INDEX idx] -- read itab index 3 . -- itab-XX = ‘xxx’ . --
您可能关注的文档
最近下载
- 急诊与灾难医学-第二十二章 人为灾难的医学救援.pptx
- 030904《项目实施进度里程碑确认单》.xlsx VIP
- 治疗篇第六章骨伤科四肢病证推拿讲解.ppt
- 2025年广西机场管理集团有限责任公司人员招聘笔试备考题库及答案解析.docx
- 七年级下册英语课件Unit 3《Keep Fit》(Section A 1a-1d).pptx VIP
- 福特嘉年华说明书.pdf
- 医院医疗设备管理员及使用人员岗位职责.pptx VIP
- 江苏省小学科学实验知识竞赛题库附答案.pdf VIP
- 教科版(2017秋)四年级下册科学期末复习训练题(含答案).docx VIP
- 八年级下数学期中测试题(a卷).pdf VIP
文档评论(0)