
可执行程序的特点是可以直接执行,而无需事务码,这个也是一般报表开发最常用的程序类型。我们可以在 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程序,使开发者不必编码所有的数据库访问
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)