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

域名备案_阿里云怎么备案_超低折扣

小七 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部分中,我们将模拟后端逻辑。

模拟后端逻辑如前所述,模拟服务器可以截获HTTP调用并向客户端提供假输出,而不涉及任何后端系统,但特殊后端逻辑的行为(如通过函数导入执行的行为)不会自动为模拟服务器所知。

如中所定义审批人.js, 我们的应用程序使用两个OData函数导入–/ApprovePurchaseOrder和/RejectPurchaseOrder:

文件:模型/审批人.js

批准:function(baprove,bFromSwipe,oView,aPOIds,sApprovalNote){

return new Promise(function(fnResolve,北京大数据研究院,fnReject){

var sFunction=baprove?"/ApprovePurchaseOrder":/RejectPurchaseOrder"

我们需要实现一个模拟后端行为的逻辑。在这种情况下,只需从模拟服务器处理的列表中删除所有已批准/拒绝的采购订单即可完成此操作。

为此,我们将实现我们自己的请求,该请求能够处理这些调用。

在localService文件夹中,我们将创建一个名为MockRequests.js文件并通过以下代码:

文件:localService/MockRequests.js文件

sap.ui.define(["sap/ui/base/Object"],函数(Object){

"使用严格";

返回对象.扩展("acme.purchaseorder.approve.localService.mock请求", {

构造函数:function(oMockServer){

//service URL->to be replaced

this.\u srvUrl="/sap/opu/odata/sap/SEPMRA\u PO\u APV/";

this.\u bError=false;//true if a this.\u sjax请求失败

this.\u sErrorTxt="";//oXhr错误响应的错误文本

this.\u oMockServer=oMockServer;

},

getRequests:function(){

return[

此.mockApprovePo(),

这个.po()

];

},

mockApprovePo:function(){

return{

//This mock request模拟函数import

//"approvedpurchaseorder",当

//用户选择"批准"按钮时触发,服务器云,

//从模拟

//数据中删除已批准的采购订单

方法:"POST",

路径:new RegExp("ApprovePurchaseOrder\\?POId='(*)&Note='(*),

响应:此.deletePo.bind(this)

};

},

mockRejectPo:function(){

return{

//this mock请求模拟函数import

//"RejectPurchaseOrder",

//当用户选择"拒绝"

//按钮时触发。

//从模拟

//数据中删除拒绝的采购订单。

方法:"POST",

路径:new RegExp("RejectPurchaseOrder\\?POId='(*)&Note='(*),

响应:此.deletePo.bind(this)

};

},

deletePo:function(oXhr,sPOId,sNote){

var aPurchaseOrders=this_oMockServer.getEntitySetData文件("Z\u C\u Purchaseorder"),

aPurchaseOrderItems=此_oMockServer.getEntitySetData文件("Z\u C\u Purchaseorderitem"),

filterPurchaseOrder=函数(OpurCaseOrderOrpOitem){

返回操作urchaseOrderOrPOItem.POId文件!==sPOId;

};

//从实体集数据

aPurchaseOrders=aPurchaseOrders.filter文件(筛选器采购订单.bind(这个);

这个_oMockServer.setEntitySetData设置("ZïCïU Purchaseorder",采购订单);

采购订单=aPurchaseOrderItems.filter文件(筛选器采购订单.bind(这个);

这个_oMockServer.setEntitySetData设置("Z_C_Purchaseorderitem",aPurchaseOrderItems);

oXhr.respondJSON文件(200, {}, JSON.stringify文件({

d:{

结果:[]

}

});

}

});

});

我们的模拟请求以http状态200(ok)响应每个请求,表示业务功能在后端成功执行。使用不同的http状态码,我们还可以模拟错误。

我们现在需要在生成的模拟服务器中注册我们的响应处理程序。

在mockserver.js文件,我们将添加对响应处理程序的引用:

文件:localService/mockserver.js文件

sap.ui.define([

"sap/ui/core/util/MockServer",

."/MockRequests"

],函数(MockServer,MockRequests){

并在init函数中注册mock请求:

文件:localService/mockserver.js文件

//处理请求错误

如果(sErrorParam){

请求。forEach(函数(aEntry){

如果(aEntry.path.toString字符串().indexOf(sEntity)>-1{

fnResponse(iErrorCode,sErrorParam,aEntry);

}

};

}

var oRequests=新MockRequests(oMockServer);

oMockServer.setRequests文件(A请求.concat(oRequests.getRequests请求()));

oMockServer.start文件();

模拟后端响应时间