创建和处理内表

上传人:pu****.1 文档编号:561466449 上传时间:2023-11-29 格式:DOCX 页数:107 大小:219.99KB
返回 下载 相关 举报
创建和处理内表_第1页
第1页 / 共107页
创建和处理内表_第2页
第2页 / 共107页
创建和处理内表_第3页
第3页 / 共107页
创建和处理内表_第4页
第4页 / 共107页
创建和处理内表_第5页
第5页 / 共107页
点击查看更多>>
资源描述

《创建和处理内表》由会员分享,可在线阅读,更多相关《创建和处理内表(107页珍藏版)》请在金锄头文库上搜索。

1、8错误!未定义样式。Evaluation Warning: The document was created with Spire.Doc for .NET. 8: 8创建和处理内表概览内容什么是内表表内表的目的的内表的结构构标识表格行行访问内表创建内表创建内表数数 据类型型创建内表数数 据对象象使 用内表表填充内表读取内表更改和删除除 内表行行内表排序创建次序表表循环处理比较内表初始化内表表本节讨论内内 表。除除字段 串外,内内表 还构成成 ABBAP/4 提提供的另另一 种结构构化数 据类型型。本节主题描描 述在处理内表表 中大量量的数 据时,花花费 的计算算机时 间对性性能来 说非常常关

2、键 。例如如,要 获得最最佳性 能,在在“ABAAP/44 开发发工作台台 ”初始屏屏幕 (或事事务 SSE300) 上选择择“测 试 - 运行行时间分分 析 ”,在“内 表”下选定定 “提示 & 技巧巧.”, 就会出出现有 关如何何改进 性能的的不同 任务示示例。88什么是是内表下列主题提提 供内表表简介 :88内表的的目的在 ABAAP/44 中,主主要使 用表格格。表 格是 RR/3 系统中中的关 键数据据结构 。长期期使用 的数据据存储 在关系系数据 库表格格中。 关于如如何读 取和处处理数 据库表表格的 详细信信息, 参见 读取并并处理数数据库表表。除了数据库库 表格,还还可 以创建

3、建仅在 程序运运行时 间内存存在的 内表。AABAPP/4 提供了了针对 内表的的不同 操作。例例如 ,可以以搜索 、附加加、插 入或删删除行 。内表中的行行 数并不不固定 。根据据需求 ,系统统可实 时增加加内表 的大小小。例 如,如如果想 将某个个数据 库表格格读入 内表,不不必 事先知知道数 据库表表格的 大小。该该特 征项使使得内 表使用用起来 十分方方便, 同时还还支持 动态编编程。可以使用内内 表在数数据库 表格的的子集 上执行行表格 计算。例例如 ,可以以将数 据库表表格的 某个部部分读 入内表表(参 见 将数据据读入内内表)。然然后可 以从内内表中 计算总总和或 生成次次序表

4、。内表的另一一 种用处处是根 据程序序需要 重新组组织数 据库表表格的 内容。例例如 ,可以以从一 个或多多个大 客户表表格特 定的数数据中 将与创创建电 话清单单有关 的数据据读入 内表中中。然 后可在在程序 运行期期间直 接访问问该清 单,而而不用 每次调调用时 都执行行耗时 的数据据库查 询。除了在使用用 来自数数据库 表格的的数据 时使用用内表 外,内内表还 是 ABBAP/4 中中用于在在程 序中实实现许 多复杂杂数据 结构的的重要 特征项项(参 见 结构化化数据类类型 (页 366) )。88内表的的结构在 ABAAP/44 中,可可以区 别内表表数据 类型(定定义 内表的的结构

5、)和内内表数 据对象象(实 际的内内表而 且可以以用数 据进行行填充 )。内内表数 据类型型是数 据结构构(可 用于将将数据 对象说说明为 内表)的的抽 象定义义。关 于数据据类型 和数据据对象 之间区区别的 详细信信息, 参见 声明数数据 (页 311) 。数据类型内表是 AABAPP/4 中两种种结构 化数据据类型 中的一一种。 其它结结构化 数据类类型是 字段串串(参 见 结构化化数据类类型 (页 366) )。内内表包 括任意意数据 类型相相同的 行。行行的数 据类型型可以 是基本本的或 结构化化的。 该定义义打开 了多种种内表 结构,范范围 从包含含一个 字段的的行到 包含字字段串

6、将内表表作为 组件的的行。可以用带 OCCCURSS 参数数的 TTYPEES 语语句将数数据 类型定定义为 内表(参参见 创建内内表数 据类型型 (页 8) )。定定义数 据类型型时不 占用内内存。数据对象数据对象包包 含定义义为内 表的数数据类 型,是是实际 使用的的内表 。数据据对象 占用内内存, 可以对对其行 进行填填充或 读取。可以使用带带 OCCCURRS 参参数的 DATTA 语语句,或或使 用 TYYPE 或 LIIKE 参数引引用另 一个内内表将 数据对对象创 建为内内表( 参见 创建内内表数 据对象象 (页 8) )。88标识表表格行为了访问表表 格的某某一行 ,必须须指定

7、 可用于于标识 该行的的字段 或组合合字段 。在关关系数 据模型型(用 于在 RR/3 系统中中存储 长期使使用的 数据)中中, 用于该该目的 的最小小组合 称为关键键字 。定义义关键 字的字字段称 为关键字字段 。在关系数据据 模型中中,每 个表格格至少 有一个个关键 字(参参见文 档 ABAAP/44 词典典 (页 Errror! Noot aa vaalidd liink.) )。特特殊唯 一关键键字段 的该概概念不 用于内内表。但是 ABBAP/4 提提供了下下列 特征项项以便 用户访访问内 表行:88内表索索引索引是是表格 行的序序列号 ,不是是表格 字段,但但由 系统自自动创 建和

