声明数据(doc27)_第1页
声明数据(doc27)_第2页
声明数据(doc27)_第3页
声明数据(doc27)_第4页
声明数据(doc27)_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、声明数据概览内容数据类型和对象简介.数据类型和 对象简介数据类型 .数据类型基本数据类型 -预定义的 .基本数据类 型 -预定义的基本数据类型 -用户定义的 .基本数据类 型 - 用户定义的结构化数据类型.结构化数据 类型数据类型的兼容性 .数据类型的 兼容性数据对象 .数据对象文字 .文字变量 .变量常量 .常量系统定义的数据对象 .系统定义的 数据对象创建数据对象和数据类 型 .创建数据对 象和数据类 型DATA语句 .D ATA 语句CONSTANTS 语句 .CONSTANTS 语句STATICS语句 .STATICS语句TABLES语句 .TABLES语句TYPES语句 .TYPES

2、语句示例汇总 .示例汇总预定义基本数据类型和对象示例 . .预定义基本 数据类型和 对象示例用户定义的基本数据类型和对象示例 .用户定义的 基本数据类 型和对象示 例字段串示例.字段串示例内表示例 .内表示例使用类型组.使用类型组确定数据对象的属性.确定数据对 象的属性确定字段长度 .确定字段长 度确定数据类型 .确定数据类 型确定输出长度 .确定输出长 度确定小数位.确定小数位确定转换例程 .确定转换例 程本节说明如 何在 ABAP/4程序中声明数 据。要能声 明数据,应 该熟悉定义 数据类型 数据对象之 间关系的 ABAP/4类型概念。下列内容介 绍 ABAP/4类型概念下列主题说 明在该

3、指南中 ,术语“字 段”用于数 据对象。通常情况下 ,字段可以 是任何数据 对象(参见数据对象(页 ) )字段符号 或形式参数 (参见使用字段符号 和通过参数传递数据)根据上下文 ,可以明确 术语“字段 ”代表什么 。数据类型和 对象简介数据类型和 数据对象是 ABAP/4 类型概念的 基本组件。 二者均可由 用户声明和 维护。这与其它编程语 言如 C、FORTRAN 或 PASCAL 不同,在这 些语言中用 户可以声明 数据对象,但仅限于预 定义的数据 类型。在 ABAP/4 中,可以使 用与标准数 据声明相似 的语法处理 数据类型, 而与数据对 象无关。特 殊程序以外 的数据类型 集中存储

4、也 是可能的。下列列表是 数据类型和 对象主要特 征的概述:数据类型 (基本的或 结构化的)- 数据类 型是纯粹的 说明。- 没有与 数据类型相 关联的内存 。- 数据类 型描述数据 对象的技术 属性。- 数据类 型是数据对 象的属性并 与数据对象 联系紧密。数据对象 (文字、变 量、常量等 ):- 数据对 象是程序在 运行时使用 的物理单元 。- 每个数 据对象都有 分配给它的 特定数据类 型。- 每个数 据对象占据 一些内存空 间。- ABAP/4 根据数据对 象的数据类 型处理数据 对象。在程序中, 必须声明要 使用的全部 数据对象。 声明过程中 ,必须给数 据对象分配 属性。其中最重要

5、的属 性是数据类 型。在 ABAP/4 中,可以使 用与其它程 序语言相似 的预定义的 数据类型, 或者使用用 户定义的数 据类型。由于 ABAP/4 中用户定义 的数据类型 允许编程具 有非常大的 灵活性, 所以提供了强 有力的工具 。它们的范 围从基本类 型(例如, 给定长度的 字符串)到 非常复杂的 结构(例如 ,嵌套表) 。将用户定义 的数据类型 分配给数据 对象使您能 精确处理需 要的数据对 象。可以按 使用预定义 数据类型的 方式使用用 户定义的数 据类型。可 以在程序内 对它们进行 局部明, 或在 ABAP/4 词典中对它 们进行全局 保存。有三个层次 级的数据类 型和对象:在

