abap基本语法汇总(汇编)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一数据类型和对象
在ABAP中,可以使用与标准数据声明相似的语法处理数据类型,而与数据对象无关。
在程序中必须声明要使用的全部数据对象。声明过程中,必须给数据对象分配属性,其中最重要的属性就是数据类型。
1.1 基本数据类型
对算术运算的非整型结果(如分数)进行四舍五入,而不是截断。
类型 P 数据允许在小数点后有数字。有效大小可以是从 1 到 16 字节的任何值。将两个十进制数字压缩到一个字节,而最后一个字节包含一个数字和符号。在小数点后最多允许14 个数字。
1.2 系统定义的数据对象
1.3 确定数据对象的属性
如果要查明数据对象的数据类型,或者要在程序的运行期间使用其属性,可使用DESCRIBE 语句。语法如下:
DESCRIBE FIELD
[OUTPUT-LENGTH
[EDIT MASK
将由语句的参数指定的数据对象
DESCRIBE FIELDS 语句具有下列参数:
1.3.1 确定字段长度
要确定数据对象的长度,利用DESCRIBE FIELD 语句使用 LENGTH 参数,如下所示:DESCRIBE FIELD
系统读取字段
1.3.2确定数据类型
要确定字段的数据类型,利用DESCRIBE FIELD 语句使用 TYPE 参数,如下所示:DESCRIBE FIELD
系统读取字段
除返回预定义数据类型 C、D、F、I、N、P、T 和 X 外,该语句还返回
2 s 对于带前导符号的两字节整型
2 b 对于无前导符号的一字节整型
2 h 对于内表
2 C 对于组件中没有嵌套结构的结构
2 C 对于组件中至少有一个嵌套结构的结构
1.3.3确定输出长度
要确定字段的输出长度,利用 DESCRIBE FIELD 语句使用 OUTPUT-LENGTH 参数,如下
所示:
DESCRIBE FIELD
系统读取字段
1.3.4确定小数位
若要确定类型P字段的小数位的个数,利用 DESCRIBE FIELD语句使用 DECIMALS参数,如下所示:
DESCRIBE FIELD
系统读取字段
1.3.5 确定转换例程
要确定 ABAP/4 词典中某字段的转换例程是否存在,如果存在,名称是什么,利用DESCRIBE FIELD 语句使用 EDIT MASK 参数,如下所示:
DESCRIBE FIELD
如果 ABAP/4 词典中字段
可以像下面所显示的那样,在 WRITE 语句中将字段
WRITE
如果字段
二数据输出到屏幕
2.1 在屏幕上定位Write输出
通过制定字段名称前面的格式规范,可以在屏幕上定位 WRITE 语句的输出:
WRITE AT [/][
此处
3 斜线‘/’表示新的一行
3
3
如果格式规范只包含直接值(即,不是变量),可以忽略关键字 AT。
2.2 格式化选项
对 WRITE 语句,可以使用不同的格式化选项。
WRITE ....
(1)所有数据类型的格式化选项:
(2)数字字段的格式化选项:
(3)日期字段的格式化选项:
2.3输出符号和图标
使用下列语法,可以在屏幕上输出符号和 R/3 图标:
WRITE
WRITE
符号和图标的名称(<符号名>和<图标名>)是定义系统的常量,这些常量在包含程序
要使符号和图标对程序可用,必须在程序中输入恰当的包含程序或更易理解的包含程序。
2.4 输出线和空行
(1)水平线
用下列语法,可以在输出屏幕上生成水平线:
ULINE [AT [/][
它等同于
WRITE [AT [/][
AT 后的格式规范,与在屏幕上定位 WRITE 输出中为 WRITE 语句说明的格式规范完全一样。如果没有格式规范,系统则开始新的一行,并用水平线填充该行。否则,只按指定输出水平线。
生成水平线的另一种方法,是在 WRITE 语句中键入恰当数量的连字符,如下所示:WRITE [AT [/][
(2)垂直线
用下列语法,可以在输出屏幕上生成垂直线:
WRITE [AT [/][
或
WRITE [AT [/][
(3)空行
用下列语法,可以在输出屏幕上生成空行:
SKIP [
该语句从当前行开始,在输出屏幕上生成
(4)要将输出定位在屏幕的指定行上,使用:
SKIP TO LINE
该语句允许将输出位置向上或向下移动。
2.5 将字段内容作为复选框输出
使用下列语法,可以将字段的第一个字符,作为复选框输出到输出屏幕上:
WRITE
如果字段
该语句创建的复选框,默认状态是可输入的。就是说,用户可以通过单击鼠标来填充它们或使其为空。