目录
[1-1,Rainbow CSV Extension](#1-1,Rainbow CSV Extension)
[1-2,BookStatus Entity](#1-2,BookStatus Entity)
[1-3,Ctrl+Shift+P > Open Application Info](#1-3,Ctrl+Shift+P > Open Application Info)
[a,添加字段 stock,status](#a,添加字段 stock,status)
[c,添加Filter - Value Help](#c,添加Filter - Value Help)
[d,添加字段到Object Page](#d,添加字段到Object Page)
下面是详细内容。
1,Criticality
1-1,Rainbow CSV Extension
咱们继续使用CSV作为本地DB,为了看数据好看一些,下载一个插件 Rainbow CSV

能比全黑要好点儿哈

1-2,BookStatus Entity
加一个表
type BookStatusCode : String(1) enum {
Available = 'A';
Low_Stock = 'L';
Unavailable = 'U';
};
entity BookStatus {
key code : BookStatusCode;
criticality : Integer;
displayText : String;
}
然后用 cds add data生成csv文件,再加下面数据
code,criticality,displayText
A,3,Available
L,2,Low Stock
U,1,Unavailable

相应的,把Books表也改一下:
entity Books : cuid, managed {
title : String;
author : Association to Authors;
genre : String;
publishedAt : Date;
pages : Integer;
price : Decimal(9, 2);
currency : String;
stock : Integer;
status : Association to BookStatus;
Chapters : Composition of many Chapters
on Chapters.book = $self;
}

数据也改一下:
ID,title,author_ID,genre,publishedAt,pages,price,currency,stock,status,createdAt,createdBy,modifiedAt,modifiedBy
32508139-cb39-48f2-866b-855a36401d99,"The Silent Forest",29739579-a79e-4c59-a5d8-b27fc939d58b,"Fiction","2018-04-12",340,49.99,INR,25,A,"2025-01-01T09:00:00Z","SYSTEM","2025-01-01T09:00:00Z","SYSTEM"
8b1d4b6d-2c5f-4c1c-ac20-e6a6e022f5b8,"A Brief History of Space",29739579-a79e-4c59-a5d8-b27fc939d58b,"Science","2021-09-01",280,69.99,INR,8,L,"2025-01-01T09:05:00Z","SYSTEM","2025-01-01T09:05:00Z","SYSTEM"
b3c97c1f-2e82-4c5d-9f63-45de1c72bb7d,"Cooking with Fire",29739579-a79e-4c59-a5d8-b27fc939d58b,"Cooking","2020-02-17",220,39.99,INR,0,U,"2025-01-01T09:10:00Z","SYSTEM","2025-01-01T09:10:00Z","SYSTEM"
c4f87443-9b2d-4b6e-a1e1-a65d6f47a6c5,"Winds of the North",12729882-477e-424d-805d-22a9dd5bf9f7,"Fantasy","2019-11-03",410,59.90,INR,15,A,"2025-01-01T09:15:00Z","SYSTEM","2025-01-01T09:15:00Z","SYSTEM"
2f0e3a28-2902-40bf-9a19-e0bff621adfb,"Gardening for Beginners",12729882-477e-424d-805d-22a9dd5bf9f7,"Hobby","2022-06-22",180,34.50,INR,5,L,"2025-01-01T09:20:00Z","SYSTEM","2025-01-01T09:20:00Z","SYSTEM"
94a7c74a-57a0-4e13-9ff8-33a89f92aa3d,"The Lost Empire",12729882-477e-424d-805d-22a9dd5bf9f7,"Adventure","2017-08-14",360,54.99,INR,0,U,"2025-01-01T09:25:00Z","SYSTEM","2025-01-01T09:25:00Z","SYSTEM"
dcd30d22-0bd8-4ea2-b5ba-84e27bd97558,"Mindful Living",12729883-ca10-4405-a0c6-a180d28427f7,"Self-Help","2023-03-02",250,42.00,INR,12,A,"2025-01-01T09:30:00Z","SYSTEM","2025-01-01T09:30:00Z","SYSTEM"
636fa2f7-1dfb-4926-afaf-7ae1716e998b,"The Ocean Below",12729884-46ff-4a00-814c-ee008e20d430,"Non-Fiction","2021-12-09",310,64.90,INR,6,L,"2025-01-01T09:35:00Z","SYSTEM","2025-01-01T09:35:00Z","SYSTEM"
0eacb82f-8765-46ef-9b41-21ba9c9f3df1,"Secrets of Architecture",12729884-46ff-4a00-814c-ee008e20d430,"Art","2016-05-27",295,79.00,INR,3,L,"2025-01-01T09:40:00Z","SYSTEM","2025-01-01T09:40:00Z","SYSTEM"
c92dfd60-8831-4c0d-b88f-19e0fd4e4df3,"Deep Sea Tales",12729885-da2f-4f4e-90d8-728cc409f2bb,"Children","2024-01-11",150,29.99,INR,20,A,"2025-01-01T09:45:00Z","SYSTEM","2025-01-01T09:45:00Z","SYSTEM"

不要忘记暴露BookStatus服务出去。

1-3,Ctrl+Shift+P > Open Application Info
a,添加字段 stock,status
有关如何使用Application Info,请参见如下章节
TODO:URL

出了个小错误哈
看Log,确实是Sqlite来操作CSV文件的哈

啥错误呢?
其实就是字段名,如果是Association,Composition这种的,会默认加_ID,_code的

author_ID
status_code
那么到底是ID呢?还是code呢?
这个跟表里字段有关
-
Author表,key为ID,就加 _ID
-
BookStatus表,key为code,就加 _code
简单来说,就是加上副表的key

cds watch里看一下,这样就显示出来数据啦
但是这样有点儿丑,我们给做得漂亮些

b,设置Criticality
在Page Map,点status字段,然后下滑到Criticality,就可以设置了

在Criticality Representation里面设置Without Icon,就会隐去图标
效果跟不用Criticality一样,大多数情况下大家还是愿意加上的

设置Text属性,则可以显示displayText值

还可以设置Text Arrangement,以只显示Text,不显示Value
- Text Only

c,添加Filter - Value Help
当前是这样的

点一下右侧图标,显示这种Help

我们来改变一下Display Type为下拉框
- Value Help

这里有很多设置,
-
Entity(BookStatus),
-
Value Source(code),
-
Value Description(displayText)
-
Display as Dropdown(默认勾上的)

就是这种下拉框

另外,下拉框里面还可以加字段,加排序

d,添加字段到Object Page
因为上面已经设置过了,其中一些设置是有记忆的,后面可以直接使用的,比如Value Help
但好像也不是全部的哈,比如Icon就没有,咱们给设置一下

这样就显示出来了哈

由于Book Status比较重要,我给加到Header Section里面去,也是可以的
点 Header Sections,然后先添加一个Header Section(名称任意),然后在 添加status_code
然后设置一下Criticality即可

这里只是说明一下可以这么干哈,这个挺丑的,咱们给恢复回去:)

以上就是本篇的全部内容。
如果大家觉得还行,希望大家多点赞,收藏,转发,感谢!
更多SAP顾问业务知识请点击下面目录链接或东京老树根的博客主页