6、ABAP/4 词典中定义 的独立于程 序的数据在一个程 序中全局使 用的内部数 据在过程( 子程序和功 能模块)中 局部使用的 数据在本指南的 相应章节将 了解到有关 这些层次级 的详细内容 。数据类型在 ABAP/4中按结构和 定义对数据 类型分类。 数据类型是 :基本的( 非结构化的 )或结构化 的预定义的 或用户定义 的因此,有四 类数据类型 ,在下表中 列出。预定 义数据类型 的名称是固 定的。用户 定义的数据类型的名称 由程序员在 程序中定义 。ABAP/4 中的数据类 型预定义的用户定义的基本的C、D、F、I、N、P、T 和 X :用户定义的 基本数据类 型基于预ABAP/4 包含

7、 8 个预定义基定义基本数据 类型。本数据类型 。基本数据类 型 - 用户定义的(页基本数 据类型- 预定义 的)(页 )结构化的TABLE :该预定义的 结构化的数 据类型仅用 于形式参数 和字段符号的键入。字段串和内 表:这些结 构化的数据 类型可以用 于数据对象 并且是用户 定义的。结构化数据 类型 (页 )使用数据时 ,了解数据 类型是否兼 容是很重要 的。关于该 主题的详细 信息,参见基本数据类 型 - 预定义的下表总结了ABAP/4 中预定义的 基本数据类 型(有效大 小以字节为 单位):ABAP/4 数据类型数据类型默认大小有效 大小初始值说明C11 - 65535SPACE文本

8、、字符(字母数字字 符)D88'00000000'日期(格式:YYYYMMDD )F880浮点数I440整型(整数)N11 - 65535'00.0'数字文本P81-160压缩 号T66'000000'时间(格式: HHMMSS )X11 - 65535X'00'十六进制在各方面, 数据类型D、F、I 和 T 都是预定义 的,但数据 类型加说明。例如 ,可以在程 序中定义大 小。关于 数字数 据类型I 、 F 和 P 的详细信息 ,参见数字数据类型C、N、P (页 )和 。X可以有附数字数据类 型ABAP/4支持三种数 字数据类型

9、 。它们是:类型I 的整型(整 数)类型P 的压缩号类型F 的浮点数类型I数据类型I 数据的数值 范围是-2*31到 2*31-1并且仅包括 整数。对算术运算 的非整型结 果(如分数 )进行四舍 五入,而不 是截断。类型I 数据可用于 计数器、项 目号、索引 和时间期段 等。类型P数据类型P 数据允许在 小数点后有 数字。类型P 数据的数值范围取决于 大小和小数 点后的位数 。有效大小 可以是从1 到 16 字节的任何 值。将两个 十进制数字 压缩 到一个 字节,而最 后一个字节 包含一个数 字和符号。 在小数点后 最多允许14 个数字。关 于定义小数 点后位数的 详细信息, 参见DATA 语

10、句的基本格式(页)。使用类型P 数据时,最 好将程序属 性设置为“ 定点算法” (参见 指定程序属性(页 Error!Not a valid link. ) )。否则, 将类型P 数字作为整 型对待。类型P 数据可用于 如距离、重 量和钱数等 数值。类型F 数据对于正数和 负数,类型F 数的数值范 围是1x10*-307到 1x10*308 ,包括0(零)。精确范围近 似为15 位十进制数 ,这取决于 硬件平台的 浮点算法。由于是在内 部将类型F 数据转换为 二进制系统 ,因此可能 出现舍入误 差。尽管ABAP/4处理器试图 将这些影响 减至最小, 但是如果要 求高精度, 则不应该使 用类型F

11、 数据。 而应 代之以类型P 数据。如果需要大 的数值范围 ,而且舍入 误差不重要 ,则可以使 用类型F 数据。因为对类型 I 和 F 字段的算术 运算与机器 码语句关系 更紧密,所 以用类型 I 和类型 F 字段的计算 比用类型 P 字段的计算 要快;同时 对 P 字段的运算 要求更多的 软件支持。 尽管如此,可能仍必须 使用类型 P 数据以满足 精度或数值 范围的要求 。类型N 数据不包含 数值。虽然 由数字组成 ,但这些数 字不用于计 算。科目号 和邮编是典 型的类型N 字段。基本数据类型 - 用户定义的用户定义的 基本数据类 型完全是以 预定义的基 本数据类型 为基础的。 要定义自己

