Developing your First ABAP Application

Objective

After completing this lesson, you will be able to 介绍基本级别的 ABAP 语言

在 ABAP 开发工具中创建简单 ABAP 代码

创建 Hello World 应用

在现代 ABAP 编程中使用的主要用户界面技术是 SAP Fiori。但是,ABAP 开发工具 (ADT) 提供了一个控制台,允许您在测试应用程序中快速而简单地创建输出。

有关 SAP Fiori 的详细信息,请查看 Learning Journey Learning SAP Fiori 的基础知识,网址为 http://learning.sap.com。
  1. 在类中写入 ABAP 代码,然后选择 文件新建ABAP 类
  2. 将出现一个对话框,您可以在其中验证项目是否正确。
  3. 输入已创建的包的名称。
  4. 输入您的班级名称,记住以 Z 或 Y 开头。最多可以有 30 个字符和字母 A–Z、数字 0–9 和下划线符号。
  5. 选择添加选项将接口添加到类(在本示例中为 IF_OO_ADT_CLASSRUN)以允许输出到控制台。
  6. 使用过滤器字段限制清单中的条目数。
  7. 双击接口 (IF_OO_ADT_CLASSRUN)。
  8. 当返回到 ABAP 类对话框时,将出现新接口。
  9. 选择下一步
  10. 接下来,将类分配到传输请求。
  11. 在您参与的 从请求中选择 下,标记用于创建包的请求。
  12. 选择完成
显示初始源代码的新创建 ABAP 类的屏幕截图

接口 IF_OO_ADT_CLASSRUN 允许您使用 F9 键值在 ABAP 开发工具 (ADT) 中运行类。执行此操作时,系统会执行 METHOD if_oo_adt_classrun~main 和 ENDMETHOD 之间的代码。在此代码块中,您可以在 ADT 控制台中输出信息。

将 ‘Hello World’ 输出到控制台的 ABAP 代码的屏幕截图

在代码块中,您可以使用 out->write( ) 在控制台中显示信息。该行

Code Snippet
1
out->write( "Hello World" ).
将"Hello World"输出到控制台。关键是,此时无需了解其运行方式;您只需输入代码,确保以下内容:

  • 写入与左括号之间没有空格
  • 左括号后至少有一个空格
  • 右括号前至少有一个空格
  • 行末有一个期间
源代码编辑器视图中语法错误旁错误符号的屏幕截图,以及 问题 视图中的错误描述

ABAP 开发工具在您继续操作时检查您的代码,并使用红色背景上的白色叉号标记编辑器左侧边距中的错误。

您可以在编辑器下的问题视图中查看相应的错误消息。当您将鼠标悬停在编辑器中的错误符号上时,ABAP 开发工具还将显示与弹出窗口相同的消息。

单击“激活”按钮将源代码版本从“未激活”更改为“已激活”

要运行 ABAP 对象,必须将其激活。激活对象将检查语法、保存对象并生成对象的运行时版本。如果存在语法错误,将不会激活对象。要激活对象,请在工具栏中选择激活图标,或使用键盘快捷键 Ctrl + F3(在键盘上)。您可以通过在属性视图中查看对象是否处于活动状态,该视图通常位于 ABAP 编辑器下方的标签中。

右键单击控制台视图中输出消息 ‘Hello World’ 屏幕截图旁的源代码后,上下文菜单的屏幕截图,其中包含运行为 ABAP 应用程序按钮

要运行类,请选择键盘上的 F9,或在编辑器中右键单击,然后选择运行方式ABAP 应用程序(控制台)。输出 "Hello World" 将显示在控制台中。如果无法看到控制台视图,请选择 窗口显示视图其他... ,然后选择控制台视图。

使用 Eclipse 编辑器

在 ABAP 编辑器中编写代码时,以下是一些重要的关键功能。

ABAP 编辑器中的关键功能

按钮键盘命令描述
CTRL + S保存
CTRL + F2检查语法
CTRL + F3激活
F9ABAP 应用程序(控制台)

创建 Hello World 应用程序

业务示例

您是 SAP 客户的程序员,并使用新的 ABAP 开发工具。您想要在 Eclipse 中创建 ABAP 类,然后将其激活并作为 ABAP 应用程序运行。

我们将此类分配给之前创建的包。让类实施接口 IF_OO_ADT_CLASSRUN,以便您可以将该类用作 Eclipse 控制台应用的主程序。

注意

在本练习中,XX 指的是您的编号。

步骤

  1. 在之前创建的包中,创建名称为 ZCL_XX_HELLO_WORLD 的新 ABAP 类。确保使用接口 IF_OO_ADT_CLASSRUN。当提示您将类分配到传输请求时,请使用您在上一练习中创建的传输请求。

    1. 选择 文件新建ABAP 类

    2. 输入您的包 ZS4D100_XX,其中 XX 是您的编号。 

    3. 输入名称 ZCL_XX_HELLO_WORLD,其中 XX 是您的编号,然后输入类的描述。

    4.  选择添加...(位于 接口 组框旁)。

    5. 输入过滤器文本 IF_OO_ADT_CLASSRUN。双击搜索结果清单中的匹配条目。

    6. 选择下一步

    7. 选择 从我参与的请求和您自己的传输请求中选择

    8. 选择完成

  2. if_oo_adt_classrun~main( ) 方法中,使用 out->write( ) 输出短语 Hello World。

    1. 在编辑器中,在 METHOD if_oo_adt_classrun~mainENDMETHOD 之间输入以下编码:out->write( | Hello World | ).

  3. 激活并测试类。

    1. 激活 (Ctrl-F3)

    2. F9 运行类。

  4. 在 Eclipse 的控制台视图中检查输出。

    1. 检查应在编辑器视图下作为新选项卡打开的控制台视图。

    2. 如果控制台视图不可见,请选择 窗口显示视图其他 将其打开。双击命中清单中的 控制台 。

      Code Snippet
      12345678910111213141516
      " Full Solution Code CLASS zcl_s4d100_hello_world_sol DEFINITION PUBLIC FINAL CREATE PUBLIC. PUBLIC SECTION. INTERFACES IF_OO_ADT_CLASSRUN. PROTECTED SECTION. PRIVATE SECTION. ENDCLASS. CLASS zcl_s4d100_hello_world_sol IMPLEMENTATION. METHOD if_oo_adt_classrun~main. out->write( | Hello World! | ). ENDMETHOD. ENDCLASS.

      实践