SAP ABAP – 基本语法

SAP ABAP – 基本语法


声明

ABAP 源程序由注释和 ABAP 语句组成。ABAP 中的每个语句都以关键字开头并以句点结束,并且 ABAP 不区分大小写。

程序中的第一个非注释行以 REPORT 一词开头。报告将始终是创建的任何可执行程序的第一行。该语句后跟之前创建的程序名称。然后该线以句号终止。

语法是 –

REPORT [Program_Name]. 
 
[Statements…]. 

这允许语句根据需要在编辑器中占据尽可能多的行。例如,报告可能如下所示 –

REPORT Z_Test123_01. 

语句由命令和任何变量和选项组成,以句点结尾。只要句号出现在语句末尾,就不会出现问题。正是这个时期标志着声明结束的地方。

我们来写代码。

在 REPORT 语句下方的行中,只需键入以下语句:Write ‘ABAP Tutorial’。

REPORT Z_Test123_01.

Write 'This is ABAP Tutorial'. 

撰写陈述时要考虑的四件事

  • write 语句将引号中的内容写入输出窗口。

  • ABAP 编辑器将所有文本转换为大写,除了用单引号括起来的文本字符串。

  • 与一些较旧的编程语言不同,ABAP 不关心语句在一行的何处开始。您可以利用这一点并通过使用缩进来指示代码块来提高程序的可读性。

  • ABAP 对语句的布局没有限制。也就是说,多个语句可以放在一行上,或者一个语句可以跨多行。

冒号符号

如果每个语句的开头相同,则可以将连续语句链接在一起。这是通过冒号 (:) 运算符和逗号完成的,它们用于终止单个语句,就像句点结束正常语句一样。

以下是可以保存一些按键的程序示例 –

WRITE 'Hello'. 
WRITE 'ABAP'. 
WRITE 'World'. 

使用冒号符号,可以这样重写 –

WRITE: 'Hello', 
       'ABAP', 
       'World'.

与任何其他 ABAP 语句一样,布局无关紧要。这是一个同样正确的陈述 –

WRITE: 'Hello', 'ABAP', 'World'.

评论

可以通过以下两种方法之一在程序中的任何位置声明内联注释 –

  • 整行注释通过在行的第一个位置放置星号 (*) 来表示,在这种情况下,系统将整行视为注释。评论不需要以句号结束,因为它们可能不会超过一行 –

* This is the comment line
  • 部分行注释通过在语句后输入双引号 (“) 表示。双引号后面的所有文本都被系统视为注释。您不需要以句点终止部分行注释,因为它们可能不会扩展到更多不止一行 –

WRITE 'Hello'. "Here is the partial comment

注意– 注释代码不被 ABAP 编辑器大写。

抑制空白

NO-ZERO 命令跟在 DATA 语句之后。它抑制包含空格的数字字段的所有前导零。输出通常更容易让用户阅读。

例子

REPORT Z_Test123_01. 

DATA: W_NUR(10) TYPE N.
      MOVE 50 TO W_NUR.
      WRITE W_NUR NO-ZERO.

上面的代码产生以下输出 –

50

注意– 如果没有 NO-ZERO 命令,输出为:0000000050

空行

SKIP 命令有助于在页面上插入空行。

例子

消息命令如下 –

WRITE 'This is the 1st line'. 
SKIP. 
WRITE 'This is the 2nd line'. 

上述消息命令产生以下输出 –

This is the 1st line 
This is the 2nd line

我们可以使用 SKIP 命令插入多个空行。

SKIP number_of_lines. 

输出将是由行数定义的几个空行。SKIP 命令还可以将光标定位在页面上所需的行上。

SKIP TO LINE line_number. 

该命令用于在页面上下动态移动光标。通常,在此命令之后会出现 WRITE 语句,以将输出放在所需的行上。

插入行

ULINE 命令会自动在输出中插入一条水平线。也可以控制线的位置和长度。语法非常简单 –

ULINE.

例子

消息命令如下 –

WRITE 'This is Underlined'.
ULINE.

上面的代码产生以下输出 –

This is Underlined (and a horizontal line below this).

留言

MESSAGE 命令显示由程序开头的 REPORT 语句中指定的消息 ID 定义的消息。消息 ID 是一个 2 个字符的代码,它定义了当使用 MESSAGE 命令时程序将访问哪一组 1,000 条消息。

消息编号从 000 到 999。与每个编号相关联的是最多 80 个字符的消息文本。调用消息号时,会显示相应的文本。

以下是与 Message 命令一起使用的字符 –

Message 类型 结果
E 错误 该消息出现并且应用程序在其当前点停止。如果程序在后台模式下运行,则取消作业并在作业日志中记录消息。
W 警告 该消息出现,用户必须按 Enter 才能继续应用程序。在后台模式下,消息记录在作业日志中。
I 信息 一个带有消息文本的弹出窗口打开,用户必须按 Enter 才能继续。在后台模式下,消息记录在作业日志中。
A 异常结束 此消息类取消用户当前正在使用的事务。
S 成功 这会在屏幕底部提供一条信息性消息。显示的信息本质上是积极的,仅用于用户反馈。该消息不会以任何方式阻碍程序。
X 中止 此消息中止程序并生成 ABAP 短转储。

错误消息通常用于阻止用户做他们不应该做的事情。警告消息通常用于提醒用户其行为的后果。信息消息为用户提供有用的信息。

例子

当我们为消息 ID AB 创建消息时,MESSAGE 命令 – MESSAGE E011 给出以下输出 –

EAB011 This report does not support sub-number summarization.

觉得文章有用?

点个广告表达一下你的爱意吧 !😁