12、的基本数据类型,请使 用 TYPES 语句(参见 TYPES 语句 (页 ) )。用户定义的 基本数据类 型使程序的 阅读和维护 更加容易:例如,如果在程序中 经常需要使 用某数据类 型集,通过为类型定义 创建包括程 序(参见 包含程序 ),或者在 ABAP/4 词典的类型 组中定义数据类型(参 见 使用类型组 (页 ) ),可以确 保总是使用 相同的数据类型。若要使数 据类型更易 于理解和识 别,可以赋 予它们描述 性的名称。在将用户 定义的数据 类型分配给 几个数据对 象之后,通 过更改 TYPES 语句中数据 类型的定义 ,可以用一 个操作更改 所有这些数 据对象的数 据类型。TYPES

13、: NUMBER TYPE I,LENGTH TYPE P DECIMALS 2,CODE(3) TYPE C.DATA: NO_FLIGHTS TYPE NUMBER,NO_PASSENGERS TYPE NUMBER,DISTANCE TYPE LENGTH,HEIGHTTYPE LENGTH,.CITY_CODE TYPE CODE,COUNTRY_CODE TYPE CODE,.示例中,定 义了名为 NUMBER 的数据类型 。该数据类 型除拥有不 同名称以使 程序更易于 阅读外,与 预定义的数 据类型 I 相同。该示例中还 定义了数据 类型 LENGTH ,该数据类型 是以预定义 的

14、基本数据类型 P为基础的 。为 LENGTH 定义了给定 数目的小数 位。例如, 如果需要更 改长度规格 的精度,仅 须在程序中 更改 TYPES 语句。还定义了第 三种数据类 型 CODE。 CODE 是以预定义 的类型 C 为基础的, 具有给定长 度 3。结构化数据类型通常情况下 , ABAP/4程序中的结 构化数据类 型是用户定 义的。在 ABAP/4中,没有可 用的预定义 结构化数据 类型,但下 列例外:可以使用预 定义的一般 表类型 TABLE ,以便将具有 一般行结构 的内表传递 到子程序( 参见键入形式参数 ),或者键 入字段符号 (参见 键入字段符号 )。有两种结构 化数据类型

15、 :字段串字段串是其 它数据类型 的集合。字 段串的组件 可以是字段 串本身或内表。可以用TYPES 语句或DATA语句(参见用于字段串 的 DATA 语句( 页 ) )定义字段 串。通过 DATA 语句不能定 义独立数据 类型,而可 以定义具有 结构化类型的数据对象 。内表内表由相同 类型的几行 组成。与字 段串仅“水 平地”扩展 不同,内表 还“垂直地 ”扩展。可以用 TYPES 或 DATA 语句的 OCCURS 参数定义内 表(参见 创建内表 (页 Error! Not a valid link. ) )。由于字段串 能包含任何 类型的组件 ,而且可以 为任何类型 定义内表, 所以自定

16、义 数据结构可能变得非常 复杂。结构化数据类型示例下列是ABAP/4中结构化数 据类型的示 例a) 由一 系列基本数 据类型组成 的字段串( 平铺结构, 仅“水平” )b) 为基 本字段定义 的内表(基 本数据类型 的动态排列 ,仅“垂直 ”)c) 为简 单字段串定 义的内表( 带有行和列 的表)d) 包含 子结构的结 构(嵌套结 构)e) 结构 ,该结构包 含内表作为 组件(垂直 结构)f)为包 含结构化组 件的字段串 定义的内表 (垂直行类 型的表)g) 为字 段串定义的 内表,该字 段串包含内 表作为组件数据类型的兼容性使用数据时 ,有时需要 将数据从一 种类型转换 到另一种类 型。要作

17、到 这一点,数 据类型必须是可转换的 (参见 类型转换 (页 Error! Not a valid link. ) )。可转换 性的一个重 要前提就是 兼容性。如果两个数 据类型具有 相同的技术 属性,则它 们是兼容的 。不同ABAP/4数据类型的 后果如下:基本数据类型如果在类型 、大小和(对于类型 P)小数位 等方面是相 同的,则基 本数据类型 和其它基本 数据类型是 兼容的。基本数据类 型与结构化 数据类型相 互之间不兼 容。结构化数据类型对于结构化 数据类型, 必须区分字 段串和内表 。字段串如果字段串 的结构相同 而且组件兼 容,则字段 串与其他字 段串兼容。 这意味着从 基本字段构

