2016-04-28 62 views
0

我需要将我的webide oData版本更改为v1。这些应用程序是使用v2版本自动创建的。根据基于v1.so的批量操作,我已经为我的应用程序创建了后端。我需要为我的应用程序使用该后端。是否有任何方法可以实现此目的?如何在网络版中更改oData版本

回答

1

关掉,你应该能够在你的manifest.json直接指定类型,并可以指向ODataModel V1

"models": { 
    "": { 
     "type":"sap.ui.model.odata.ODataModel", 
     "dataSource":"mainService" 
    } 
}, 
+0

谢谢你的reply.its运作良好 – Anjali

+0

嗨MacGregor,我试着按照你说的.this.getModel()给我odata v1模型,但是当我执行UIComponent.prototype.init.apply(this,arguments);它是givinng错误作为未捕获TypeError:this.getOwnerComponent(...)。getModel(...)。metadataLoaded不是一个函数。如何解决这个。顺便说一句,即时通讯使用sap-fiori masterdetail应用程序在webide – Anjali

+0

您使用的是哪个版本的SAPUI5?我看不到UIComponent init方法中的代码。没有看到代码就很难解决问题......我能够执行一个应用程序,在我的manifest.json中指定sap.ui.model.odata.ODataModel,没有任何问题。 –

0

我怀疑你不能用新的Freestyle Template和manifest方法来改变它。实际上在API实例代码为

if (!j.type) { 
    switch (k.type) { 
    case 'OData': 
     j.type = 'sap.ui.model.odata.v2.ODataModel'; 
     break; 
    case 'JSON': 
     j.type = 'sap.ui.model.json.JSONModel'; 
     break; 
    case 'XML': 
     j.type = 'sap.ui.model.xml.XMLModel'; 
     break; 
    default: 
    } 
} 

所以遵循按照官方文档sap.ui.model.odata.ODataModel已被弃用。

但是,如果你的关心仅仅是批量处理,你可以通过这个配置清单文件

"": { 
    "dataSource": "mainService", 
    "settings": { 
     "metadataUrlParams": { 
      "sap-documentation": "heading" 
     }, 
    "useBatch": false,  
    } 
} 
+0

感谢reply..I希望我的情况,因为我们已经实施的后端逻辑基于V1 model.My应用的批量opearions不工作是完全基于批量operations.so我需要批处理功能。要在Webide中使用新模板,后端必须是ch再次恶化,因为它是V2 ..如果我能够使用V1模型,那么不需要改变我的后端逻辑。Iam寻找解决方案。 – Anjali