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

阿里云_百度云库_价格

小七 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章中,企业应用中心,我们将当前用户注册为企业采购模型(EPM)用户。

将当前用户注册为EPM用户

如前一章所述,我们的CDS视图假设当前用户注册为EPM员工。我们不能在CDS级别实现自注册机制,所以我们需要在OData级别实现。SAP Gateway Service Builder已创建数据提供程序扩展类(DPC)。我们将把注册逻辑放在这个类的构造函数中。另外,免费企业管理软件,我们将使用构造函数来获取中心EPM类的三个句柄。一旦我们实现了批准/拒绝功能,这些将被使用。

1。展开源代码库–>项目的类节点。

2。双击您的OData服务的\u DPC\u EXT class.

3。在"专用"部分,添加三个参考:

专用第1节数据:

MO\ EPM\ PO TYPE REF TO IF\ EPM\ PO,

MO\ EPM\ TXT TYPE REF TO IF\ EPM\ TEXT,

MO\ EPM\ MSG\ BUFFER TYPE REF TO IF\ EPM\ MESSAGE\ U BUFFER。4在public部分,为这个类定义一个构造函数:

类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部分

METHODS constructor。5向下滚动到此类的实现部分,物联网的前景,插入构造函数的编码:

类ZCL\u Z\u PO\u TUTORIAL\u DPC\u EXT implementation.

方法构造函数。

数据:lv\u employee type snwd\u employees-node\u key.

SUPER->constructor().

获取中心EPM类的句柄

TRY.

MO\u EPM\u PO?=CL\u EPM\u SERVICE\u FACADE=>GET\u BO(如果\u EPM\u PO=>GC\u BO\u NAME)。

MO\u EPM\u TXT?=CL\u EPM\u SERVICE\u FACADE=>GET\u BO(如果\u EPM\u TEXT=>GC\u BO\u NAME)。

MO\u EPM\u MSG\u BUFFER?=CL_EPM_SERVICE_FACADE=>GET_MESSAGE_BUFFER()。

CATCH CX_EPM_API_EXCEPTION.

"无法在运行时从该错误中恢复

MESSAGE'未能初始化EPM API'TYPE'X'##无#文本。

ENDTRY.

EPM使用业务伙伴,检查当前用户是否已注册。

从SNWD\u EMPLOYEES中选择单节点\u KEY,其中LOGIN\u NAME=@SY-UNAME进入@lv\u employee#EC CIŠNOFIELD

如果SY-SUBRC0.

TRY.

DATA(LOŠu DGŠCHANNEL)=CLŠEXMŠu DGŠFACTORY=>GETŠCHANNEL('CLŠEPMŠDGCŠSTANDARD')。

LOŠDGŠCHANNEL->ADDŠSYSTEMŠUSERS(VALUEŠ((CONVŠ(SY UNAME)))。

CATCH CXŠEPMŠAPIŠEXCEPTION CXŠEXM。##没有文本

ENDTRY.

ENDIF.

ENDMETHOD.

try块从EPM facade检索三个中心实例。如果出现异常,我们会触发转储(消息类型X),因为无法恢复此情况。