在Eclipse中创建一个ABAP项目

第1步:下载,安装并启动Eclipse IDE

ABAP开发是在Eclipse IDE中使用自定义ABAP工具完成的。如果您尚未安装Eclipse,请下载适用于Java开发人员的Eclipse IDE,然后立即安装并启动该应用程序。

第2步:为SAP NetWeaver(ADT)安装ABAP开发工具

  • 在Eclipse菜单栏中,选择:帮助>安装新软件...
  • 在对话框中添加URL https://tools.hana.ondemand.com/neon(例如Eclipse Neon 4.6)
  • Enter显示可用的功能
  • 选择适用于SAP NetWeaverABAP开发工具,然后单击下一步
  • 在下一个向导页面上,您将看到要安装的功能的概述。点击下一步
  • 确认许可协议,然后单击完成开始安装
  • 第3步:切换视角
  • 单击Open Perspective按钮或使用菜单:Window> Open Perspective> Other切换到ABAP透视图。
  • 第4步:关闭欢迎页面
  • 欢迎页面可能会出现。它给出了关于Eclipse的一些一般信息。点击工作台按钮离开欢迎页面。
  • 第5步:选择ABAP透视图
  • 点击Open Perspective按钮。
  • 然后通过在列表中选择ABAP并单击确定按钮切换到ABAP透视图。
  • 第6步:熟悉工具布局
  • 在ABAP透视图中,ABAP工具理想地位于IDE中,以便于开发任务。不过,您可以根据自己的需要自由重新排列所有视图和编辑。
  • 第7步:新的ABAP项目
  • 打开文件菜单,选择新建,然后点击ABAP项目。从SAP系统连接列表中选择ABAP后端系统,然后按下一步按钮。
  • 第8步:选择连接设置
  • 在连接设置对话框中单击下一步。
  • 第9步:输入您的登录数据
  • 在下一个屏幕上输入您的登录数据并单击完成按钮。

第10步:创建项目

ABAP项目已创建。它表示与您选择的SAP系统的系统连接。

显示数据库内容并运行SQL查询

你将学习

在本教程中,您将学习如何使用数据预览来显示表和视图的内容,以及如何使用SQL控制台执行临时SQL查询。

本教程从SAP NetWeaver Demo样本EPM模型的表格开始(您可以在SAP Community NetWeaver企业采购模型 - 简介中找到详细信息 ),因此您可以在任何SAP NetWeaver 7.5系统上重复教程。

第1步:打开数据预览

在Eclipse中,单击或使用键盘快捷键Alt+F8执行ABAP开发对象。您将“执行”数据库表snwd_so_inv_item。这将打开数据预览,这将允许您浏览EPM模型中的发票项目。

第2步:选择一个数据库表

snwd_so_inv_item在搜索字段中输入。一旦搜索结果已经传递或者表格已经在历史列表中,点击条目** SNWD_SO_INV_ITEM**。点击确定打开数据预览。

第3步:数据预览

在数据预览中单击选择列以更改从数据库中检索哪些字段。

第4步:选择列

首先点击取消全选。只选择字段GROSS_AMOUNT和CURRENCY_CODE。点击确定确认您的选择。

数据预览会相应地刷新。

第5步:添加一个过滤器

添加过滤器并选择CURRENCY_CODE。

第6步:输入过滤条件

USD在文本字段中输入以过滤美元的项目并按Enter键。

数据预览会相应地刷新。

第7步:打开SQL控制台

单击SQL控制台按钮以打开SQL控制台。

第8步:初始化SQL SELECT语句

SQL控制台显示SELECT用于检索数据预览数据的语句。在以下步骤中,您将调整SELECT报表以读取订单的付款状态和买方的公司名称。

第9步:添加JOIN条件

调整SQL控制台中的SELECT语句,以通过执行以下操作来从订单标题中获取付款状态:JOIN为表添加条件snwd_so_inv_head

注意:您可能会遇到错误。你会在下一步中解决这个问题。

FROM查询的部分应该如下所示:

复制代码

SNWD_SO_INV_ITEM join SNWD_SO_INV_HEAD

on SNWD_SO_INV_ITEM~parent_key = SNWD_SO_INV_HEAD~node_key

第10步:更新WHERE子句

修改WHERE子句以匹配以下内容:

复制代码