8、管管理。可以用 DDELEETE、 INSSERTT、 MODDIFYY、 LOOOP 和和 REEAD 语句来来使用 索引。在在这 些语句句中, 可以将将索引 指定为为文字 或变量量。处理完内表表 的特定定行后 ,系统统字段 SY-TABBIX 一般包包含该 行的索索引。88内表关关键字有两种种类型 的内表表关键 字。自定义关键键 字使用 REEAD 语句从从内表 中读取取行时 ,可以以指定 自定义义关键 字(参参见 用自定定义关 键字读读取单 行 (页 8) )。缺省关键字字根据定义, 内表的关键 字段是非数 字(类型 F、I 和 P)和非内 表的字段。 这些关键字 段形成内表 的标准关键

9、 字。要获得带嵌嵌 套结构构(包 含字段段串作 为组件件的表 格行)的的内 表标准准关键 字,系系统将 子结构构分为 基本字字段层 次。根据填充内内 表的方方式不 同,内内表可 以包含含带相 同标准准关键 字的多多行。用 COLLLECCT、 REAAD、 SORRT 和和 SUUM 语语句使用用内 表的关关键字 段。如如果标 准关键键字段 是内表表行的 第一个个组件 ,这有有助于 提高这这些语 句的效效率。 创建内内表时 请记住住这一 点。88访问内内表内表是按行行 进行访访问的 。必须须使用 某个工工作区 域作为为与表 格互相相传输 数据的的接口 。工作区域对对 内表的的行必 须是可可转换

10、 的(关关于可 转换性性的详 细信息息,参 见 类型转转换 (页 6336) )。从内表中读读 取数据据时, 已定址址的表 格行内内容覆 盖工作作区域 的内容容。然 后可以以在程 序中引引用工 作区域域的内 容。将将数据 写入内内表时 ,必须须首先 在工作作区域 (从中中系统 可以将将数据 传输给给内表 )中输输入数 据。为了避免不不 一致,最最好 是工作作区域 与内表表行有 相同的的数据 类型。创创建 与内表表兼容 的工作作区域 的一种种安全 步骤是是在说 明内表表和工 作区域域时使 用相同同的数 据类型型。在该环境中中 ,可以以区分 ABAAP/44 中两两种类型型 的内表表的差 别:_

11、带表表头行 的内表表_ 不带带表头 行的内内表如果创建带带 表头行行的内 表(参参见 创建内内表 (页 8) ),系系统自 动创建建与内 表行数数据类 型相同同的工 作区域域。该 工作区区域称 为表头头行或 表格工工作区 域,对对内表 的作用用与由 TABBLESS 语句句创建的的 数据库库表格 工作区区域相 同(参参见 TABBLESS 语句句 (页 3220) )。表表格工 作区域域和内 表本身身同名 。在所有用于于 访问内内表的 ABAAP/44 语句句中,可可 以指定定要使 用的工工作区 域(参参见 使 用内表表 (页 8) )。对对于带 表头行行的内 表,可可以忽 略这一一指定 。这

12、样样,系 统隐式式使用 表格工工作区 域:不带表头行行 的内表表没有 可以隐隐式使 用的表表格工 作区域域。要 访问没没有表 头行的的内表 ,必须须在相 应的 AABAPP/4 语句中中显式 指定工工作区 域。决定创建的的 内表是是否带 表头行行时, 必须考考虑是 喜欢隐隐式还 是显式式用于 内表访访问的 工作区区域。请记住,对对 于带表表头行 的内表表,内 表本身身和表 格工作作区域 同名。如如果 在语句句中使 用该名名称, 系统将将其解 释为表表格工 作区域域的名 称,而而不是 表格本本身( 对于将将数据 读入内内存或 从内存存中读 取数据据的语 句,这这一点 例外,参参见 ABAAP/4

13、4 内存存中的数数据簇 )。但但在某 些语句句中, 可以在在名称 之后输输入方 括号,定定址 内表而而不是 表格工工作区 域,如如下所 示:。88创建内内表创建内表时时 ,可以以决定 是想先先用TYYPESS 语句句创建内内 表数据据类型 ,然后后再创 建具有有该类 型的数数据对 象,还还是想 直接使使用 DDATAA 语句句创建内内 表数据据对象 。既可可以创 建带表表头行 的内表表数据 对象,又又可 创建不不带表 头行的的内表 数据对对象。下列主题描描 述88创建内内表数 据类型型要创建内表表 数据类类型, 请使用用 TYYPESS 语句句,用法法 如下(参参见 TYPPES 语句 (页

14、3222) ):语法TYPESS OCCCURSS .该语句通过过 使用 TTYPEES 语语句的 OCCCURSS 选项项创建一一 个内表表数据 类型 。内内 表中行行的数 据类型型在 中指定定。要 指定行行的数 据类型型,可 以使用用 TYYPE 或 LIIKE 参数(参参见 DATTA 语语句的基基本格式式 (页 3114) )。通过使用 LIKKE 参参数引用用 ABBAP/4 词词典中定定义 的对象象,可 以创建建内表 ,其行行结构 与存储储在词 典中的的对象 相同且且反映 数据库库表格 的结构构。这 在读取取和处 理数据据库表 格时非非常重 要(参参见 读取并并处理数数据库表表)。 指指定行的的初 始号。将将第 一行写写入用 类型 创建的的内表 数据对对象之 后,就就为指 定行保保留了 内存。如如果 添加到到内表 中的行行比 指定的的要

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 市场营销

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号