创建列表报表
学习目标
创建元数据扩展,向其添加列表报表的 UI 注释
为映射视图创建 ABAP CDS 元数据扩展
在本练习中,您将为差旅实体的映射视图添加 ABAP CDS 元数据扩展。您可以将所有 UI 相关注释放入其中。
前提条件
您已完成获取 ABAP RESTful 应用程序编程模型概览单元中的发布 OData V4 服务练习(课程:创建 OData V4 服务)。
观看模拟并执行步骤
此练习包含指导您完成详细步骤的模拟。模拟后可以找到所有步骤。您可以遵循模拟并使用自己的试用账户执行步骤。
练习:开始练习(SAP 官方交互式练习)
步骤
您具有之前在 ADT 中打开的 OData 服务包。
在 ZFE_TRAVEL_###### 中展开核心数据服务,其中 ZFE_TRAVEL_###### 是包的唯一标识。
选择并展开"数据定义"。您可以看到可以为其创建 UI 注释的三个投影视图。
双击数据定义中的 ZC_FE_TRAVEL_######。"差旅"实体的映射视图随即打开。
为差旅实体创建元数据扩展。
选择并右键单击 ZC_FE_TRAVEL_###### 。
选择新建元数据扩展。随即打开新建元数据扩展对话框。
确保元数据扩展的名称输入为
ZC_FE_TRAVEL_######。输入描述作为**
差旅实体的 UI 注释**。选择下一步。随即打开选择传输请求。
再次选择下一步。将显示"模板"。
选择完成。您可以看到已生成元数据扩展。注释 ZC_FE_TRAVEL_###### 是您的投影视图。您可以将差旅实体的所有 UI 相关注释添加到此文件中。
按
CONTROL + 空格。在后续下拉列表中,选择#CORE(annotation)。您已选择#CORE作为@Metadata.layer的值。展开元数据扩展。您可以在元数据扩展文件夹中查看新创建的元数据**ZC_FE_TRAVEL_###### 扩展。
结果
您已成功为 ZC_FE_TRAVEL_###### ABAP CDS 映射视图创建 ABAP CDS 元数据扩展。在即将进行的练习中,将差旅实体的所有 UI 相关注释添加到此文件中。
向列表报表表添加列
在本练习中,您将了解如何向显示行程的表添加列。为此,必须使用 ABAP CDS @UI.lineItem 注释注释相应字段。
前提条件
您已完成本课中的为映射视图创建 ABAP CDS 元数据扩展练习。
观看模拟并执行步骤
此练习包含指导您完成详细步骤的模拟。模拟后可以找到所有步骤。您可以遵循模拟并使用自己的试用账户执行步骤。
练习:开始练习(SAP 官方交互式练习)
步骤
在浏览器中打开应用预览。表未显示任何列。
在 ADT 中打开差旅实体映射视图。
您具有在 ADT 中打开的先前练习中生成的 OData 服务包。
选择并双击 数据定义 中可用的 ZC_FE_TRAVEL_###### 。"差旅"实体的映射视图随即打开。
复制将要用于添加注释的下列字段:
TravelID
AgencyID
CustomerID
BeginDate
EndDate
BookingFee
TotalPrice
OverallStatus
LastChangedAt
将映射视图中的所有所选字段粘贴到元数据扩展。
从元数据扩展中双击 ZC_FE_TRAVEL_######。
如下方示例代码所示,粘贴要为其添加
@UI.lineItem注释的 Travel 实体投影视图中的所有字段。
{
TravelID;
AgencyID;
CustomerID;
BeginDate;
EndDate;
BookingFee;
TotalPrice;
OverallStatus;
LastChangedAt;
}
在 字段上方添加 ABAP CDS
@UI.lineItem一行。在字段上方输入一行
@UI.lineItem。按键盘上的
CTRL + 空格键查看注释建议。选择并双击
@lineItem: \[{}\] (annotation)。添加
@UI.lineItem注释的位置属性。按键盘上的
CTRL + 空格键。选择并双击
@position: (annotation)。输入
10作为头寸值。TravelID字段将显示为表的第一列。针对每个字段执行以下步骤。确保为其余字段连续输入头寸值。在这种情况下,第二个字段的位置值为 20,第三个字段的位置值为 30,以此类推。
单击菜单栏中的 激活 以保存并激活更改。
在浏览器中打开应用预览以查看所有注释字段。
在项目浏览器中展开业务服务文件夹。
从 业务服务 中展开 服务绑定 选项。
双击 ZUI_FE_TRAVEL_######_O4。
在打开的服务绑定中,选择来自实体集的**差旅和服务版本详细信息标签的关联。
选择 预览 。应用预览将用
@UI.lineItem注释的所有字段显示为表列。选择执行。显示表数据。
选择并单击表中的第一个条目。将显示所选表条目的对象页面。此对象页面为空,因为尚未维护相应的注释。
结果
您已成功将列添加到表中,其中显示所有注释字段。您还将成功查看表中的数据,并导航到对象页面。
将过滤器字段添加到列表报表
在本练习中,将TravelID、AgencyID 和 CustomerID 字段添加到清单报表的过滤器栏。
前提条件
您已完成本课中的将列添加到清单报表表练习。
观看模拟并执行步骤
此练习包含指导您完成详细步骤的模拟。模拟后可以找到所有步骤。您可以遵循模拟并使用自己的试用账户执行步骤。
练习:开始练习(SAP 官方交互式练习)
步骤
您已在 ADT 中为差旅预测视图打开元数据扩展。
使用
TravelID进行注释@UI.selectionField。在
@UI.selection字段前输入TravelID。从后续列表中选择并双击
@selectionField: \[{}\] (annotation)。将
TravelID设置为 UI 上的第一个过滤器字段。将光标放在
@UI. selectionField: \[{}\]的大括号内。从选项中选择并双击
@position: (annotation)。输入
10作为@UI.selectionField注释的位置属性。这样,TravelID成为 UI 上的第一个过滤器字段。按照
AgencyID中描述的相同方式,使用@UI.selectionField对CustomerID和TravelID进行注释。确保为其余字段连续输入头寸值。在这种情况下,第二个字段的位置值为 20,第三个字段的位置值为 30,以此类推。单击菜单栏中的 激活 以保存并激活更改。
在浏览器中打开应用预览以查看所有注释的过滤器字段。
双击 ZUI_FE_TRAVEL_######_O4。
在打开的服务绑定中,从实体集和服务版本详细信息**标签的关联中选择差旅。
选择 预览 。现在,应用预览将差旅标识、旅行社标识**和客户标识显示为过滤器栏字段。缺省情况下, 搜索 字段和 编辑状态 将添加到过滤器栏。
选择执行。显示表数据。
过滤代理标识字段中的表数据。
选择代理标识的值帮助选项。
从搜索并选择标签的已生成列表中选择第一个项目。
选择确定。
从清单报表中选择执行。您可以看到表数据已根据之前选择的过滤条件进行过滤。
结果
您已成功地将差旅 ID、旅行社标识符**和客户标识符添加到列表报告的过滤器栏。基于所选过滤条件过滤数据。
将关键性添加到差旅状态列
在本练习中,您将向总体状态值添加关键性颜色。总体状态列显示差旅的总体状态,其中 O 为未清,A 为已接受,X 为已取消。根据关键性颜色,已接受状态显示为绿色,未处理状态显示为橙色,已取消状态显示为红色。您还将向这些值添加相应的图标。
前提条件
您已完成本课中的将过滤器字段添加到清单报表练习。
观看模拟并执行步骤
此练习包含指导您完成详细步骤的模拟。模拟后可以找到所有步骤。您可以遵循模拟并使用自己的试用账户执行步骤。
练习:开始练习(SAP 官方交互式练习)
步骤
随即打开 SAP Fiori 元素的基于关键性突出显示行项目文档。您可以查看关键性的可能值。
您已在 ADT 中为差旅预测视图打开元数据扩展。
从数据定义中双击 ZI_FE_TRAVEL_######。travel 实体的 ABAP CDS 视图已打开。OVERALL_STATUS 字段在生成的视图中可用。
如以下示例代码所示,添加名为
OverallStatusCriticality的虚拟元素,其中包含 OVERALL_STATUS 的映射值。
case OVERALL_STATUS
when 'O' then 2
when 'A' then 3
when 'X' then 1
else 0
end as OverallStatusCriticality,
单击菜单栏中的 激活 以保存并激活更改。
将新创建的字段添加到差旅实体的草稿表中。
在项目浏览器中展开 行为定义 。
双击 ZI_FE_TRAVEL_######. 从菜单栏中单击*"激活*"。
您可以看到草稿表的错误图标。
选择错误图标。错误消息已展开。
双击消息。将
overallstatuscriticality字段添加到差旅实体的草稿表中。再次单击菜单栏中的 激活 以保存并激活更改。
将新创建的字段添加到映射视图。
在项目浏览器中双击 ZC_FE_TRAVEL_######。
向下滚动至
OverallStatus并将OverallStatusCriticality字段添加到投影视图。单击菜单栏中的 激活 以保存并激活更改。
将关键性属性作为
OverallStatusCriticality添加到@UI.lineItem字段的OverallStatus注释。在项目浏览器的**元数据扩展文件夹中,双击 ZC_FE_TRAVEL_######。随即为差旅实体打开元数据扩展。
将
criticality: 'OverallStatusCriticality'注释的@UI.lineItem属性添加到OverallStatus。此属性紧接在position属性之后添加。您可以按照以下示例代码所示对其进行注释:
@UI.lineItem: [{position: ##, criticality: 'OverallStatusCriticality'}]
OverallStatus;
单击菜单栏中的 激活 以保存并激活更改。
ADT 中的更改现已完成。切换到浏览器中的应用预览。
选择执行。总体状态列显示关键性颜色和总体状态值。
结果
您已成功为"差旅"实体的总体状态列添加关键性颜色以及关键性图标。您已在应用预览中查看更改。
为整体状态添加描述文本,而不是代码
在本练习中,将使用有意义的文本替换清单报表的总体状态列中的代码。
前提条件
您已完成本课中的"*将关键性添加到差旅状态列"*练习。
观看模拟并执行步骤
此练习包含指导您完成详细步骤的模拟。模拟后可以找到所有步骤。您可以遵循模拟并使用自己的试用账户执行步骤。
练习:开始练习(SAP 官方交互式练习)
步骤
在 ADT 中,您已在项目浏览器中打开数据定义。
检查文本提供者视图。
从数据定义中双击 ZI_FE_TRAVEL_######。
您可以看到
TravelStatus的文本提供者视图关联已定义。向下滚动。您可以看到关联
_TravelStatus在差旅 CDS 视图中公开。将文本提供者视图中的文本字段添加到差旅实体的映射视图。
通过双击 ZI_FE_STAT_######. 确保文本提供者视图对差旅状态开放
按
F8功能键显示视图的文本值。双击 ZC_FE_TRAVEL_######. "差旅"实体的映射视图随即打开。
向映射视图中添加包含差旅状态文本的新字段
_TravelStatus.TravelStatusText as TravelStatusText。在项目视图中用
OverallStatus标注注释@ObjectModel.text.element。您已打开差旅实体的映射视图。
将
@ObjectModel.text.element: \['TravelStatusText'\]注释添加到OverallStatus字段。请注意,@ObjectModel注释是 CDS 运行时所必需的,因此会直接添加到映射视图中,而不是添加到元数据扩展中。单击菜单栏中的 激活 以保存并激活更改。
切换到浏览器中的应用预览。除总体状态列的代码外,您还可以查看文本。现在,您必须隐藏代码,以便仅显示所需文本。
添加
@UI.textArrangement注释以仅显示不含代码的文本。从 ADT 的项目浏览器中展开元数据扩展。
双击 ZC_FE_TRAVEL_######. 随即为差旅映射视图打开元数据扩展。
重点关注
OverallStatus行项目。将
@UI.textArrangement: #TEXT_ONLY注释添加到OverallStatus。此值确保只有文本在 UI 上可见,并且括号中显示的代码保持隐藏。再次单击菜单栏中的 激活 以保存并激活更改。
切换到浏览器中的应用预览。现在,您可以看到代码已隐藏。
结果
您已成功将文本添加到"差旅"实体的总体状态列。您还隐藏了显示在括号中的状态代码。