ABAP4基础

上传人:ali****an 文档编号:109896715 上传时间:2019-10-28 格式:DOC 页数:31 大小:540KB
返回 下载 相关 举报
ABAP4基础_第1页
第1页 / 共31页
ABAP4基础_第2页
第2页 / 共31页
ABAP4基础_第3页
第3页 / 共31页
ABAP4基础_第4页
第4页 / 共31页
ABAP4基础_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《ABAP4基础》由会员分享,可在线阅读,更多相关《ABAP4基础(31页珍藏版)》请在金锄头文库上搜索。

1、ABAP4 编程指南ABAP4基础一 概念:数据类型: 1 不占用内存空间。 2 描述了数据对象的属性。 3 用户可以自定义。数据对象: 1占用内存空间。 2 一个特殊的类型。 3 是数据类型的具体实例。 /就是类型和变量 ex:int i; 二 定义数据对象通过指定预定义的ABAP类型DATA: TYPE 例如:DATA: counter TYPE I.2 通过指定自定义类型DATA: TYPE 例如:DATA: splight TYPE my_struc. 3 通过指定词典对象DATA: LIKE 例如:DATA: data LIKE sy-datum. 4 通过指定一个已经存在的数据对象

2、 DATA: LIKE 例如:DATA: mycounter LIKE counter./定义变量的时候要在前面加上DATA:变量的数据类型不同,中间的关键词也不相同 如果数据类型是预定义的或者自定义的,关键词用TYPE 如果数据类型是词典对象或者是已经存在的数据对象,关键词用LIKE三 在 ABAP/4中按结构和定义对数据类型分类。数据类型是 :基本的( 非结构化的 )或结构化的。预定义的或用户定义的。预定义的 基本的用户定义的 结构化的因此,有四类数据类型。预定义数据类型的名称是固定的。用户定义的数据类型的名称由程序员在程序中定义 。1 预定义的基本的数据类型: ABAP/4 包含 8 个

3、预定义基本数据类型。数据类型默认大小有效大小初始值值的范围说明C11 65535SPACE文本、字符(字母数字字符)N11 6553500.0数位文本T66000000时 间(格式: HHMMSS)X11 65535X00十六进制D8800000000日期格式(YYYYMMDD)F880.001x10*-307 到 1x10*308浮点数I440-2*31 到2*31-1整 型(整数)P81 - 160数值范围取决于大小和小数点后的位数压缩号注意:类型 I 数据类型 I 数据的数值范围是 -2*31 到 2*31-1 并且仅包括整数。对算术运算的非整型结果(如分数 )进行四舍五入,而不是截断。

4、类型 I 数据可用于计数器、项目号、索引和时间期段等。类型 P 数据类型 P 数据允许在小数点后有数字。类型 P 数据的数值范围取决于大小和小数点后的位数 。有效大小可以是从 1 到 16 字节的任何值。将两个十进制数字 压缩到一个字节,而最后一个字节包含一个数字和符号。 在小数点后 最多允许 14个数位。使用类型 P 数据时,最好将程序属性设置为“ 定点算法(Fixed pt.arithmetic)” (参见 指定程序属性)。否则, 将类型 P 数位作为整型对待。类型 P 数据可用于如距离、重量和钱数等数值。类型 F 数据对于正数和负数,类型 F 数的数值范围是 1x10*-307 到 1x

5、10*308,包括 0(零)。精确范围近 似为 15 位十进制数 ,这取决于硬件平台的浮点算法。由于是在内部将类型F数据转换为二进制系统 ,因此可能出现舍入误差。尽管 ABAP/4 处理器试图将这些影响减至最小, 但是如果要求高精度, 则不应该使用类型 F 数据。而应代之以类型 P数据。如果需要大的数值范围 ,而且舍入误差不重要 ,则可以使用类型 F 资料。因为对类型 I 和 F 字段的算术 运算与机器码语句关系更紧密,所以用类型 I 和类型 F 字段的计算比用类型 P字段的计算要快;同时对 P字段的运算要求更多的软件支持。 尽管如此, 可能仍必须 使用类型 P 数据以满足精度或数值范围的要求

