问题标签 [cds]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
5031 浏览

view - ABAP CDS 视图中的可选参数?

我正在尝试使用可选参数创建一个用于消费的 CDS 视图。但目前,不支持可选参数。

是否有一种解决方法可以根据输入参数以某种方式选择要执行/使用哪些子句?

0 投票
1 回答
3180 浏览

abap - 从 CDS 实体与从 CDS 数据库视图中选择

在 SAP 的 ABAP CDS 中,该define view语句用于创建 CDS 视图。该对象有一个 CDS 实体名称,这就是它在编辑器和包中的显示方式,但它也有一个AbapCatalog.sqlViewName必须不同的注释。语法的文档define view有一些信息:

为使用 DEFINE VIEW 定义的 CDS 视图(ABAP CDS)创建了两个对象。必须为两个对象中的每一个指定一个名称:

  • CDS 数据库视图的名称CDS_DB_VIEW必须在注解@AbapCatalog.sqlViewName 后用引号指定。ABAP 字典视图的常用规则适用于此名称,并且不区分大小写(在内部转换为大写字母)。关联的 SQL 视图在数据库上以该名称创建。

  • CDS 实体的名称 cds_entity在关键字 DEFINE VIEW 之后定义(DEFINE 是可选的)。不需要指定引号。此名称遵循 CDS 数据库视图的规则,但长度可以为 30 位。

这两个名称都位于 ABAP 字典中数据类型的命名空间中,并且每个名称都必须是唯一的。这两个名称可用于其他 DDL 语句或 ABAP 程序中以访问 CDS 视图。

它提到了一些其他差异,例如实体在 SAP 的数据字典工具(SE11、SE16)中不可用以及从实体中选择始终以严格模式运行的事实,但关键是:

在 CDS 的 DDL 和 ABAP 中,可以将 CDS 视图寻址为 CDS 数据库视图CDS_DB_VIEW和 CDS 实体 cds_entity。但是,强烈建议只使用 CDS 实体

当我在一个简单的查询中运行两者时,我注意到从实体中选择时没有 MANDT 列,但从CDS 数据库视图中选择时存在此列。

那么,开发人员在使用 CDS 视图时应该牢记数据库视图和 CDS 实体之间的真正区别是什么?

0 投票
2 回答
10476 浏览

sap - 在 CDS 视图中连接空格

从 ABAP 7.40 SP5开始,我可以使用该CONCAT功能在我的 CDS 视图选择列表中组合两个字段。它仅限于两个参数,但我可以通过链接此函数来组合多个字段或构建更大的字符串来解决这个问题。我不能这样做是将两个字段与分隔它们的空格结合起来。当我这样做时:

空格' '会从结果字符串中默默地修剪掉。如何用空格分隔字段?

0 投票
2 回答
12446 浏览

hana - CDS 视图中的 READ_TEXT 类似功能

我需要读取为发票、订单等存储的文本。在 ABAP 中,我们可以使用 READ_TEXT 功能模块,但我需要在 CDS 视图中读取它。有没有办法在 SELECT 语句中直接从数据库表中读取文本?

0 投票
1 回答
936 浏览

sapui5 - 显示包含层次结构的表的树表

我得到了一个包含指向其父节点的属性的数据库表,它还具有导航属性“_toSubTasks”和“_toParent”。对于这个表,它有一个 OData 服务。

例子:Task { task_id, parent_task_id, ....}

对于每个任务,我们可以得到它的直接子任务,但是每个子任务也可以有自己的子任务。如何获取所有层次级别的子任务(直接子任务和子任务的子任务)并用UI5树表显示?

0 投票
1 回答
1111 浏览

abap - 修改 cds 视图中的元素

我想修改 cds 视图中的元素以更改它的显示方式。我尝试使用虚拟元素,如果我从单独的元素(存储原始数据)中获取数据并将其放入新的虚拟元素中,它工作正常。

但是,我无法弄清楚如何修改元素本身而不在表中显示多余的元素。如果我尝试隐藏原始数据,则数据未正确加载。如果我尝试使原始元素虚拟化,它会丢失它自己的数据。

实现我想要的正确方法是什么?

0 投票
1 回答
325 浏览

abap - 在 CDS 访问控制中使用动态值

如何将 cds 元素与 ABAP 函数的返回值进行比较?

例如:一名员工被分配到一家公司,该公司有客户的订单。这些订单显示在表格中,员工只能看到他们所在公司的订单。

如果员工 A 为公司 B 工作,那么角色将是这样的:

我现在想让这个硬编码的“B”动态化,并且有一个 ABAP 帮助函数,它返回应该使用的雇员的雇主。没有任何授权对象具有公司的字段,没有一个可以做到吗?

0 投票
1 回答
2244 浏览

sapui5 - 在 CDS 中使用日期时间

我有一个包含日期和时间的时间戳,例如“YYYYMMddhhmmss”,我想在 Fiori 前端将其显示为日期时间,例如“Month dd, YYYY hh:mm PM”,并启用自动 DateTimePicker。

虽然 CDS 视图中有可用的 tstmp_to_dats 和 tstmp_to_tims 函数适用于各个日期或时间,但我不知道如何创建 DateTime。正确的方法是什么?

0 投票
2 回答
5063 浏览

sapui5 - SAPUI5 SmartTable (sap.m.Table) 隐藏列

有什么方法可以从用户连接到 OData 的响应表中隐藏一列。我现在不记得 setVisible(false) 因为用户可以从设置按钮中选择列。那么 - 有没有办法设置要在设置中选择的列或永久隐藏它(从元数据中删除?)。我也尝试使用 CDS View @UI.hide 中的注释,但不幸的是,这不起作用。

0 投票
1 回答
4470 浏览

abap - 如何在 cds 视图中获取月份编号或名称

我正在 Hana 工作室创建一个 CDS 视图,我想在报告中从日期 (YYYYMMDD) 获取月份编号或名称,但我无法找到月份或其他任何函数,

请帮忙。