HANA VIEW 用 ABAP 创建CDS VIEW,在生成ODATA

news/2024/7/27 8:40:04/文章来源:https://blog.csdn.net/wangbanmin/article/details/136712357

这里我们做ADT来创建

场景介绍:把hana中的一个底表,创建成ABAP的 CDS VIEW ,在把CDS VIEW 生成 OData 服务。

一、创建CDS Table Function 

红框内根据自身情况填写

选择 Define Table Function with Parameters 创建 Data Definition

完整代码,定义 结构

@EndUserText.label: '财务报表生成ODATA'
define table function ZDDF_AUTHDATA
returns {MANDT: abap.clnt;GSMC : abap.char( 400 );GSDM : abap.char( 400 );CWDATE: abap.dats;ZYYWLR: abap.fltp;JZCSYL: abap.fltp;KCFJCX: abap.fltp;ZYYWSRZZ: abap.fltp;JLRZZL: abap.fltp;JZCZZL: abap.fltp;YSZKZZL: abap.fltp;YSZKZZTS:abap.fltp;CHZZTS:abap.fltp;GDZCZZL: abap.fltp;
}
implemented by method zamdp_authdata_002=>GET_ENTITY_SET;

二、创建AMDP

完整代码,定义取数逻辑, return 后边跟的sql 代码 是查询的 HANA 数据库对象表,

注意 AMDT中的 zamdp_authdata_002 是上一步中定义过关联

implemented by method zamdp_authdata_002=>GET_ENTITY_SET;

class zamdp_authdata_002 definitionpublicfinalcreate public .public section.interfaces: IF_AMDP_MARKER_HDB.class-methods:GET_ENTITY_SETfor table function ZDDF_AUTHDATA.protected section.private section.
endclass.class zamdp_authdata_002 implementation.
method GET_ENTITY_SET by database functionfor hdb language sqlscriptoptions read-only.returnSELECT'100' as MANDT,"GSMC" AS GSMC,"GSDM" AS GSDM,TO_VARCHAR ("CWDATE", 'YYYYMMDD') AS CWDATE,"ZYYWLR","JZCSYL","KCFJCX","ZYYWSRZZ","JLRZZL","JZCZZL","YSZKZZL","YSZKZZTS","CHZZTS","GDZCZZL"FROM "_SYS_BIC"."ZAUTHDATA001";endmethod.
endclass.

三、创建 CDS View Entity 

完整代码  注意:@OData.publish: true  这行是标记该CDS VIEW 可发布成OData服务,

这里注意 必须要指定 KEY  ,不然,激活会不成功。


@EndUserText.label: 'CDS View Entity'
@OData.publish: true
define view entity ZDD_AUTHDATA as 
select from ZDDF_AUTHDATA as AUT
{@EndUserText.label: '公司名称'key AUT.GSMC,@EndUserText.label: '公司代码'key AUT.GSDM,@EndUserText.label: '报表日期'key AUT.CWDATE,@EndUserText.label: '主营业务利润(元)'AUT.ZYYWLR,@EndUserText.label: '净资产收益率(%)'AUT.JZCSYL,@EndUserText.label: '扣除非经常性损益后的净利润(元)'AUT.KCFJCX,@EndUserText.label: '主营业务收入增长率(%)'AUT.ZYYWSRZZ,@EndUserText.label: '净利润增长率(%)'AUT.JLRZZL,@EndUserText.label: '净资产增长率(%)'AUT.JZCZZL,@EndUserText.label: '应收账款周转率(次)'AUT.YSZKZZL,@EndUserText.label: '应收账款周转天数(天)'AUT.YSZKZZTS,@EndUserText.label: '存货周转天数(天)'AUT.CHZZTS,@EndUserText.label: '固定资产周转率(次)'AUT.GDZCZZL
}

四、管理服务(添加生成OData服务)