18、造字段串, 以便从子结 构形成整个 结构的方式 必须相同, 而且它们的 基本组件必 须相互兼容 。如果两个 字段串由顺 序相同的基 本字段组成 ,但这些字 段组合成不 同的子结构 ,则字段串 不兼容。字段串与基 本数据类型 和内表不兼 容。内表如果行类型 兼容,则内 表与其他内 表兼容。内 表的兼容性 不取决于行 数。内表与字段 串和基本数 据类型不兼 容。在上述情况 下,由于在 ABAP/4 程序运行期 间出现的每 个数据类型 是完全确定 的(例如, 数据类型 C 的长度总是 已定义并已 知的),所 以数据类型 之间的兼容 性总是涉及 到已完全指 定的数据类 型。该兼容 性是对称的 。在形式

19、参数 和字段符号 键入的方面 ,使用有点 不同的、非 对称的兼容 性(参见 键入形式参数和 键入字段符号 )。数据对象在 ABAP/4中,可以使 用几种数据 对象,如下 所示:内部数据 对象创建内部数 据对象供在 特定的程序 中使用。在该程序之外 无效。内部数据对象包 括:外部数据 对象外部数据对 象独立于程 序。不能直 接使用外部 数据对象, 但能将其复 制到内部数 据对象, 并在完成后将 它们回写。 可以在整个 系统环境中 全局使用外 部数据对象 。ABAP/4 将外部数据 对象保存在 ABAP/4 词典中定义 的表中。要 从程序内部 访问该数据 ,请用 TABLES 语句(参见 TABL

20、ES 语句 (页 ) )在程序中 声明该表。系统定义 的数据对象除用户定义 的数据对象 外,还有一 些数据对象 由系统自动 定义。特殊数据 对象ABAP/4还包括一些 具有特殊特 征的数据对 象,即:- 参数参数是链接 到选择屏幕 的变量。参 数可以在程 序启动后接 受数值。- 选择标 准选择标准是 用于指定数 值范围的特 殊内表。它 们也与选择 屏幕相链接。关于这些数 据对象及其 声明的详细 信息,参见 使用选择屏幕 。文字文字是固定 值。 ABAP/4区分文本文 字和数字文 字。文本文字文本文字是 单引号内的 字母数字字 符序列。'Antony Smith''691

21、90 Walldorf'文本文字最 长可达 254 个字符。如 果某文本文 字包含引号 ,必须重复 引号,以使 系统能够将内容识别为 文本文字而 不是文字的 结尾。WRITE: / 'This is John''s bicycle'.该语句生成 下列输出:This is John's bicycle要确保程序 仍易于维护 并且独立于 语言,请勿 在程序的最 终版本中显 式地使用文 本文字。而应将其外部 地定义为文 本符号。文本符号是 ABAP/4 文字基本概 念的一部分 。关于这方 面的详细信 息,以及关 于如何创建 和使用文本 符号的详细 信息

22、,参见 处理文本摘要 ( 页 Error! Not a valid link. ) 。数字文字数字文字是 可能包含前 导符号的数 字序列。可 包含多达15 个数字。123-93+456如果需要非 整型数值或 较长的数字 ,则必须使 用文本文字 ,该文本文 字自动转换 到正确的类型。(详细 信息,参见类型转换 (页 Error! Not a valid link.) )。'+0.58498''-8473.67'同样,请使 用文本文字 表示浮点数 值。必须按 照下列格式 :'<mantissa>E<exponent>''

23、;-12.34567''-765E-04''1234E5''+12E+23''+12.3E-4''1E160'变量变量用于以 一定名称按 一定格式保 存并参考数 据。变量可 能在下列方 面不同名称类型长度结构可以利用DATA语句在程序 中声明变量 (参见DATA 语句 (页 ) )。DATA: S1 TYPE I,S2 TYPE I,SUM TYPE I.SUM = S1 + S2.常量常量是包含 值的数据对 象,该值是 在初始化时 确定的。在 程序执行期 间不能更改 常量。在程序中利 用 常量 语句声明常

