SAP UI5 - Data Model

1. JSON Model

{
    company: {
        name: "Treefish Inc",
        info: {
            employees: 3,
        },
        contacts: [
            {
                name: "Barbara",
                phone: "873"
            },
            {
                name: "Gerry",
                phone: "734"
            },
            {
                name: "Susan",
                phone: "275"
            }
        ]
    }
}

访问路径:

/company/name
/company/info/employees
/company/contacts

2. OData Model

sap.ui.model.odata.ODataModel 不建议使用,使用sap.ui.model.odata.v2.ODataModel替代。

声明OData Model

1 var oModel = new sap.ui.model.odata.v2.ODataModel("http://services.odata.org/Northwind/Northwind.svc/");
2 var oModel = new sap.ui.model.odata.v2.ODataModel({serviceUrl: "http://services.odata.org/Northwind/Northwind.svc"});

获取OData Service metadata:

var oMetadata = oModel.getServiceMetadata();

请求OData Service数据时可以添加额外的信息:

 1 var oModel = new sap.ui.model.odata.v2.ODataModel({
 2     serviceUrl: "http://services.odata.org/Northwind/Northwind.svc",
 3     serviceUrlParams: {
 4         myParam: "value1",
 5         myParam2: "value2"
 6     },
 7     metadataUrlParams: {
 8         myParam: "value1",
 9         myParam2: "value2"
10     }
11 });

请求Service数据时 会访问

"http://myserver/MyService.svc/?myParam=value&myParam2=value2"这个路径,同理请求metadata时也是一样:(TODO)

获取数据:

1 oModel.getData("/Customer(‘ALFKI‘)");
2 oModel.getProperty("/Customer(‘ALFKI‘)/Address");
var oData = {
    ProductId: 999,
    ProductName: "myProduct"
}

//POST
oModel.create("/Products", oData, {success: mySuccessHandler, error: myErrorHandler});

//GET
oModel.read("/Products(999)", {success: mySuccessHandler, error: myErrorHandler});

//PUT
var oData = {
    ProductId: 999,
    ProductName: "myProductUpdated"
}
oModel.update("/Products(999)", oData, {success: mySuccessHandler, error: myErrorHandler});

//DELETE
oModel.delete("/Products(999)", {success: mySuccessHandler, error: myErrorHandler});

更改完成后OModel会自动refresh

oModel.setRefreshAfterChange(false); //关闭自动刷新

TODO



3. XML Model

时间: 2024-10-07 18:05:58

SAP UI5 - Data Model的相关文章

HTML5开发移动web应用——SAP UI5篇(8)

本次对之前学习的SAP UI5框架知识进行简单小结.以及重点部分知识的梳理. 1.在UI5使用过程中,命名空间的概念非常重要. 2.一般的sap组件引用格式例如以下: sap.ui.define([ "sap/ui/core/UIComponent", "sap/ui/model/json/JSONModel", "sap/ui/model/resource/ResourceModel"], function (UIComponent, JSON

OPEN(SAP) UI5 学习入门系列之二: 最佳实践练习之一

这篇博文难产了很久,原来是打算一周更新一篇的,上周原计划写MVC,但是写了一半,发现带入了太多的细节,不太符合这个入门系列的主题. 当我们学习一个新的技能的时候,如果一开始就面对大量的细节,很容易陷入其中而只见树木不见森林,所以最后我想我们还是先按照开发文档的节奏,一起来做UI5的最佳实践练习.在练习中对常用的一些控件以及API有一个直观的感受,如果需要细节的信息再去查文档. 这个最佳实践练习的子系列又会分为若干篇,但是不会完全按照Tutorial里面的章节来分,因为我希望每一篇都是都是一个完整

HTML5开发移动web应用——SAP UI5篇(7)

SAPUI5中支持利用Component对组件进行封装.想封装一个组件,Component的基本代码例如以下: sap.ui.define([ "sap/ui/core/UIComponent"], function (UIComponent) { "use strict"; return UIComponent.extend("", { init : function () { // call the init function of the

SAP UI5

接上一篇,上一篇我尝试了部署一个UI5的项目到HCP上,成功访问了,发现去年折腾的时候创建了非常多的Application, 这次全部被我清除了. 这次准备尝试下SAP UI5的View, 研究下是如何工作的. 首先由于创建项目时勾选了创建一个空的view, 因此部分文件和代码已经创建完了: 在index.html中 以下代码已经被创建出来了: 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="

【HANA系列】SAP UI5上传图片 用XSJS存储在HANA中的方法

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP UI5上传图片 用XSJS存储在HANA中的方法 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 玩就玩一个高级的,此篇文章包含了SAP UI5,SAP HANA,SAP XS HANA串联起来 业务需求:SAP UI5传输图片,最后存储到HANA中. 下面体验一下梦幻般的做法,O(∩_∩)O

Data Model for Message Receiver

1. Physical Data Model 2. SQL Statements drop database MessageReceiver go /*==============================================================*/ /* Database: MessageReceiver */ /*==============================================================*/ create dat

HTML5开发移动web应用——SAP UI5篇(9)

之前我们对于app的构建都是基于显示的,现在我们来格式化一下,引入更多的SAP UI5组件概念.这使得APP的一个界面更有层次性,更像是一个手机应用的界面,并且更好地使用SAP UI5中提供的功能.每个不同的层次都有不同的功能. 首先修改App.view.xml文件代码: <mvc:View controllerName="sap.ui.demo.wt.controller.App" xmlns="sap.m" xmlns:mvc="sap.ui.c

OPEN(SAP) UI5 学习入门系列之一:扫盲与热身(上)

什么是SAP Fiori? 了解SAP UI5必须要从SAP Fiori开始,两者概念经常被混淆,而两者也确实有着非常紧密的关系. 用过SAP的同学们都对SAP的传统的界面(SAP GUI)表示"呵呵",其实传统的SAP GUI的界面功能还是很强大的,但是对于一个新用户来说,学会使用这套界面就需要花上一两 周的时间,所以SAP入门的第一步就是学会使用SAP GUI.此外,传统的SAP GUI只能在Windows和Mac上使用,对于移动端用户没有直接的解决方案,WEBGUI的体验也非常不

[ExtJs] ExtJs4.2 数据模型Ext.data.Model学习

Model代表应用程序管理的一些对象.例如,我们可能会为 我们想在系统中建模的现实世界中的一些物体像使用者.产品和汽车等定义一个Model.这些Model在 Ext.ModelManager中注册,被Ext.data.Store使用, 而这些Ext.data.Store又被许多 Ext中许多与数据绑定的组件使用. 直接上代码: <%-- Created by IntelliJ IDEA. User: Administrator Date: 2015/12/13 0013 Time: 08:51