Odata SAPUI5,来自2个不同URL的数据源

Odata SAPUI5,来自2个不同URL的数据源,odata,sapui5,datasource,Odata,Sapui5,Datasource,我是SAPUI5的新手,目前正在构建一个SAPUI5应用程序,并从后端使用ODATA服务。当我创建应用程序并选择服务URL时。 服务URL如以下附件所示 然而,现在在我的应用程序中,我必须添加另一个完全带有url的数据源。在我的manifest.json中。我只是可以改变不同的导航相同的网址如下 "dataSources": { "mainService": { "uri": "/sap/opu/odata/sap/SEPMRA_SHOP/",

我是SAPUI5的新手,目前正在构建一个SAPUI5应用程序,并从后端使用ODATA服务。当我创建应用程序并选择服务URL时。 服务URL如以下附件所示

然而,现在在我的应用程序中,我必须添加另一个完全带有url的数据源。在我的manifest.json中。我只是可以改变不同的导航相同的网址如下

"dataSources": {
        "mainService": {
            "uri": "/sap/opu/odata/sap/SEPMRA_SHOP/",
            "type": "OData",
            "settings": {
                "odataVersion": "2.0",
                "localUri": "localService/metadata.xml"
            }
        },
        "mainService2": {
            "uri": "/odata/V2/OData/OData.svc/",
            "type": "OData",
            "settings": {
                "odataVersion": "2.0",
                "localUri": "localService/metadata.xml"
            }
        }
    },

如何为SAPUI5应用程序添加不同的数据源url?

您需要在SAP云平台驾驶舱中创建一个目标。 根据您的屏幕截图,您已经在使用一个名为“odata-odata”的

你有

和下面的截图

此外,如果您想从云访问私有网络中的NW系统,则需要设置云连接器。检查

SAP云平台配置

一旦配置了目的地并且数据源块已经存在(如屏幕截图中所示),就需要创建2个OData模型。因此,在metadata.json文件中,转到底部,有一个名为“models”的节点,其中可能有如下内容:

    "models": {
        "i18n": {
            "type": "sap.ui.model.resource.ResourceModel",
            "settings": {
               ...
            }
        },
        "": {
            "type": "sap.ui.model.odata.v2.ODataModel",
            "settings": {
                "defaultOperationMode": "Server",
                "defaultBindingMode": "OneWay",
                "defaultCountMode": "Request"
            },
            "dataSource": "mainService",
            "preload": true
        },
        "dataModel2": {
            "type": "sap.ui.model.odata.v2.ODataModel",
            "settings": {
                "defaultOperationMode": "Server",
                "defaultBindingMode": "OneWay",
                "defaultCountMode": "Request"
            },
            "dataSource": "mainService2",
            "preload": true
        }
    }
您需要添加块
“dataModel2”:{…}

其中:

  • “dataModel2”是第二个模型的名称(选择您喜欢的模型,它不需要是dataModel2)
  • 确保
    “数据源”:“mainService2”
    ,以便此模型指向您的第二个数据源
  • 在“设置”中,可以根据需要设置模型。可能最重要的是“defaultBindingMode”。如果仅可读,则将其设置为“单向”,如果可读/写,则将其设置为“双向”
然后,您只需要使用第一个要点中所述的您选择的modelName来定义此模型的所有绑定。例如:

<Text text="{dataModel2>/path/to/my/property"}"></Text>

谢谢您的评论。但我需要做的是在一个SAPUI5应用程序中访问odata数据源和新数据源OK,我猜您已经正确配置了目标。然后,您需要添加第二个OData模型来使用第二个数据源。我对我的答案进行了更详细的编辑。谢谢