24、 量(参见 CONSTANTS 语句 ( 页 ) )。如果试 图在程序的 其它地方更 改常量,在 语法检查或 运行期间, 系统将输出 错误消息。也可以在ABAP/4词典的类型 组中声明常 量(参见使用类型组 (页 ) )。如果在程序 中频繁地需 要某特殊数 值,请使用 常量。在这 种情况下, 请勿使用文 字。如果需 要修改该值 ,只须更改 声明。CONSTANTS PI TYPE P DECIMALS 10 VALUE '3.1415926536'.系统定义的数据对象启动ABAP/4程序时,一 些数据对象 自动可用而 无需声明。 系统定义的 数据对象包 括:SPACE数据对象

25、SPACE 是类型 C 的常量。长 为一个字符 并包含空格 。由于 SPACE 是常量,所 以不能更改 。系统字段所有系统字 段都有格式 为 SY-<name> 的名称,其中 <name> 指定单个字段。若要在 ABAP/4 编辑器中显 示可用系统 字段的列表 ,请在命令 行中键入“ SHOW SY”(请 选择“编辑 -> 其它功能 -> 命令输入” )。该列表 还包括系统 字段的数据 类型。下面是系统 字段示例:SY-SUBRC返回代码值( 0,如果操 作成功)SY-UNAME用户的登录名SY-DATUM当前日期SY-UZEIT当前时间SY-TCODE当前

26、事务系统字段是 变量并且可 以由程序更 改。但是, SAP 不建议这样 做,因为在继续执行程 序时,将失 去保存在这 些字段中的 信息。创建数据对 象和数据类 型本节说明如 何在程序中 创建数据对 象和数据类 型。除文字 外,还必须 利用声明语 句声明每个数据对象。在声明语句 中,必须指 定所有数据 对象的数据 类型。要做 到这一点, 可以使用 数据类型 (页) 中说明的任 何数据类型 。在声明语句 中定义对象 的数据类型 ,有下列方 式之一直接地, 使用<declaration>.TYPE <datatype> .间接地, 使用<declaration>

27、LIKE <dataobject> .对下面列出 的大多数数 据声明语句 , TYPE 和 LIKE是可选的附 加项。利用 TYPE选项,可以 直接将数据 类型 <datatype>分配给已声 明的数据对 象。利用 LIKE选项, 可以 将另一个数 据对象 <dataobject> 的数据类型 分配给已声 明的数据对象。这意味着间接引用 数据类型。对数据对象 和数据类型 有独立的名 称空间。这 意味着一个 名称既可以 是数据类型 名,同时又 可以是数据 对象名。在程序中, 可以使用数 据声明语句 静态地定义 数据对象, 或者利用操 作语句动态 地创建数据对象

28、。ABAP/4包括下列用 于静态地创 建数据对象 和数据类型 的关键字:DATA 语句 (页 )用于创建变 量CONSTANTS 语句 (页 )用于创建 常量STATICS 语句 (页 )用于创 建变量,这些变量在程 序运行期间 一直存在,但仅在过程 中可见TABLES 语句 (页 )用于创建表工作 区TYPES 语句 (页 )用于创建 用户定义的 数据类型在内表环境中 ,可以使用 操作语句 APPEND 、COLLECT和 INSERT 以动态地创 建内表的行(参见 填充内表 (页 Error! Not a valid link. ) )。在选择屏幕 环境中,可 以使用附加 语句 PARAM

29、ETERS和 SELECT-OPTIONS 以创建带特殊功能的数 据对象(参 见 使用选择屏幕 )。DATA语句使用 DATA 语句定义局 部和全局变 量。关于局 部和全局变 量间区别的 详细信息, 参见在调用程序和子系统之间传递数据 。DA TA 语句有一个 基本格式和 三个主要变 式,如下所 示:用于字段 串的DATA语句用于内表 的 DATA语句用于公用 内存块的DATA语句。下列内容说 明 DATA 语句的基本 格式下列内容说 明用于字段 串的DATA 语句由于内表性 质的复杂性 ,将用一个 独立章节来 说明该主题 。关于定义 内表的详细 信息,参见 创建和处理内表 (页 Error!

30、 Not a valid link. ) 。由于声明用 于几个程序 的公用内存 块与外部子 程序有关, 所以将在涉 及子程序的 章节中解释该主题(参 见 声明数据作为通用部分 )。DATA语句的基本 格式可以在程序 中使用DA TA 语句的基本 格式以定义 内部变量。 语法如下:语法DATA <f>(<length>) <type> <value> <decimals>.基本格式中 ,关键字DATA有下列参数 :参数用途命名变量 (页 )<f>指定变量的 数据类型和长度(页 ) <length> <typ

