点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
在该功能成为标准功能之前,我需要CAPM oData v4" setProperty"解决方法。
左侧的表绑定到JSON模型。 右表绑定到我们的CAPM oData v4服务。 当用户提交"包装数量"时,我需要能够通过找到匹配的UUID来更新oData模型中的相应值。
有人有建议的解决方案吗?
' oContext '基于JSONModel行条目。
_updateTableQuantities:函数(oContext,bPackAll,bUnpackAll){ var MovementItm_UUID = oContext.getProperty(" MovementItm_UUID"); var availableQuantity = oContext.getProperty(" AvailableQuantity"); var packQuantity = oContext.getProperty(" PackQuantity"); packQuantity = parseFloat(packQuantity); availableQuantity = parseFloat(availableQuantity); 如果(packQuantity> availableQuantity){ //实现错误... } var oTable = this.byId(" table2"); var oItems = this.byId(" table2")。getRows(); var oModel = oTable.getModel(); for(var i = 0; i
理想情况下,我实施的所有变通方法都应与' submitBatch '语句一起使用
this.getView()。getModel()。submitBatch(constants.batchGroup.defaultUIGroup).then(fnSuccess,fnError);(31.3 kB)
如果可以将右侧的表(绑定到odata模型)设置为可编辑的,则无需setProperty。 Odata模型会自动跟踪所有UI更改,并将所有UI更改包括在SubmitBatch上
其他选项是使右表项可单击(打开对话框以捕获新值),并且可以在新闻事件方法中设置类似的属性。
oEvent.getSource()。getBindingContext(" odataModel")。setProperty(" Quantity",updatedQuantity);
我遇到了类似您的类似问题,用于更新multiInput字段,其中用于令牌绑定的关联UI字段不可编辑。 我使用相同的解决方案删除并创建新的。
Tarun
Thomas Jung 感谢您的所有 帮助和培训! 您对如何满足此要求有任何想法吗?
嗨,奥斯丁,
您可能应该使用OData v2,文档明确指出v4受到限制:
我也想切换到v4,但是由于UI5尚不完全支持它,并且某些控件无法使用它(例如PlanningCalendar),因此我们仍然使用v2 ...
干杯
Pierre
SetProperty确实在ContextBinding上可用。
我建议签出:
https://ui5.sap.com/#/topic/b4f12660538147f8839b05cb03f1d478
Odata v4->步骤6:创建和编辑
可以通过设置updateGroup来完成批处理。
您也可以使用新的sap/cds-odata-v2-adapter-proxy模块,但我不知道它是否 应该用于生产场景:
https://answers.sap.com/questions/12848857/how-to-implement-function-that-re-turns-entiy-in-no.html?childToView=12852200#answer-12852200
我确实知道标准SAPUI5类不支持它,但是即使有一些解决方法,即使需要手动发出http PUT请求,也可以肯定有一些解决方法。 将OData V2与CAPM一起使用意味着应用程序层将用JAVA而不是nodejs来实现,这是一个很大的改变。
我发布了这个问题,因为希望SAP可以通过某种方式手动更新其V4 OData服务或 Thomas Jung 知道一种解决方法。
一周热门 更多>