codecamp

SAP ABAP 数据类型

当在ABAP中编程时,我们需要使用各种变量来存储各种信息。 变量只是保留值的存储位置。 这意味着,当您创建一个变量,你在内存中保留一些空间。 您可能希望存储各种数据类型的信息,如字符,整数,浮点等。基于变量的数据类型,操作系统分配内存并决定在保留内存中可以存储的内容。

基本数据类型

ABAP为程序员提供了丰富的固定长度和可变长度数据类型。 下表列出了ABAP基本数据类型 -

类型关键词
字节字段X
文本域C
IntegerI
浮点F
打包数量P
文本字符串STRING

一些字段和数字可以使用一个或多个名称来修改,如下所示:

  • byte
  • numeric
  • character-like

下表显示数据类型,将值存储在内存中需要多少内存,以及可以存储在此类变量中的最小值和最大值。

类型典型长度典型范围
X1字节任何字节值(00到FF)
C1个字符1〜65535
N(数字文本字段)1个字符1〜65535
D(类似字符的日期)8个字符8个字符
T(字符型时间)6个字符6个字符
I4字节-2147483648至2147483647
F8字节2.2250738585072014E-308至1.7976931348623157E + 308正或负
P8字节[-10 ^(2len -1)+1]到[+ 10 ^(2len -1)1](其中len =固定长度)
STRINGVariable任何字母数字字符
XSTRING(字节字符串)Variable任何字节值(00到FF)

例子

REPORT YR_SEP_12. 
DATA text_line TYPE C LENGTH 40. 
text_line = 'A Chapter on Data Types'. 
Write text_line. 

DATA text_string TYPE STRING. 
text_string = 'A Program in ABAP'. 
Write / text_string. 

DATA d_date TYPE D. 
d_date = SY-DATUM. 
Write / d_date.

在此示例中,我们有一个具有预定义长度40的C类型的字符串。STRING是可用于任何长度可变的字符串(文本字符串)的数据类型。 类型STRING数据对象通常应用于固定长度不重要的字符内容。

上面的代码产生以下输出:

A Chapter on Data Types 
A Program in ABAP 
12092015 

DATE类型用于存储日期信息,并且可以存储八位数字,如上所示。

复杂和参考类型

复杂类型分为结构类型表类型 在结构类型中,基本类型和结构(即,嵌入在结构中的结构)被分组在一起。 你可以只考虑基本类型的分组。 但是你必须意识到结构的嵌套的可用性。

当基本类型被分组在一起时,数据项可以作为分组数据项被访问或者可以访问各个基本类型数据项(结构字段)。 表类型在其他编程语言中更好地称为数组。 数组可以是简单数组或结构数组。 在ABAP中,数组被称为内部表,并且与其他编程语言相比,它们可以以许多方式被声明和操作。 下表显示了表示内部表的参数。

S.No。参数& 描述
1

线或行类型

内部表的行可以是基本类型,复杂类型或引用类型。

2

将字段或一组字段指定为标识表行的内部表的键。 键包含基本类型的字段。

3

存取方法

描述ABAP程序如何访问单个表条目。

引用类型用于引用类,接口和运行时数据项的实例。 ABAP OOP运行时类型服务(RTTS)允许在运行时声明数据项。

SAP ABAP 基本语法
SAP ABAP 变量
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }