云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

天翼云_服务器502_新用户

小七 141 0

这是关于如何构建您自己的SAP Fiori Approve Purchase Orders应用程序的教程系列的第十三部分。

本教程的目的是逐步向您展示如何构建您自己的SAP Fiori Approve Purchase Orders应用程序,并提供有关为什么某些方面已按原样开发的其他见解。

请参阅介绍性文章(教程:构建您自己的SAP Fiori Approve Purchase Order应用程序)了解有关本教程的背景信息。

之前发布的章节可在此处找到:

第2部分:(教程:构建您自己的SAP Fiori Approve Purchase Order应用程序-第2部分)

在本章中,我们使用SAP Web IDE设置应用程序,并使用模拟数据运行应用程序。

第3部分:(教程:构建您自己的SAP Fiori Approve Purchase Order应用程序–第3部分)

在本章中,我们调整了应用程序的列表屏幕。

第4部分:(教程:构建您自己的SAP Fiori Approve Purchase Order应用程序–第4部分)

在本章中,我们调整了详细屏幕应用程序的第5部分:

第5部分:(教程:构建您自己的SAP Fiori Approve Purchase Order应用程序–第5部分)

在本章中,我们启用了Approve和reject按钮。

第6部分:(教程:构建您自己的SAP Fiori Approve Purchase Order应用程序–第6部分)

在第6章中,我们设置了一个存储全局应用程序状态的新模型。

第7部分:(教程:构建您自己的SAP Fiori Approve Purchase Order应用程序–第7部分)

在第7章中,我们封装了Approve/reject服务调用。

第8部分:(教程:构建您自己的SAP Fiori Approve Purchase Order应用程序–第8部分)

在第8章中,我们模拟了后端逻辑。

第9部分:(教程:构建您自己的SAP Fiori Approve Purchase Order应用程序–第9部分)

在第9章中,我们刷新了主屏幕和详细屏幕。

第10部分:(教程:构建您自己的SAP Fiori Approve Purchase Order应用程序–第10部分)

在第10章中,我们实现了阻止屏幕进行进一步输入的代码,例如,防止用户两次批准同一个采购订单,我们还创建了扩展点。

第11部分:(教程:构建您自己的SAP Fiori Approve Purchase Order应用程序–第11部分)

在第11章中,我们实现了用于Purchase approval应用程序的OData服务并创建了CDS视图。

第12部分:(教程:构建您自己的SAP Fiori Approve Purchase Order应用程序–第12部分)

在第12章中,我们将当前用户注册为企业采购模型(EPM)用户。

在第十三章中,我们将在OData服务中实现缺少的批准/拒绝功能。

实现批准和拒绝功能我们现在将实现缺少的approve/reject函数作为OData服务的一部分。基本上,EPM模型包含所需的业务功能,但我们需要使其适合我们的OData服务。

定义所需的函数导入

每个函数都实现为函数导入。

UI5 OData模型检查OData服务元数据中函数导入的定义。如果您调用函数import而不定义它,您将从UI5 OData模型得到一个异常。

1。使用事务SEGW启动SAP Gateway Service Builder.

2。在您的项目中,右键单击数据模型–>创建–>复杂类型以创建在其中定义函数导入的文件夹。

3。创建新类型函数importResult。这是函数导入的返回结构。它包含一个布尔标志success,用于指示采购订单的成功执行。选择ABAP结构SEPMRA\u S\u FUNCIMPORT\u SUCCESS.

4。展开"属性"节点,基于Edm Typeboolean创建新的属性success.

5。右键单击项目的"导入"功能节点,从关联菜单中选择"创建"。

6。添加ApprovePurchaseOrder和RejectPurchaseOrder作为返回类型FunctionImportResult的函数导入

7。重新生成运行时工件。

我们现在定义了两个函数导入。现在,我们需要实现业务逻辑。这将在我们的OData服务的DPC\u EXT类中完成。我们现在需要切换到ABAP开发工具

实现业务逻辑

1。在ABAP开发工具中,找到数据模型提供程序扩展类(\u DPC\u EXT)。2在这个类的私有部分,我们将定义:

方法APPROVE\u PO来存储审批逻辑方法REJECT\u PO来存储拒绝逻辑方法SET\u PO\u COMMENT实现注释处理方法ID_TO_KEY来执行从外部PO密钥到内部UUID密钥的密钥映射函数导入的常量

私有部分。

[…]

方法:

批准采购订单

导入

IO技术请求

上下文类型REF TO/IWBEP/IF\ MGW\ REQ\ FUNC\ U导入

引发

/IWBEP/CX\ MGW\ U BUSI\ U异常,

拒绝

导入

IO技术请求

上下文类型参考/IWBEP/IF MGW REQUE功能导入

提升

/IWBEP/CX MGW BUSIU异常,

设置

PO注释

导入

IV注释类型如果

EPM\U TEXT=>如果

EPM\U TEXT数据节点

数据文本

如果

EPM\U BO=>TT\U节点

提升

/IWBEP/CX MGW

BUSIU异常,

!将采购订单ID映射到相应的采购订单密钥(UUID)。如果购买

"!订单不存在或已处理,出现异常。

"!

"! @参数四采购订单id采购订单id

"!@参数rv|U键|采购订单键

"!@异常lcx|U异常|如果采购订单根本不存在或已经处理,则引发

ID|U到|U键

导入

IV|U采购订单ID类型如果|EPM|U头=>TY|U节点|U数据-采购订单ID

返回

值(RV|U键)类型如果|EPM|U=>TY|U节点|U键

引发

CX|EPM|U REF|U应用程序|U业务异常

常数:

"!此服务提供的OData服务操作的常量

开始GC\U服务\U操作,

"!服务操作:"批准采购订单"

批准采购订单类型/IWBEP/MGW\u技术名称值"批准采购订单"##无#文本,

"!服务操作:"拒绝采购订单"

拒绝采购订单类型/IWBEP/MGW\U技术名称值'拒绝采购订单'##无#文本,淘客怎么赚钱,云计算与大数据,

GC\U服务操作结束。

3。在public部分,定义/IWBEP/IF\u MGW\u APPL\u SRV\u RUNTIME~EXECUTE\u ACTION的重新定义。网关调用此方法来解析函数导入调用的逻辑。

类ZCL\u Z\u PO\u TUTORIAL\u DPC\u EXT DEFINITION

PUBLIC

继承自ZCL\u Z\u PO\u TUTORIAL\u DPC

CREATE PUBLIC.

PUBLIC SECTION.

METHODS CONSTRUCTOR.

METHODS/IWBEP/IF\u MGW\u APPL\u SRV\u RUNTIME~执行操作

重新定义。