31、e>指定初始值 (页 ) <value>指定小数位 数 (页 ) <decimals>命名变量变量名<f>最长可达30 个字符。除下面列出的 这些字符外 ,可以使用 任何字母数 字字符。请勿使用 下列字符- 加号 +- 句点 .- 逗号 ,- 冒号 :- 圆括号 ()请勿创建 完全由数字 字符组成的 名称ABAP/4 包含具有保 留名(不允 许使用这些 保留名)的 预定义数据 对象(参见 系统定义的 数据对象 (页 ) )。另外, 如果变量名 与引导语句 的关键字的 参数相混淆 ,则请勿在 语句中使用 该变量名。书写DATA语句时,请 遵循这些指 南:

32、使用不要 求附加说明 的有意义的 字段名。因为连字 符指示字段 串,所以不 要使用连字 符(参见 用于字段串 的 DATA 语句 (页 ) )。使用下划 线以分离长 名称。避免所有 其它特殊字 符。始终使用 字母作为字 段名的第一 个字符。无需说明的 字段名示例 :GROUP_TOTALACCOUNT_NOFOREIGN_CURRENCYBANK_CODE指定变量的数据类型和长度要指定数据 类型,请使 用 <type> 参数。可以 使用下列任 一形式创建<type> 参数:TYPE <t>LIKE <g>TYPE参数利用 TYPE 参数,可以 指

33、定预定义 数据类型或 用户定义的 数据类型( 参见 数据类型 (页) )。语法如 下:语法DATA <f>(<length>) TYPE <t>.通过在 <length> 中指定所需 的长度, 可以为一些基 本数据类型 定义长度。 但仅对字段 类型C、P、N 和 X 才是可能的 。关于默认 值和有效值 ,参见 基本数据类 型 - 预定义的 (页 ) 中的表。利用 TYPE参数指定数 据类型示例 :DATA: NUMBERTYPE P,DATETYPE D,HEXADECIMALFIELD TYPE X,COUNTTYPE I,LINE(72)TY

34、PE C.LIKE参数利用LIKE参数,可以 将已定义数 据对象的数 据类型分配 给变量。语 法如下:语法DATA <f> LIKE <g>.使用 LIKE 参数时,按 照与数据对 象 <g> 完全相同的 类型和结构 创建字段 <f> 。可将任何数 据对象用于 <g> 。利 用 LIKE 参数,可以 引用在 ABAP/4 词典中声明 的数据对象 的数据类型 。DATA NUMBER_1 TYPE P.DATA NUMBER_2 LIKE NUMBER_1.DATA MYNAMELIKE SY-UNAME.示例中,用 与数据对象 NUM

35、BER_1 相同的数据 类型声明数 据对象 NUMBER_2 。数据对象 MYNAME 与系统定义 的数据对象 SY-UNAME 具有相同的 数据类型。LIKE 参数常用于 附属字段以 临时保存数 据库字段的 内容。该机 制可以避免 由于键入错 误,或更改 数据库字段 的定义而引 起的无意的 差异。例如 ,如果更改 数据库字段 的属性,则 系统自动改 写备份字段 的属性。DATA PLANE LIKE SFLIGHT-PLANETYPE.该语句创建 与 ABAP/4 词典字段 SFLIGHT-PLANETYPE 具有相同属性、名为 PLANE 的数据对象 。PLANETYPE 是数据库表 SF

36、LIGHT 的一列。要创建与现 有内表的行 具有相同数 据类型的数 据对象<f> ,请使用LIKE参数,如下 所示:语法DATA <f> LIKE LINE OF <itab>.在这种情况下, <itab>必须是作为内表创建的数据对象(参见 创建内表数据对象( 页Error! Not a valid link. ) )。类型和长度的默认值如果未在 DATA 语句中指定 参数 <length> 和 <type> ,则创建长度 为 1 的字符字段 (类型 C)。如果 指定长度, 但未指定类 型,则创建 给定长度的 字符字段。D

