【HANA系列】【第七篇】SAP HANA XS使用Data Services查询CDS实体【一】

前言部分
大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。
正文部分
使用SAP HANA XS数据服务(XSDS)库来查询CDS实体,类似于JavaScript对象一样。
CDS是什么,请参考另一篇文章,链接如下,或者直接去SAP官网看介绍
由于时间关系,不过多介绍概念内容,直接说过程
导入XS DS库并通过变量引用它。
1、导入XS DS库并通过变量引用它。
var XSDS = $.import("sap.hana.xs.libs.dbutils", "xsds");
2、导入要查询的CDS实体。
var soItem = XSDS.$importEntity("sap.hana.democontent.epm.data",
"EPM.SO.Item");
var soHeader = XSDS.$importEntity("sap.hana.democontent.epm.data",
"EPM.SO.Header", {
items: {
$association: {
$entity: soItem,
$viaBacklink: "SALESORDERID"
}
}
});
3、添加查询。与实体相关的一般查询是通过调用实体构造函数的$ query()方法构建的。
var qOrders = soHeader.$query();
4、优化查询。
qOrders = qOrders.$limit();
5、执行查询。使用$ execute方法运行查询
var result = qOrders.$execute();
6、指定查询应返回的字段。
使用$ project()方法创建一个查询,该查询指定查询应返回的字段。
var qOrderAndItemTitles = qOrders.$project({
SALESORDERID: true,
NETAMOUNT: "TotalNet",
items: {
NETAMOUNT: true
}
});
投影字段的列表是一个JavaScript对象,其中所需字段由true或String文字标记
[{
"SALESORDERID": "0500000236",
"TotalNet": 273.9,
"items": {
"NETAMOUNT": 29.9
}
}, {
"SALESORDERID": "0500000236",
"TotalNet": 273.9,
"items": {
"NETAMOUNT": 102
}
}, {
"SALESORDERID": "0500000236",
"TotalNet": 273.9,
"items": {
"NETAMOUNT": 55
}
}]
实际的数据库查询根据所涉及的关联自动加入所有需要的表。 在上面的示例中,生成的SQL如下所示:
SELECT "t0"."SALESORDERID" AS
"t0.SALESORDERID",
"t0"."NETAMOUNT" AS "t0.NETAMOUNT",
"t0.items"."NETAMOUNT" AS "t0.items.NETAMOUNT"
FROM "Header" "t0"
LEFT OUTER JOIN "Item" "t0.items"
ON "t0"."SALESORDERID"="t0.items"."SALESORDERID"
LIMIT
今天先写到这,后续内容下一篇更新。
可以关注我的公众号。
【HANA系列】【第七篇】SAP HANA XS使用Data Services查询CDS实体【一】的更多相关文章
- 【HANA系列】【第八篇】SAP HANA XS使用Data Services查询CDS实体【二】
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列][第八篇]SAP HANA XS ...
- 【HANA系列】SAP HANA XS使用Data Services查询CDS实体【二】
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS使用Dat ...
- 【HANA系列】SAP HANA XS使用Data Services查询CDS实体【一】
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS使用Dat ...
- 【公众号系列】超详细SAP HANA JOB全解析
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[公众号系列]超详细SAP HANA JOB全解 ...
- 如何在云端部署SAP HANA实战, Azure 上的 SAP HANA(大型实例)概述和体系结构
什么是 Azure 上的 SAP HANA(大型实例)? Azure 上的 SAP HANA(大型实例)是一种针对 Azure 的独特解决方案. 除了提供 Azure 虚拟机以用于部署和运行 SAP ...
- SAP HANA开发中常见问题- 基于SAP HANA平台的多团队产品研发
大家都知道SAP HANA项目打包成Delivery Unit(缩写为DU).依照"官方"的开发模式,特别是整个团队仅仅使用一个HANA Instance进行项目开发,因为HANA ...
- spring boot系列(五)spring boot 配置spring data jpa (查询方法)
接着上面spring boot系列(四)spring boot 配置spring data jpa 保存修改方法继续做查询的测试: 1 创建UserInfo实体类,代码和https://www.cnb ...
- 深入理解ajax系列第七篇——传递JSON
前面的话 虽然ajax全称是asynchronous javascript and XML.但目前使用ajax技术时,传递JSON已经成为事实上的标准.因为相较于XML而言,JSON简单且方便.本文将 ...
- 深入理解ajax系列第七篇
前面的话 虽然ajax全称是asynchronous javascript and XML.但目前使用ajax技术时,传递JSON已经成为事实上的标准.因为相较于XML而言,JSON简单且方便.本文将 ...
随机推荐
- pssh一个微量级自动化工具
一.pssh简介 pssh是一个python编写可以在多台服务器上执行命令的工具,也可实现文件复制.pssh需要通过ssh的key验证来管理主机,其不能很好的支持密码验证.用过epel源的pssh包来 ...
- 解决Windows jmeter Non HTTP response message: Address already in use: connect 错误(转载)
jMeter报错: Response code: Non HTTP response code: java.net.BindExceptionResponse message: Non HTTP re ...
- 用python 遍历文件夹中所有.dcm文件
import dicomimport os def eachFile(filepath): for file in os.listdir(filepath): child = os.path.join ...
- vue基本知识点概括
目录 Vue 渐进式 JavaScript 框架 一.走进Vue 1.what -- 什么是Vue 2.why -- 为什么要学习Vue 3.special -- 特点 4.how -- 如何使用Vu ...
- sql条件子查询
https://www.cnblogs.com/wxw16/p/6105624.html select * from mst_crse where crse_cd in (SELECT crse_cd ...
- Python + cx_Orcale 连接Oracle数据库
这是我在使用python连接Oracle数据库时遇到的问题.在此做一下总结. 1.pip install cx_Oracle 2.然后还需要在下载一个数据库客户端工具instantclient-bas ...
- JavaWeb-SpringBoot(抖音)_一、抖音项目制作
JavaWeb-SpringBoot(抖音)_一.抖音项目制作 传送门 JavaWeb-SpringBoot(抖音)_二.服务器间通讯 传送门 JavaWeb-SpringBoot(抖音)_三.抖音项 ...
- Java基础__Integer类型中的自动装箱
Integer类型的自动装箱:就是Java自动将原始类型值转换成对应的对象,比如将int的变量转换成Integer对象,这个过程叫做装箱,反之将Integer对象转换成int类型值,这个过程叫做拆箱. ...
- css垂直居中布局总结
简介 总结记录一下经常需要用到垂直居中布局,欢迎补充(空手套...O(∩_∩)O) 以下栗子如果未特别标注同一使用这样的html结构 <div class="container&quo ...
- 【CSS】三栏/两栏宽高自适应布局大全
页面布局 注意方案多样性.各自原理.各自优缺点.如果不定高呢.兼容性如何 三栏自适应布局,左右两侧300px,中间宽度自适应 (1) 给出5种方案 方案一: float (左右浮动,中间不用给宽,设置 ...