点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家您好,
尝试在详细信息控制器的onExit函数中使用一些代码,以调用函数导入,当用户从此处按下顶部主启动板按钮时,该函数将"释放"我的记录。 虽然当时一切似乎都可用(错误后检查快照),但我调用了函数import,但出现以下错误:
未捕获(已承诺)TypeError:无法读取未定义的属性'_getFunctionImportMetadata' 在评估时(在evalModuleStr评估(jquery.sap.global-dbg.js:3315),<匿名>:2607:463) 在评估时(在evalModuleStr(jquery.sap.global-dbg.js:3315),<匿名>:2603:192中评估) (匿名)@ VM32:2607 (匿名)@ VM32:2603 Promise.then(异步) r._processRequest @ VM32:2603 r.callFunction @ VM32:2607 (匿名)@ Object.controller.js?eval:205 onExit @ Object.controller.js?eval:202 a.fireEvent @ EventProvider-dbg.js:229 a.fireEvent @ Element-dbg.js:593 (匿名)@ ManagedObjectMetadata-dbg.js:426 c。退出@ VM32:917 f.exit @ VM32:954 h.destroy @ ManagedObject-dbg.js:2270 a.destroy @ Element-dbg.js:555 b.destroy @ Control-dbg.js:602 f.destroy @ VM32:960 销毁@ VM32:1111 c._destroyCreatedInstances @ VM32:531 c.destroy @ VM32:530 销毁@ Component.js?eval:302 s @ VM32:86 d.exit @ VM32:91 h.destroy @ ManagedObject-dbg.js:2270 a.destroy @ Element-dbg.js:555 b.destroy @ Control-dbg.js:602 h.destroyAggregation @ ManagedObject-dbg.js:1974 j @ VM33:1326 退出@ VM33:1343 A.退出@ VM33:1861 h.destroy @ ManagedObject-dbg.js:2270 a.destroy @ Element-dbg.js:555 b.destroy @ Control-dbg.js:602 onAfterNavigate @ VM33:1861 p @ jquery-dbg.js:497 a.fireEvent @ EventProvider-dbg.js:229 a.fireEvent @ Element-dbg.js:593 (匿名)@ ManagedObjectMetadata-dbg.js:426 (匿名)@ VM33:2722 sap.ushell.ui.launchpad.ViewPortContainer._handleViewPortTransition @ VM33:2730 sap.ushell.ui.launchpad.ViewPortContainer._setCurrentlyDisplayedControl @ VM33:2724 sap.ushell.ui.launchpad.ViewPortContainer.navTo @ VM33:2722 _handleEmbeddedNavMode @ VM33:1861 (匿名)@ VM33:1861 p @ jquery-dbg.js:3187 添加@ jquery-dbg.js:3246 导航@ VM33:1861 _initiateApplication @ VM33:1861 (匿名)@ VM33:1861 p @ jquery-dbg.js:3187 添加@ jquery-dbg.js:3246 doHashChange @ VM33:1861 p @ jquery-dbg.js:497 sap.ushell.services.ShellNavigationHashChanger.treatHashChanged @ VM33:2188 执行@ VM32:3214 派遣@ VM32:3217 派遣@ VM32:3216 (匿名)@ VM32:3204 我@ VM32:3204
我的模型似乎仍然如调试器所建议的那样(请参阅下文),并且当我使用后退按钮导航到该代码(应该成为通用功能,在此处复制用于测试目的)时,它运行得很好 我的主要观点。 当然,后端方法不会被调用。 代码附在末尾。 有什么想法吗?
onExit:function(){ var oParamModel = this.getView()。getModel(" Global"); var oModel = this.getView()。getModel(); 如果(oParamModel.getProperty("/img/RecordUnlocked")=== true){ var unlockOnExit =新的Promise(function(resolve,reject){ oParamModel.setProperty("/img/RecordUnlocked",true); var sAgreement = oParamModel.getProperty("/img/AgreementID"); oModel.callFunction("/img/Agreement_Unlock",{ 方法:" GET", urlParameters:{ " Agreement_Code":协议 }, 成功:函数(oData,响应){ resolve(oData); }, 错误:function(oError){} }); }); var callFetch = function(){ unlockOnExit .then(函数(已实现){ }) .catch(函数(错误){ }); }; callFetch(); } },
(164.1 kB)
问题似乎是启动板实现(不是通过门户网站实现的经典类型),它会生成异常(按下启动板按钮会触发此处退出-我应该从一开始就提及它,但在出现以下情况时未建立连接) 我提交了问题。)
嗨,
我不确定,但是问题可能出在调用函数(callFunction)到处理请求的那一刻之间,模型被破坏了。
您使用什么版本的ODataModel?
也许可以在BreakData函数和callFunction中的ODataModel-dbg.js中放置断点,以查看是否在之前以及通过什么调用了destroy函数。
此致
Fabrice
@ Fabrice Podevin :谢谢你的建议。 我正在运行OData V2,但这不是我的问题,该模型仍然有效。 问题似乎是启动板实现(不是通过门户网站实现的经典类型)会生成异常(按下启动板按钮会触发此处退出-我应该从头开始提及它,但是在提交提交时未建立连接) 题)。 这是Web IDE测试(可以正常运行)和后端之间的重要区别。
一周热门 更多>