SNWD_SO_INV_ITEM~CURRENCY_CODE = ‘USD‘

第11步:将字段添加到SELECT列表

payment_status将表中的字段添加snwd_so_inv_head到SELECT列表中。

第12步:运行查询

单击运行以执行当前查询或按F8键。

第13步:检查查询结果

检查右侧的输出是否包含付款状态。

第14步:调整SELECT语句

再次调整SELECT语句以snwd_bpa通过添加表的JOIN条件从表中检索公司名称snwd_bpa。

复制代码

join SNWD_BPA

on SNWD_SO_INV_HEAD~buyer_guid = SNWD_BPA~node_key

步骤15:添加公司名称字段

company_name将表中的字段添加snwd_bpa到SELECT列表中。

复制代码

SNWD_BPA~company_name,

SNWD_SO_INV_ITEM~GROSS_AMOUNT,

SNWD_SO_INV_ITEM~CURRENCY_CODE,

SNWD_SO_INV_HEAD~PAYMENT_STATUS

第16步:添加一个order by子句

添加一个ORDER
BY条款按照买方的公司名称对结果进行排序。

复制代码

ORDER BY SNWD_BPA~company_name

第17步:运行修改后的查询

单击运行以执行当前查询或按F8。

第18步:查看更新的结果

检查右侧的输出是否包含公司名称。您稍后将重复使用此SELECT语句在ABAP类中进行数据检索。所以只需保持SQL控制台处于打开状态

创建并运行ABAP应用程序

根据样本EPM数据模型中的表创建并运行ABAP应用程序。

你将学习

在本教程中,您将学习如何基于SAP
NetWeaver Demo样本EPM模型的表创建和运行ABAP应用程序(SAP社区中详细信息)SAP NetWeaver企业采购模型 - 介绍,因此您可以在任何SAP上重申本教程NetWeaver 7.5系统。


第1步:创建新的ABAP程序

一个。创建全球数据字典(“DDIC”)结构:在工具栏中,选择图标,然后选择ABAP程序...

向导似乎创建一个新的ABAP程序。z_invoice_items_euro在名称字段中输入。在描述字段中输入一个有意义的文本。点击完成创建报告。

之后会打开一个编辑器,显示空白报告。

第2步:创建ABAP本地类

键入lcl并按下Ctrl+Space即可获取代码完成建议。通过双击选择用于插入本地类的代码模板,lcl - Local class或者Enter如果已经选择了正确的条目,请按。

调整本地类的名??称以lcl_main使用内联编辑。

第3步:创建CREATE方法

将光标定位在类定义语句中,然后按Ctrl + 1打开快速修复菜单。双击Generate factory method create来创建静态工厂方法。

第4步:执行RUN方法

一个。添加额外的实例方法的定义运行输入methods run.公共部分。

湾 然后将光标定位在方法名称上,然后按Ctrl + 1打开Quick-Fix菜单。双击运行添加实施

在方法运行中实现一个简单的WRITE语句。

第5步:使ABAP程序可以运行

一个。在您的报告中添加START-OF-SELECTION事件

b。创建本地类的实例lcl_main。

C。调用run方法。

即,输入以下代码:

复制代码

START-OF-SELECTION.

lcl_main=>create( )->run( ).

第6步:保存并激活ABAP程序

单击工具栏上的保存激活按钮,保存并激活您的程序。

第7步:运行ABAP程序

F8运行您的程序。嵌入式SAP GUI将在Eclipse编辑器中打开。检查报告的输出后,单击关闭图标关闭选项卡。

创建一个新的数据字典结构

您将学习如何创建数据字典结构

第1步:创建全局数据字典结构

现在您将创建一个全局数据字典(“DDIC”)结构:在工具栏中,选择New图标,然后选择Other ...

第2步:过滤对象类型的列表

在出现的向导中,通过输入过滤ABAP存储库对象类型列表**struct**。

第3步:输入名称和说明

然后输入以下内容并选择完成

?名称= ?说明=例如发票项目结构ZSO_INVOICE_ITEM

打开一个新的文本编辑器,显示新创建的数据字典结构的内容。

第4步:删除生成的组件

component_to_be_changed从结构中移除生成的示例组件:

第5步:为结构定义字段

在该项目的结构中,定义的字段company_name,amount,currency_code,和payment_status,如下所示:

