1、了解SAP ABAP编辑器
一个语句可以跨多行,只要不遇到句号,就认为是一个延续的语句,可以把多个语句放在一行。
关键字和用户操作数都一样,除了引号中的内容。
注释行由第一列的星号(*)开头,并且必须写在第一 列,前面不能有
空格(行注释)。
编译器忽略注释行,不会执行
在行末的注释用双引号(”)作为前导(部分注释)。
由于编程的时候随时切换大小写比较麻烦,可以在ABAP编辑器中 用“规范化打印机”按钮来自动转换
如果连续多行的第一个关键字相同,可以使用链语句的方式减少输
入。
第一个关键字后面用一个冒号表示链语句开始
链语句的最后一句结束还是用句号,但是中间的分隔由句号改成逗
号。
空格和换行跟基本语句一样,可以任意加。
注意,这样的写法并不会提高执行效率,仅仅为了显示好看。
3、程序类型
可执行程序的特点是可以直接执行,而无需事务码,这个也是一般报表开发最常用的程序类型。可执行程序包含一些预定义的过程块,比如INITIALIZATION、AT SELECTION-SCREEN、START-OF-SELECTION、END-OF-SELECTION 等等,有一个后台系统程序会控制可执行程序,按照规定的顺序依次调用这些过程块。首先显示一个选择屏幕,最后输出一个列表。
模块池包含了来自业务的屏幕模块的处理步骤,它只能通过事务码或者菜单功能调用。
包含了不能独立运行的程序代码,它的作用主要是让程序变得清晰和可以被重用,在其他程序里,用INCLUDE 语句可以把一个包含程序加到程序里。最终的效果相当于用被包含的程序里的全部内容替换调INCLUDE 语句。
这种类型的程序里只包含被外部 PERFORM 语句调用的程序块。也就是说,只包含形如FORM ... ENDFORM 块的程序代码,从外部程序里,用 PERFORM IN PROGRAM[IF FOUND]. 来调用。
这类程序包含了函数模块。函数组和函数模块用函数制作器进行管理,事务码 SE37。在创建函数组和函数模块时,函数制作器把程序类型设置为F。
包含了接口。类和接口池 (程序类型为J)
接口都在类制作器中管理,事务码 SE24。
包含了类。类和接口都在类制作器中管理,事务码 SE24。
标准数据类型(预定义数据类型)、本地数据类型、全局数据类型
4.1 数据类型——预定义类型
它是SAP内置的基本数据类型,所有其他数据元素和域都是由这些基本数据类型组合而成的。它可以分为完整的和非完整的。
完整的数据类型指它包含了与类型相关的固定长度的信息
非完整的数据类型指它所对应的变量长度是在数据对象定义时指定的。
4.2 数据类型——本地数据类型
可以使用这些基本类型来定义更完整和更复杂的本地数据类型,但是它们只能作为当前程序的增强,这些定义可以用TYPES 语句来实现。
4.3 数据类型——全局数据类型
在ABAP字典中定义的类型,可以在整个SAP 系统中使用。
4.4 数据对象——变量
DATA myvar2LIKE myvar1.
DATA number1 TYPE iVALUE 17.
DATA number2 TYPE c LENGTH 8.
DATA number2(8) TYPE C.
DATA myvar. 定义一个长度为1 个字符的C 类型变量。
数值文字:123、-123
字符文字:’Hello’、’123.45’、’123.45E03’
CONSTANTS myc TYPE tname VALUE { 文字| IS INITIAL }