点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家您好, 我实现了一个...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家您好, 我实现了一个...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家您好,
我实现了一个函数导入,该函数接受来自实体A的合作伙伴代码并返回来自实体B的合作伙伴描述。由于代码不是实体A的一部分,并且SEGW不允许我创建代码,因此此处无法使用关联 之一。 从实体B开始加载数据也不是一种选择,它包含超过150.000个条目。 函数导入工作正常,我的问题是格式器似乎不等待oData调用返回的数据,即使我同时附加了promise和" batchrequestcompleted "事件。 我在调试器中观看了以正确顺序执行的所有指令(并返回了预期的结果),但似乎视图没有等待。 是否可以使用某种技术使视图等待结果,还是我必须在实体A中附加额外的字段以将描述存储在后端,出于某些明显的原因,我不想这样做 。 (非常简短)下面附上的代码,有什么想法吗?
干杯
格雷格
PS:在观察代码时,有人会很容易注意到值返回了两次,一次是在成功函数中,一次是在promise之后。 毕竟,它们只是为了测试而已:D
textPartner:函数(sValue){ 如果(!sValue){ 返回""; } var that = this.getParent()。getParent()。getParent()。getParent()。getParent()。getParent()。getParent()。getParent()。getController(); var oModel = this.getModel(); var oModelUpdateDeferred = jQuery.Deferred(); oModel.attachEventOnce(" batchRequestCompleted",function(oEvent){ 如果(that._checkIfBatchRequestSucceeded(oEvent)){ oModelUpdateDeferred.resolve(); } }); oModel.callFunction("/img/Get_Partner_Name",{urlParameters:{Partner_Code:sValue}, 成功:function(oData,sResponse){ sValue = oData.ReturnValue; 返回sValue; }, 错误:function(oError){ jQuery.sap.log.error(" oData Failure",oError); } }); var readyToGo = function(){ 返回sValue; }; jQuery.when(oModelUpdateDeferred).done()。then(jQuery.proxy(readyToGo,this)); } /*第二个简化的同步版本,行为相同*/ textPartner:函数(sValue){ 如果(!sValue){ 返回""; } var oModel = this.getModel(); oModel.callFunction("/img/Get_Partner_Name",{urlParameters:{Partner_Code:sValue},async:false, 成功:function(oData,sResponse){ sValue = oData.ReturnValue; //返回sValue; }, 错误:function(oError){ jQuery.sap.log.error(" oData Failure",oError); } }); 返回sValue; }
1。 如果我不厌倦,联想应该可以工作,钥匙没关系
2。 使您的odata调用syncnus
一周热门 更多>