管理服务(事务码 /N/IWFND/MAINT_SERVICE

五、测试服务

/sap/opu/odata/sap/ZDD_AUTHDATA_CDS/ZDD_AUTHDATA?$top=10&$skip=10

由于底表有21万条数据,需要分页执行OData

元数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1007376.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RabbitMQ 模拟实现【六】:程序模拟实现

文章目录 模拟实现模拟消费者模拟生产者效果展示 启动结果如下: ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/71841546ad8043f1bd51e4408df791de.png)![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f6e3e72ff9a4483c978ec48e24f075c2.p…

RabbitMQ发布确认高级版

1.前言 在生产环境中由于一些不明原因,导致 RabbitMQ 重启,在 RabbitMQ 重启期间生产者消息投递失败, 导致消息丢失,需要手动处理和恢复。于是,我们开始思考,如何才能进行 RabbitMQ 的消息可靠投递呢&…

大语言模型:Query Rewriting for Retrieval-Augmented Large Language Models

总体思路 作者首先指出大语言模型虽然取得了很好的效果,但是仍然存在幻觉和时间顺序混乱的问题,因此需要额外知识库和LLM内部知识库相结合,来修正;因此优化传统的retriever-reader的方案成为需要;目前的研究方案当中使…

AVCE - AV Evasion Craft Online 更新 8 种加载方式 - 过 WD 等

免责声明:本工具仅供安全研究和教学目的使用,用户须自行承担因使用该工具而引起的一切法律及相关责任。作者概不对任何法律责任承担责任,且保留随时中止、修改或终止本工具的权利。使用者应当遵循当地法律法规,并理解并同意本声明…

MySQL:概念简章

1.SQL通用语法 SQL单行、多行书写,以分号结尾SQL可以以空格有缩进增加代码可读性SQL语句不区分大小写 2.SQL语句分类 2.1 DDL(数据定义语言) 用于数据库、数据表、字段的定义的语言 create by 表名 (表里有什么字段)…

Git 学习笔记 三个区域、文件状态、分支、常用命令

Git 学习 GitGit概念VS Code中使用仓库(repository)示例 Git 使用时的三个区域示例 Git 文件状态示例 Git 暂存区示例 Git 回退版本删除文件忽略文件示例 分支分支的使用分支的合并与删除分支的合并冲突 Git常用命令Git远程仓库 (HTTP)步骤远程仓库 克隆…

Windows提示“无法删除文件:无法读源文件或磁盘”怎么办?

当用户在Mac电脑上创建一个文件,又将文件共享到Windows系统后,该文件可能无法被Windows正常识别和使用,并且在删除时出现“无法删除文件:无法读源文件或磁盘”的提示,这可能和Windows不支持Mac电脑创建的某些文件名有关…

自动化运维工具Ansible

目录 一.Ansible基本内容 1.定义 2.特点与优势 优势: (1)轻便性:无需在被控制服务器上安装客户端,Ansible基于ssh协议 (2)幂等性:大部分模块有幂等性,即如果输入sys…

数据仓库原理(二)

目录 四、数据仓库的概念模型(一)多维数据模型(二)维度与粒度 五、数据仓库的逻辑模型(一)多维模型(二)星形模型(三)雪花模型 六、数据仓库的物理模型&#x…

Spring Boot 集成 WebSocket 实例 | 前端持续打印远程日志文件更新内容(模拟 tail 命令)

这个是我在 CSDN 的第一百篇原则博文,留念😎 #1 需求说明 先说下项目结构,后端基于 Spring Boot 3,前端为 node.js 开发的控制台程序。现在希望能够在前端模拟 tail 命令,持续输出后端的日志文件。 #2 技术方案 #2.…

腾讯云轻量服务器地域选择教程,2024最新地域选择攻略

腾讯云服务器地域怎么选择?不同地域之间有什么区别?腾讯云哪个地域好?地域选择遵循就近原则,访客距离地域越近网络延迟越低,速度越快。腾讯云百科txybk.com告诉大家关于地域的选择还有很多因素,地域节点选择…

Gitee 服务器

Git 服务器集成 1. 创建仓库 2. 远程仓库简易操作指令 # Git 全局设置,修改成自己的信息 git config --global user.name "Muko" git config --global user.email "txk0x7d2163.com" # 创建 git 仓库,基本操作指令和其他远程仓库一…

若依Vue3图片预览大图遮罩层和表格的border css层级冲突

样式层级出现问题,表格的层级高于图片的层级 1.解决方式一:设置此文件的该属性(z-index)为继承,则显示正常 .el-table .el-table__cell { z-index: inherit; } 2.解决方式二:将此属性设置为true(本人试了…

基础---nginx 启动不了,跟 Apache2 服务冲突

文章目录 查看 nginx 服务状态nginx 启动后 访问页面 127.0.0.1停止 nginx 服务,访问不了页面停止/启动 Apache2 服务,启动 Apache2 页面访问显示正确nginx 莫名启动不了卸载 Apache2 服务器 启动 nginx ,但是总是不能实现反向代理&#xff0…

UE4案例记录

UE4案例记录(制作3D角色显示在UI中) 制作3D角色显示在UI中 转载自youtube视频 https://www.youtube.com/channel/UCC8f6SxKJElVvaRb7nF4Axg 新建项目 创建一个Actor 场景组件->摄像机组件->场景捕获组件2D,之后添加一个骨骼网格体…

sheng的学习笔记- AI-类别不平衡问题

目录:sheng的学习笔记-AI目录-CSDN博客 什么是类别不平衡问题 类别不平衡(class-imbalance),也叫数据倾斜,数据不平衡,就是指分类任务中不同类别的训练样例数目差别很大的情况。 例如有998个反例&#xf…

Python数据分析-4

1.对于一组电影数据,呈现出rating,runtime的分布情况: #encodingutf-8 import pandas as pd import numpy as np from matplotlib import pyplot as plt file_path "./youtube_video_data/IMDB-Movie-Data.csv" df pd.read_csv(file_path) …

OceanBase原理之内存管理

第1章 前言 1.1 多租户管理简介 OceanBase数据库中,应用了单集群多租户的设计,使得一个集群内能够创建多个彼此独立的租户。在OceanBase数据库,租户成为了资源分配的单位,同时还是数据库对象管理和资源管理的基础。 在某种程度…

电脑远程桌面选项变成灰色没办法勾选怎么办?

有些人在使用Windows系统自带的远程桌面工具时,会发现系统属性远程桌面选项卡中勾选启用“允许远程连接到此计算机”。 导致此问题出现的原因主要是由于组策略或者注册表设置错误造成的。 修复远程桌面选项变灰的两种方法! 方法一:设置本地组…

Android 学习之追踪应用的安装情况

先上结论,急用的话直接看结论 结论一、借助 API 读取安装信息,然后上报二、借助手动埋点,然后上报三、对比 前提过程 结论 一、借助 API 读取安装信息,然后上报 通过 PackageManager 的 API,我们可以得知自身应用安装…