37、ATA TEXTFIELD.示例创建长 度为 1 的字符字段TEXTFIELD 。指定初始值利用 DATA 语句声明内 部变量时, 将隐式地给 字段分配初 始值。关于 不同数据类 型初始值的详细信息, 参见 基本数据类 型 - 预定义的 (页 ) 中的表。要更改字段 的初始值, 请使用DATA 语句的<value> 参数。语法 如下:语法DATA <f> . VALUE <val>.将字段<f>的初始值设 为 <val> ,其中<val> 可以是文字(参见 文字 (页 ) )常量(参见 常量 (页) )显式的附 加项IS

38、INITIAL初始值规格 示例:DATA: COUNTER TYPE P VALUE 1,DATETYPE D VALUE '19920601',FLAGTYPE C VALUE IS INITIAL.声明该数据 以后,字符 串 FLAG包含其默认 初始值SPACE。指定小数位数要定义类型P 字段的小数 位数,请使 用 <decimals> 参数。语法 如下:语法DATA <f> TYPE P DECIMALS <d> .小数位数<d> 的最大值是14(参见数字数据类型 (页 ) )。可以将数据 对象分配给 压缩码类型 变量,而该

39、 数据对象具 有比变量更 多的小数位 。如果已将程序属性指 定为“定点 运算”(参 见 指定程序属性 (页 Error! Not a valid link. ) ),则将多余的位数进 行四舍五入 。DATA WEIGHT TYPE P DECIMALS 2 VALUE '1.225'.如果将属性 设置为“定 点运算”, 则 WEIGHT 的值为1.23。用于字段串 的 DATA语句字段串是程 序中的一组 内表。要声 明字段串, 请使用 DATA 语句并用 BEGIN OF 和 END OF 标记该字段 组的起始和 结束。语法 如下:语法DATA: BEGIN OF <fs

40、tring>,<component declaration>,.END OF <fstring>.这些语句定 义了字段串<fstring> 。在 <component declaration> 中,通过指 定长度、类 型和初始值 或小数位数 (如果需要 ),可以如 DATA 语句的基本 格式 (页 ) 中说明的那 样声明组件 字段。通过将字段 串名作为前 缀,并用连 字符将字段 串和组件连 接起来: <fstring>-<component> ,可以定址字 段串中的各 个组件。字段串的组 件可以有不 同的数据类 型。

41、由于类 型 I 或 F 的字段是对 齐的(参见 对齐数据对象 (页 Error! Not a valid link. ) ),所以如 果需要,系 统将在组件 之间插入空 填充字段。有时也将字 段串称为记 录或结构。DATA: BEGIN OF ADDRESS,NAME(20)TYPE C,STREET(20) TYPE C,NUMBERTYPE P,POSTCODE(5) TYPE N,CITY(20)TYPE C,END OF ADDRESS.该示例定义 了一个长度 为 73 的字段串 ADDRESS 。 可以通过 ADDRESS-NAME 、 ADDRESS-STREET 等定址组件 。可

42、以将长字 段串的声明 收集在包括 程序中(参 见 包含程序 )。但是, 如果频繁使 用该数据结构,则最好 将它们保存 在 ABAP/4 词典中。关于该主题的 详细信息,参见文档 ABAP/4 词典 (页 Error! Not a valid link. ) 。CONSTANTS 语句如果在程序 中频繁使用 某常量,可 以利用 常量 语句,将其 声明为具有 固定值的变 量,如下所 示:语法CONSTANTS <c><length> <type> <value> <decimals>.要将字段串 定义为常量 ,请写:CONSTANTS:

43、BEGIN OF <fstring>,<component declaration>,.END OF <fstring>.这些语句的 参数与DATA 语句的基本格式 (页 ) 和 用于字段串的 DATA ) 中说明的DATA 语句的参数 相同。有关 说明请参阅 这些主题。对于常量语句必须使用<value>参数,而在DATA语句中该参数是可选的<value> 参数指定的 初始值,在 程序的执行 期间不能更 改。语句 (页。利用CONSTANTS: MYNAME(10)VALUE 'Fred',BIRTHDAYTYPE DVALUE '19600110',ZEROTYPE IVALUE IS INITIAL.示例的最后 一行说明了 变量 IS INITIAL 参数 VALUE 是必须的, 所以可以使 用值。的用途。由于对于常量语句,IS INITIAL给常量分配 默认CONSTANTS: BEGIN OF MYADDRESS,NAME(20)TYPE C VALUE 'Fred Flintstone',STREET(20) T

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论