ABAP的基本数据类型

ABAP的基本数据类型,第1张

数据类型的作用:用来定义数据变量。

ABAP按照定义的方式

1预定义数据类型:SAP中预定义的类型

关于预定义数据类型:

数字类型:

I(整数类型) 默认初始值是0(4Byte)

P(小数类型)默认初始值是0  在定义数据类型P时,需要指定小数位数。(8byte)(可变长度为1-16byte)

P类型1字节前两位由数字构成,后面几位是符号位。

如:DATA test TYPE P LENGTH 10 DECIMALS  3

        这里定义了一个p型变量test 长度是10,小数位数是3

字符类型:

C(char/文本类型) 默认初始值为空(1byte)

D(日期类型) 格式为:YYYYMMDD  默认初始值是'00000000'(8byte)sy-datum(存储当天日期的变量)

T(时间类型) 格式为: HHMMSS 默认初始值是‘000000’(6byte)sy-uzeit(存储现在时刻的变量)

字符串类型:STRING 默认长度为0,有效长度为任意长度,默认值为空字符串。

                         这表示定义STRING类型变量不需要指定长度

在定义预定义数据类型时,我们知道所有数据类型都具有初始值,那么使用VALUE选项就可以设置初始值

如果使用VALUE IS INITAL语句,则变量使用默认初始值。(省略此语句,结果相同)

这里就知道了预定义数据类型可以分为:1预定义可变长度数据类型

                                                                  2预定义固定长度数据类型

在定义预定义数据类型的变量时,D,F,I不用指定长度,而C,N,X需要指定其长度,其中类型P

还需要指定小数位数。(DECIMALS)

2全局数据类型(数据字典类型):SE11里定义的数据类型, 所有程序都可以使用的数据类型 。

全局数据类型顾名思义就是所有程序都可以使用的数据类型。

3局部数据类型(用户自定义的数据类型):用户程序中 使用TYPES关键字来自定义的数据类型

如:TYPES ty_var_c10 TYPE c LENGTH 10 "这里就定义了一种长度为10的字符类型ty_var_c10

DATA,TYPES,和TYPE 的区别

DATA 是用来直接声明实际的变量,可以指定变量类型是 预定义类型或自定义类型

DATE c1 TYPE c LENGHT 10

TYPES是用来定义局部数据类型的,定义的是类型而不是变量

TYPES ty_var_c10 TYPE c LENGTH 10

这里的ty_var_c10 就时用户自定义的数据类型。

TYPE是用来指定类型的,当TYPE和DATA关键字一起使用时,则是用于定义变量的类型;

当TYPE和TYEPES关键字一起使用时,就是用于定义自定义类型。

LINK(用来定义数据变量的类型)

DATA: gv_num3  LINK gv_num1 这里LINK的作用就是定义变量gv_num3且它的数据类型为gv_num1

按结构区分的数据类型

基本数据类型:固定长度数据类型

                          可变长度数据类型

参考数据类型:数据参考类型

                          对象参考类型

复杂数据类型:结构类型

                          表类型

虽然我不懂MM模块,但是你可以在LOOP里面写个AT END OF XXX来完成这个动作,希望我的回答对你有所帮助

LOOP AT itab INTO wa

If wa-SHKZG = 'S'

wa-YI = wa-MENGE

Else

wa-YI = wa-MENGE -1

Endif

MODIFY itab from wa

clear : wa

endloop

因为不懂模块,所以我只能在程序方面上给你解答,模块方面请教别人吧

type group是一种程序类型,即类型池类型的程序,在创建一个Program时,导航会d出窗口让你选择程序类型,默认是可执行程序,下拉列表中许多类型,类型池就是其中之一,但是创建类型池类型的程序并不是在se80 或者 se38中的,而是在se11的TYPE GROUP中创建的,就是你上面提到的数据字典type group

在该类型的程序中,可以定义一些自定义的类型(结构等),比如数据字典中并没有创建的结构,在程序中就无法引用,你可以将该结构声明在类型池程序中上,该程序以 TYPE-POOL 引导

然后在程序中引用该类型池程序,然后程序中就可以使用类型池程序中定义的结构了

在程序中TYPE-POOLS来引用已经存在的类型池程序

type group是一种统一管理类型的程序,有很多便利之处,SAP的标准程序中很多地方都用到的

以上就是关于ABAP的基本数据类型全部的内容,包括:ABAP的基本数据类型、SAP ABAP 程序 解读、abap SE11中数据字典中type group是做什么用的,怎么使用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10111240.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存