复制代码

company_name  
: snwd_company_name;

amount        
: snwd_ttl_gross_amount;

currency_code 
: snwd_curr_code;

payment_status : snwd_soi_payment_status_code;

编辑器显示语法错误,因为数量尚未绑定到货币代码。

第6步:绑定金额代码注释

将金额绑定到货币代码:

a。在字段前添加一个新行,通过输入Ctrl +空格来amount添加@并打开代码完成。显示所有可能的注释列表。

湾 选择注释@Semantics.amount.currencyCode

C。再次触发代码完成:: ‘在之后输入@Semantics.amount.currencyCode,然后选择Ctrl +空格,然后选择注释zso_invoice_item.currency_code

d。最后选择保存(Ctrl + S

你不应该再有这个语法错误。

步骤7:检查并激活结构

回到结构中ZSO_INVOICE_ITEM,选择检查ABAP开发对象(Ctrl + F2。然后选择激活(Ctrl + F3

数据字典结构ZSO_INVOICE_ITEM现在被激活。

你的代码应该是这样的:

复制代码

@EndUserText.label : ‘Invoice Item
Structure‘

@AbapCatalog.enhancementCategory : #NOT_EXTENSIBLE

define type zso_invoice_item {

company_name  
: snwd_company_name;

@Semantics.amount.currencyCode : ‘zso_invoice_item.currency_code‘

amount        
: snwd_ttl_gross_amount;

currency_code 
: snwd_curr_code;

payment_status : snwd_soi_payment_status_code;

}

创建一个全局ABAP类

您将学习如何创建一个全局的ABAP类,其中您将从数据库中检索数据。

先决条件

开发环境: ABAP开发工具,AS ABAP 7.50或更高版本

你将学习

在之前的教程中,您学习了如何:

1. 创建并运行ABAP程序

2. 显示数据库内容并运行SQL查询

3. 创建ABAP数据字典结构

现在,您将把所有这些放在一起:在ABAP程序中,您将:

- 创建一个全局类

- ...使用数据预览和SQL工具从后端检索数据

- ...然后使用ABAP结构作为类型返回参数。

将数据检索逻辑封装在全局ABAP类中,使您能够正确分离关注点并熟悉更广泛的工具集。

最后,您将学习如何在SAP列表查看器(“ ALV Grid”)中显示数据。

第1步:打开您的ABAP程序

首先,打开你ZSO_INVOICE_ITEMS_EURO在上一篇教程中创建的ABAP程序创建并运行一个ABAP应用程序

第2步:删除WRITE语句

在程序中ZSO_INVOICE_ITEMS_EURO,删除WRITE语句:通过将光标放在WRITE语句的某处并选择Ctrl + D删除整行:

第3步:创建全球课程

现在创建数据检索的全局类:

一个。在run方法中,创建一个类型的局部变量zcl_invoice_retrieval:

data: invoices type ref to zcl_invoice_retrieval

湾 由于这个类还不存在,你会得到一个语法错误。要创建班级,请将光标放在班级名称上,然后通过选择Ctrl + 1打开快速帮助。在快速帮助菜单中,双击创建全局类zcl_invoice_retrieval

C。将出现一个向导来创建一个新的ABAP类。输入:

- 名称- 说明发票检索ZCL_INVOICE_RETRIEVAL

d。选择完成

将会打开一个新编辑器,显示您创建的课程,ZCL_INVOICE_RETRIEVAL。

第4步:检查语法

如有必要,请返回到您的程序并使用键盘快捷键触发语法检查Ctrl+F2。

语法错误不应再发生。

第5步:实例化类

仍然在你的程序中,zcl_invoice_retrieval使用new运算符创建一个类的实例:

第6步:创建一个获取数据库记录的方法

要从数据库中读取记录,您需要调用一个方法get_items_from_db。

该方法尚不存在,所以我们将使用快速辅助创建它,如下所示:

一个。仍然在你的程序中,输入一个方法调用:

invoices->get_items_from_db

湾 由于该方法不存在,您将收到错误。将光标定位在缺失方法的名称上,然后选择快速辅助(Ctrl+1。在快速帮助菜单中,选择创建方法get_items_from_db

C。在出现的Create class向导中,只需选择Finish,创建一个不带参数的公共方法:

在该类中ZCL_INVOICE_RETRIEVAL,快速辅助创建:

- 方法定义

- 空方法实现:

第7步:添加方法实现

在以前的教程(显示数据库内容和运行SQL查询)中,您SELECT使用SQL控制台生成了一条语句。使用SQL控制台的优点是,您可以通过定义子句来减少错误
- 就像JOIN, WHERE, or ORDER BY-
只需操作数据预览即可。SQL控制台会自动为您生成正确的SELECT语句。

您现在将SELECT在您的类中使用此生成的语句从数据库检索数据。

注意:我们强烈建议您通过完成此前的教程来了解SQL控制台。但是,如果您不再打开SQL控制台,则可以简单地将以下SELECT语句复制到方法实现中(请参阅下面的步骤c)。

一个。回到SQL控制台:

湾 调整查询部分的大小并使用快捷键Ctrl
+ C
复制Open
SQL语句:

C。现在,在你的类中ZCL_INVOICE_RETRIEVAL,将语句粘贴到get_items_from_db(使用Ctrl + V)的方法实现中:

来自SQL控制台的代码应该如下所示。请注意,SQL控制台查询部分自动添加INTO子句INTO TABLE @DATA(LT_RESULT)

复制代码

SELECT
   SNWD_BPA~COMPANY_NAME,
   SNWD_SO_INV_ITEM~GROSS_AMOUNT,
   SNWD_SO_INV_ITEM~CURRENCY_CODE,
   SNWD_SO_INV_HEAD~PAYMENT_STATUS
 FROM
  SNWD_SO_INV_ITEM JOIN SNWD_SO_INV_HEAD ON SNWD_SO_INV_ITEM~PARENT_KEY = SNWD_SO_INV_HEAD~NODE_KEY JOIN SNWD_BPA ON SNWD_SO_INV_HEAD~BUYER_GUID = SNWD_BPA~NODE_KEY
 WHERE
  SNWD_SO_INV_ITEM~CURRENCY_CODE = ‘USD‘
 ORDER BY  SNWD_BPA~COMPANY_NAME
 INTO TABLE @DATA(LT_RESULT).
 UP TO 100 ROWS.

该声明UP TO 100 ROWS将导致错误。你将在下一步中解决这个问题。

第8步:格式化代码

现在您可以格式化(即“漂亮打印”)源代码:打开“ 菜单并选择“ 格式。(或者,您可以使用快捷键Shift + F1)。

如果你想指定你的格式设置,你可以在项目的属性中做到这一点。在项目浏览器中右键单击项目并选择属性。

一个。删除添加UP TO 100 ROWS。

湾 要使SELECT语句更具可读性,请在JOIN条件中添加一些换行符:

第9步:显式声明局部变量

在前面的教程(创建结构)中,您创建了一个ABAP数据字典结构。现在,你将使用这个结构:

首先,我们将lt_result明确声明一个局部变量。然后,使用这个结构,我们将定义类型。您的方法的返回参数get_items_from_db

一个。首先将光标置于内联声明的变量上,lt_result然后通过选择Ctrl + 1打开Quick
Fix :

湾 lt_result通过双击快速修复菜单,选择显式声明本地变量:

这将创建一个引用本地类型的本地变量,并自动生成以下代码:

```ABAP

类型:开始为helper_type,

company_name TYPE snwd_bpa-company_name,

gross_amount TYPE snwd_so_inv_item-gross_amount,

currency_code TYPE snwd_so_inv_item_ currency_code,

payment_status TYPE snwd_so_inv_head-payment_status,

结束的helper_type。

DATA:lt_result类型标准表helper_type.`

```

它也取代INTO TABLE @DATA(lt_result)INTO TABLE @lt_result

第10步:用Dictionary结构替换helper_type

在接下来的步骤中,您将使用helper_type您创建的数据字典结构(在前面的教程创建ABAP数据字典结构中)替换本地类型。

仍然在发票检索类的编辑器中ZCL_INVOICE_RETRIEVAL

a。在该方法中get_items_from_db,将变量的类型更改lt_result为以下标准表格zso_invoice_item

湾 删除本地类型helper_type

第11步:声明局部变量作为返回参数

你的方法仍然不会返回任何数据。因此,您将使用另一个Quick Assist将本地变量转换为返回参数 - 以便您可以从程序中访问结果:

一个。为此,请将光标置于变量上lt_result并通过输入Ctrl + 1获得快速辅助。

湾 选择转换lt_result为返回参数

请注意,返回的参数已添加到方法中,并生成了基于结构的附加表类型:

第12步:保存并激活你的类

保存(Ctrl + S)和激活(Ctrl + F3)你的类。

第13步:在程序中使用返回参数

现在,在您的程序中,声明一个内联声明的变量data(invoice_items),以接收返回参数的结果,invoices->get_items_from_db( )如下所示:

第14步:生成ALV网格

最后,您可以ALV
Grid使用该类将发票项目显示为SAP列表查看器(“ ”)cl_salv_table。

在你的程序中,ZSO_INVOICE_ITEMS_EURO:

a。cl_salv_table=>通过输入Ctrl +空格键

b来输入并获取代码完成建议。选择静态方法factory并...

c。按Shift + Enter插入方法调用的完整签名:

如果您希望默认插入完整签名,则可以在首选项中更改代码完成的行为。在菜单中选择窗口并点击首选项。在“首选项”对话框中,在过滤器字段中输入代码完成,或者打开以下路径ABAP开发>编辑器>源代码编辑器>代码完成。在代码完成设置中,您可以激活复选框以完成时始终插入完整签名。

步骤15:改编ALV Grid工厂方法

在您生成的方法调用中:

一个。list_display,
r_container, and container_name使用快捷键Ctrl + D删除注释的导出参数

湾 取消对导入参数r_salv_table使用快捷Ctrl + 7和手动内嵌变量分配alv_table给它

C。将变量分配invoice_items给变化的参数t_table

d。然后调用的显示方法ALV_TABLE:alv_table->display(
):

你的方法应该是这样的:

复制代码

cl_salv_table=>factory(

IMPORTING

r_salv_table   =     data(alv_table)

CHANGING

t_table        = invoice_items ).

alv_table->display(  ).

第16步:检查你的代码

你的程序代码应该如下所示:

复制代码

*&---------------------------------------------------------------------*

*& Report
z_invoice_items_euro

*&---------------------------------------------------------------------*

*&

*&---------------------------------------------------------------------*

REPORT z_invoice_items_euro.

class lcl_main definition create private.

public section.

CLASS-METHODS create

RETURNING

value(r_result) TYPE REF TO lcl_main.

methods run.

protected section.

private section.

endclass.

class lcl_main implementation.

method create.

create object r_result.

endmethod.

method run.

data: invoices type ref to zcl_invoice_retrieval.

invoices = new ZCL_INVOICE_RETRIEVAL( ).

data(invoice_items) = invoices->get_items_from_db( ).

cl_salv_table=>factory(

IMPORTING

r_salv_table   =     data(alv_table)

CHANGING

t_table        = invoice_items ).

alv_table->display(  ).

endmethod.

endclass.

start-of-selection.

lcl_main=>create( )->run( ).

你的班级代码现在应该如下所示:

复制代码

CLASS zcl_invoice_retrieval DEFINITION

PUBLIC

FINAL

CREATE PUBLIC .

PUBLIC SECTION.

TYPES:
ty_table_of_zso_invoice_item TYPE STANDARD TABLE OF zso_invoice_item WITH DEFAULT KEY.

METHODS get_items_from_db

RETURNING

VALUE(lt_result) type ty_table_of_zso_invoice_item.

PROTECTED SECTION.

PRIVATE SECTION.

ENDCLASS.

CLASS zcl_invoice_retrieval IMPLEMENTATION.

METHOD get_items_from_db.

SELECT

snwd_bpa~company_name,

snwd_so_inv_item~gross_amount,

snwd_so_inv_item~currency_code,

snwd_so_inv_head~payment_status

FROM

snwd_so_inv_item

JOIN snwd_so_inv_head ON snwd_so_inv_item~parent_key = snwd_so_inv_head~node_key

JOIN snwd_bpa ON snwd_so_inv_head~buyer_guid = snwd_bpa~node_key

INTO TABLE @lt_result

WHERE

snwd_so_inv_item~currency_code = ‘USD‘

ORDER BY

snwd_bpa~company_name.

ENDMETHOD.

ENDCLASS.

第17步:保存并激活程序

通过单击工具栏中的激活图标或使用键盘快捷键Ctrl + F3来激活您的程序。

现在运行该程序。你应该像这样获得一个SAP列表查看器:

创建一个数据元素

您将学习如何创建一个数据元素,您将在稍后的教程中使用它。

你将学习

您将学习如何创建数据元素。然后,您将使用此数据元素为表中的某一列提供布尔逻辑,而该列又包含您从数据库检索到的数据。(在前面的教程中,创建一个ABAP类。)

第1步:更改字段类型(到新的数据元素)

返回到您的ABAP字典结构zso_invoice_item并将字段类型更改payment_status为zso_invoice_payment_status

由于数据元素zso_invoice_payment_status不存在,因此会出现语法错误,您将使用快速修复来解决该问题:

第2步:选择一个快速修复

打开快速修复:

一个。选择数据元素并通过选择Ctrl + 1显示所有可用的快速修复。

湾 然后选择创建数据元素zso_invoice_payment_status并选择回车

第3步:创建一个新的数据元素

在字段说明中输入新数据元素的说明,然后选择完成

第4步:输入类型和字段标签

在出现的数据元素编辑器中,输入以下内容:

一个。在类型名称框中,输入标志

湾 在右侧的字段标签下,输入以下内容:

?短= 已付

?中= 已付发票

?长= 已付发票

?标题= 已付发票

第5步:保存并激活数据元素

然后选择保存(Ctrl + S,然后激活(Ctrl + F3您的数据元素。

第6步:检查结构的语法错误

回到结构ZSO_INVOICE_ITEM并选择检查ABAP开发对象(Ctrl + F2

激活结构

选择激活Ctrl + F3

第8步:在ABAP类中使用您的数据元素

回到班级,**ZCL_INVOICE_RETRIEVAL**,你在前面的教程中创建(创建ABAP类)。)

现在,您将改变的值payment_statusP到被设定标识X(真)当发票已支付。

ORDER BYSELECT语句的子句后面输入以下代码:

复制代码

LOOP AT lt_result ASSIGNING FIELD-SYMBOL(<entry>).
    CASE <entry>-payment_status.
        WHEN ‘P‘.
            <entry>-payment_status = abap_true.
        WHEN OTHERS.
            <entry>-payment_status = abap_false.
    ENDCASE.
ENDLOOP.
 

第9步:保存并激活课程

最后,选择保存(Ctrl + S,然后激活(Ctrl + F3你的班级。

你的代码应该是这样的:

复制代码

CLASS zcl_invoice_retrieval DEFINITION

PUBLIC

FINAL

CREATE PUBLIC .

PUBLIC SECTION.

TYPES: ty_table_of_zso_invoice_item TYPE STANDARD TABLE OF zso_invoice_item WITH DEFAULT KEY.

METHODS get_items_from_db

RETURNING

VALUE(lt_result) type ty_table_of_zso_invoice_item.

PROTECTED SECTION.

PRIVATE SECTION.

ENDCLASS.

CLASS zcl_invoice_retrieval IMPLEMENTATION.

METHOD get_items_from_db.

SELECT

snwd_bpa~company_name,

snwd_so_inv_item~gross_amount,

snwd_so_inv_item~currency_code,

snwd_so_inv_head~payment_status

FROM

snwd_so_inv_item

JOIN snwd_so_inv_head ON snwd_so_inv_item~parent_key = snwd_so_inv_head~node_key

JOIN snwd_bpa ON snwd_so_inv_head~buyer_guid = snwd_bpa~node_key

INTO TABLE @lt_result

WHERE

snwd_so_inv_item~currency_code = ‘USD‘

ORDER BY

snwd_bpa~company_name.

LOOP AT lt_result ASSIGNING FIELD-SYMBOL(<entry>).

CASE <entry>-payment_status.

WHEN ‘P‘.

<entry>-payment_status = abap_true.

WHEN OTHERS.

<entry>-payment_status = abap_false.

ENDCASE.

ENDLOOP.

ENDMETHOD.

ENDCLASS.

第10步:测试您的更改

您现在可以在SAP列表查看器中测试更改的结果。

有一个首选项允许您在运行应用程序时重用SAP GUI窗口。要启用此功能,请选择窗口>首选项。在“首选项”对话框中,打开“ ABAP开发”>“SAP GUI集成并勾选相应的复选框。

返回到您的报告并通过选择F8执行它。您的SAP列表查看器应该大致如下所示:

在你的类上创建ABAPDoc

了解如何为您的班级维护ABAP Doc文档

你将学习

在下面的练习中,您将通过学习如何维护ABAP Doc来使程序更具可读性。您还将学习如何在ABAP开发工具(ADT)和SAP GUI中同步文档并进行显示。

第1步:打开你的ABAP类

首先,打开您在创建ABAP类创建的ABAP类

第2步:添加ABAP文档注释

为了提高可读性,请在方法定义之前立即在该类中添加ABAP Doc注释,例如

**"! Method reads invoice items
from database**::

注意:您必须在声明之前立即插入ABAP Doc注释; 否则你会收到ADT的警告。

ABAP Doc注释可用于记录API并显示在Element Info中。ABAP文档注释以开始"!。

第3步:将参数添加到ABAP Doc

您也可以使用ABAP Doc通过Quick Assist记录方法参数。将光标放在ABAP文档注释中。然后选择**Ctrl+1**打开Quick Assist菜单,然后双击将缺少的参数添加到文档中

ABAP文档评论由a扩展@parameter ... |。您现在可以使用它来记录方法参数:为此,只需在管道符号(|)后面输入文档即可。

第4步:同步短文本

我们已经使用ABAP Doc记录了我们的方法。但是,我们也希望在SAP GUI中基于表单的类构建器的描述字段中看到相同的简短文本。

为此,我们需要将ABAP Doc中所需的文本标记为“同步”,以确保它与类生成器同步。

一个。在ABAP文档中将您的方法的短文本标记为“同步” <p
class="shorttext synchronized">...</p>

湾 对参数的简短文本执行相同的操作lt_result:

第5步:保存并激活

保存(Ctrl + S)并激活(Ctrl + F3)该类。

第6步:与编辑器链接

最后,您将检查同步短文本是否也显示在类生成器中。首先,我们必须在SAP GUI中打开课程。

要在SAP GUI中轻松找到该类,请先选择“使用编辑器链接”:

第7步:在SAP GUI中查看ABAP Doc注释

一个。在Project Explorer中,选择该类ZCL_INVOICE_RETRIEVAL并从上下文菜单中选择使用SAP GUI打开:

湾 方法描述显示了我们在同步标记中的ABAP Doc注释中输入的文本:

C。现在选择参数。你会看到参数的描述也被同步了:

d。最后,在SAP GUI中关闭该类并通过选择关闭返回到您的ABAP程序:

第8步:显示元素信息

一个。回到ABAP程序中,将光标定位在方法调用上,GET_ITEMS_FROM_DB并通过选择Element InfoF2)来显示方法的Element Info。除了方法签名之外,它还显示您之前编写的ABAP文档:

湾 通过选择ESC关闭元素信息。

现在你的类的代码应该是这样的:

复制代码

CLASS zcl_invoice_retrieval DEFINITION

PUBLIC

FINAL

CREATE PUBLIC .

PUBLIC SECTION.

TYPES:
ty_table_of_zso_invoice_item TYPE STANDARD TABLE OF zso_invoice_item WITH DEFAULT KEY.

"! <p
class="shorttext synchronized">Read items from DB</p>

"! Method
reads invoice items from the database

"!
@parameter lt_result | <p class="shorttext synchronized">Table
of invoice items</p>

"!

METHODS get_items_from_db

RETURNING

VALUE(lt_result) type ty_table_of_zso_invoice_item.

PROTECTED SECTION.

PRIVATE SECTION.

ENDCLASS.

CLASS zcl_invoice_retrieval IMPLEMENTATION.

METHOD get_items_from_db.

SELECT

snwd_bpa~company_name,

snwd_so_inv_item~gross_amount,

snwd_so_inv_item~currency_code,

snwd_so_inv_head~payment_status

FROM

snwd_so_inv_item

JOIN snwd_so_inv_head ON snwd_so_inv_item~parent_key = snwd_so_inv_head~node_key

JOIN snwd_bpa ON snwd_so_inv_head~buyer_guid = snwd_bpa~node_key

INTO TABLE @lt_result

WHERE

snwd_so_inv_item~currency_code = ‘USD‘

ORDER BY

snwd_bpa~company_name.

LOOP AT lt_result ASSIGNING FIELD-SYMBOL(<entry>).

CASE <entry>-payment_status.

WHEN ‘P‘.

<entry>-payment_status = abap_true.

WHEN OTHERS.

<entry>-payment_status = abap_false.

ENDCASE.

ENDLOOP.

ENDMETHOD.

ENDCLASS.

原文地址:https://www.cnblogs.com/ben9518chen/p/10148494.html

时间: 2024-10-10 12:59:24

在Eclipse中创建一个ABAP项目的相关文章

JavaWeb学习(三) : 如何在 Eclipse 中创建一个Web 项目并成功运行?

前置条件 : 1.确保已安装 Eclipse.Tomcat 服务器安装包 2.jdk.环境变量都已配置成功. 3.注意在安装 Eclipse 时一定要选择第二个有 Web 项目的进行安装, 不然安装成功后还需要下载很多的插件,增加了不必要的麻烦. 创建步骤 : 1.将本地 Tomcat 服务器添加 进去: 首先打开 Window -- preference 搜索 server 双击 Runtime Environments 点击 Add,找到对应的你下载的 TomCat 服务器,进行添加,我的

在eclipse中创建maven webapp项目时弹出错误-解决办法

在eclipse中创建maven webapp项目时报错: Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webapp:1.0 from any of the configured repositories. 问题产生原因:是因为本地仓库中缺少了maven-archetype-webapp包,也可能这个包下载不完全,比如:只有pom文件,或只有jar包文件等   [包路径为:C:\Users\xxx

JavaEE完全实战详解笔记--在Eclipse中创建一个简单的web项目

下面演示了Eclipse开发JavaEE的通用步骤--配置一个简单的web应用,不同版本的Eclipse可能略有不同,但是基本不会有太大出入. 这里就以"eclipse-jee-luna-SR2-win32"+"apache-tomcat-8.0.21-windows-x86"版本为例,(截止2015年5月份的最新版): (详细过程看图) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.

eclipse 中创建maven web项目

Maven的Eclipse插件m2eclipse在线安装地址 http://m2eclipse.sonatype.org/sites/m2e:我又试了link方式安装也没什么作用,不知怎么回事? 还有让webapp显示到最上层的WTP插件http://m2eclipse.sonatype.org/sites/m2e-extras 下面介绍方法 一.创建新Maven Web项目 1.新建Maven Project:new project--选择MavenProject--下一步选择工作空间--下一

7.Eclipse中创建新Maven项目

 第一步:首先导入前面命令行建立的两个maven项目Hello和HelloFriend. 方法:选择file-->import-->Existing MAVEN PROJECTS选项选择对应项目路径导入即可 第二步:按顺序先后执行Hello和HelloFriend项目的的构建 方法:右击各自项目pom.xml文件,选择run as中的maveninstall命令将构件安装至仓库中 第三步:通过eclipse新建第三个maven项目.选择file-->new-->other--&

在eclipse中新建一个maven项目

点击Next,进入下一个 在此窗口下填写group id,artifact id,可以随便写一个,在Packaging中选择war类型 点击下一步,在以下步骤中一直next,直到最后点击finish

8.Eclipse中创建Maven Web项目

 第一步: 创建maven web工程 注意下面一步: 第二步: 继承parent 修改pom.xml文件如下 <projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven

eclipse中创建了web项目,src下创建子目录是平级的情况

1.在以下可设置不同的视图 windows->show view菜单 ->点Other......    然后在搜索框里输入你想要的视图 2.在Project Explorer下创建的包看似是平级,其实换到Navigator就是一级套一级了 原文地址:https://www.cnblogs.com/manmanchanglu/p/11774386.html

eclipes创建一个web项目web.xml不能自动更新的原因(web.xml和@WebServlet的作用)

在eclipse中创建一个Web项目的时候,虽然有web.xml生成,但是再添加Servlet类文件的时候总是看不见web.xml的更新,所以异常的郁闷!上网查了查,原来我们在创建Web项目的时候,会弹出一个对话框,“Dynamic web module version”这个选项默认成了3.0,按照老规范,应该是在eclipse的WebContent \ WEB-INF \ 目录下创建web.xml的.而新规范是可以不用web.xml的,如tomcat 7.0就支持新规范,这样相关的servle