6、 。类型 N 数据不包含数值。虽然由数字组成 ,但这些数字不用于计算。科目号和邮编是典型的类型 N 字段。例如: DATA: counter TYPE I VALUE 1, name(18) TYPE C, start_date TYPE D, sum(3) TYPE DECIMALS 2.2 用户定义的基本数据类型完全是以预定义的基本数据类型为基础的。 要定义自己的基本数据类型用 TYPES 语句例如:TYPES: LENGTH TYPE P DECIMALS 2, CODE(3) TYPE C.DATA: DISTANCE TYPE LENGTH, CITY_CODE TYPE CODE.

7、3 预定义的结构化类型(TABLES)例如: TABLES: sbooks. 定义一个工作区,名字必须与表名相同。4 用户定义的结构化数据类型结构:TYPE: BEGIN OF ,.END OF .DATA: TYPE .注意: 结构没有数据。可以嵌套。例如:TYPE: BEGIN OF rec_type, Flag TYPE C,Name(30 ) TYPE C,Sum_field TYPE P DECIMALS 2,END OF rec-type.DATA: wa_rec TYPE rec-type.字符串字段串是程序中的一组内表。要声明字段串,使用 DATA 语句并用 BEGIN OF

8、和 END OF 标记该字段组的起始和结束。语法如下:DATA: BEGIN OF , , . END OF .例如:DATA: BEGIN OF ADDRESS, NAME(20) TYPE C, STREET(20) TYPE C, NUMBER TYPE P, POSTCODE(5) TYPE N, CITY(20) TYPE C, END OF ADDRESS.该示例定义了一个长度为 73 的字段串 ADDRESS。可以通过 ADDRESS-NAME、 ADDRESS-STREET 等寻址组件 。注释:可以将长字段串的声明收集在包括程序中(参见包含程序 )。但是,如果频繁使用该数据结构

9、,则最好将它们保存在ABAP/4 词典中。内表定义常数: CONSTANTS.语法: CONSTANTS .CONSTANTS: MYNAME(10) VALUE Fred, BIRTHDAY TYPE D VALUE 19600110, ZERO TYPE I VALUE IS INITIAL.要将字段串定义为常量 ,请写:CONSTANTS: BEGIN OF , , . END OF .例如: CONSTANTS: BEGIN OF MYADDRESS, NAME(20) TYPE C VALUE Fred Flintstone, STREET(20) TYPE C VALUE Cave

10、 Avenue, NUMBER TYPE P VALUE 11, POSTCODE(5) TYPE N VALUE 98765, CITY(20) TYPE C VALUE Bedrock, END OF MYADDRESS.四 类型转换规则:1 基本类型的转换规则:TypeLengthValueC1AC4ABCDC7C类型左对齐-47110_P312345-转换 TypeLengthValueC4A_C2ABP447110-C7_12345-2 结构类型的转换: DATA: BEGIN OF REC1, TEXT1(3) TYPE C VALUE AAA, TEXT2(2) TYPE C V

11、ALUE BB, PACK TYPE P DECIMALS VALUE 2.26, TEXT3(10) TYPE C VALUE XY, END OF REC1, BEGIN OF REC2, TEXT1(5) TYPE C VALUE CCCCC, PACK TYPE P DECIMALS VALUE 72.34, TEXT3 TYPE C VALUE Z, END OF REC2.MOVE REC1 TO REC2.REC1AAABB2.26XYREC2CCCCC72.34ZREC2AAABB2.26X注释:ABAP 对基本类型到结构,结构到基本类型的转换也有一定的规则。内表只能转换到另一个内表,适当的行类型被转换。五 数值运算语法: COMPUTE = .关键词 COMPUTE 可选。换句话说,该语句也可以写成: = .两条语句效

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

当前位置:首页 > 高等教育 > 教育学

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