SAP ABAP程序中这些程序类型都有什么区别呢?谢谢啦。

SAP ABAP程序中这些程序类型都有什么区别呢?谢谢啦。,第1张

可执行程序 (程序类型为 1,在 SAP 标准教程里面经常会提到 type 1 program,就是指这个意思,以后都是这样,不重复说明了。)

可执行程序的特点是可以直接执行,而无需事务码,这个也是一般报表开发最常用的程序类型。我们可以在 SE38 中直接点击执行按钮或按 F8 键来运行一个可执行程序。

可执行程序包含一些预定义的过程块,比如 INITIALIZATION、AT SELECTION-SCREEN、START-OF-SELECTION、END-OF-SELECTION 等等,有一个后台系统程序会控制可执行程序,按照规定的顺序依次调用这些过程块。首先显示一个选择屏幕,最后输出一个列表。可执行程序还能指定一个逻辑数据库,逻辑数据库也是一种程序,它按照预定义好的数据库表结构,依次根据主键读取相关的业务数据,可以用 SE36 查看逻辑数据库。

为屏幕绘制器画出的屏幕所用的模块池 (程序类型为 M)

模块池包含了来自业务的屏幕模块的处理步骤,它只能通过事务码或者菜单功能调用。

包含程序 (程序类型为 I)

包含了不能独立运行的程序代码,也就是说,无论你是在 SE38 里用执行功能还是通过事务码或菜单调用,都无法打开一个包含程序。它们的作用主要是让程序变得清晰和可以被重用,在其他程序里,用 INCLUDE 语句可以把一个包含程序加到程序里。最终的效果相当于用被包含的程序里的全部内容替换调 INCLUDE 语句。

子程序 (程序类型为 S)

这种类型的程序里只包含被外部 PERFORM 语句调用的程序块。也就是说,只包含形如 FORM ... ENDFORM 块的程序代码,从外部程序里,用 PERFORM IN PROGRAM [IF FOUND]. 来调用。

函数组 (程序类型为 F)

这类程序包含了函数模块。函数组和函数模块用函数制作器进行管理,事务码 SE37。在创建函数组和函数模块时,函数制作器把程序类型设置为 F。

接口池 (程序类型为 J)

包含了接口。类和接口都在类制作器中管理,事务码 SE24。

类池 (程序类型为 K)

包含了类。类和接口都在类制作器中管理,事务码 SE24。

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

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.

按结构区分的数据类型

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

                          可变长度数据类型

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

                          对象参考类型

复杂数据类型:结构类型

                          表类型

ABAP是一种高级企业应用编程语言(Advanced Business Application Programming),起源于20世纪80年代。经过不断的发展,现在的版本为ABAP/4,SAP R/3的应用程序就是用ABAP/4编写的。

ABAP/4是面向对象语言。它支持封装性和继承性。封装性是面向对象的基础,而继承性则是建立在封装性基础上的重要特性。

ABAP/4具有事件驱动的特性。

ABAP/4和COBOL具有类似之处。

ABAP/4适合生成报表。

ABAP/4支持对数据库的 *** 作。

SAP最初开发ABAP/4(高级商业应用程序设计)语言仅为内部使用,为应用程序员提供优化的工作环境。经过不断的改进和修改以满足商业领域的需要。现在,ABAP/4已成为SAP开发所有自己的应用程序的仅有工具。

SAP客户用ABAP/4进行其自身开发。这样的开发对R/3标准解决方案适应特殊问题非常重要。ABAP/4开发工作平台包含所有用于创建和维护ABAP/4程序的工具。

ABAP/4的可解释特性使其易于生成、测试并运行程序的中级版本,以便将来生成最终版本。此过程也叫做早期原形处理,意味着您不必丢弃中级版本。

ABAP/4是第四代支持结构化程序设计的语言。它合并了所有通常的控制结构和模块化概念。

在ABAP/4开发宝典中文版的第一部分,对ABAP/4的基本特性进行了详细描述。这些特性包括:

· ABAP/4包括

- 带有各种类型和结构的声明数据的声明元素

- 数据制作的 *** 作元素

- 控制程序流的控制元素

- 反应外部事件的事件元素

· ABAP/4支持多种语言。文本摘要(例如,标题、页眉和其他文本)将根据程序代码分别存储。您可以随时在不改变程序代码的情况下更改、转换和维护这些文本摘要。

· ABAP/4支持商业数据类型和 *** 作。您可以用特殊日期和时间字段进行计算。系统会自动执行必需的类型转换。

· ABAP/4提供一系列功能处理字符串。

· ABAP/4包含一个叫OpenSQL的SQL子集。用OpenSQL,您可以读取和访问数据库表,与所用的数据库系统无关。

· ABAP/4允许您定义和处理内部表,该表只在运行程序时存在。内部表使其更容易处理数据表,并帮助使用程序中的复杂数据结构。

· ABAP/4允许您定义和调用子程序。也可以调用其他程序的子程序。参数能够以各种方式从子程序传递或传递到子程序。

· ABAP/4包含一种特殊子程序,叫做功能模块。您可以在中央库中创建和维护功能模块。在调用程序和子程序之间功能模块有一个明确定义的数据接口。它们能够以调用程序的独立模式进行分别测试。

这里有两种主要的ABAP/4程序类型:

· 报表程序

报表程序用于分析数据库表中的数据。这种分析的结果可以显示在屏幕上或发送到打印机上。逻辑数据库支持报表程序。逻辑数据库是特殊的ABAP/4程序,使开发者不必编码所有的数据库访问


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

原文地址:https://54852.com/yw/8132655.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存