SAP学习笔记 - 开发07 - CDSView + Fiori Element 之 List Report 中的常用功能 - 检索,过滤,检索帮助(表模式,CDSView模式)

上一章讲了CDSView+Fiori Element 之List Report的基础知识,认识一下 List Report的基本用法。

SAP学习笔记 - 开发06 - CDSView + Fiori Element 之 List Report-优快云博客

本章继续讲 List Report 中一些常用功能:

1,List Report 的检索(Search)
2,List Report 的过滤(Filter)
3,检索帮助 - 表模式
4,检索帮助 - CDSView模式

由于这里面也有我的老师没有公开的内容,所以我把本篇设为VIP文章。

目录

1,List Report 的检索(Search)

1-1,@Search.searchable: true

1-2,@Search.defaultSearchElement: true

1-3,@Search.fuzzinessThreshold: 0.5

2,List Report 的过滤(Filter)

2-1,@UI.selectionField.position: 20

2-2,检索帮助 - 表模式

1),SCUSTOM 顾客表

2),检索帮助的Layout

2-3,检索帮助 - CDSView模式

1),新规Helper的CDSView

2),检索帮助的Layout


以下是详细内容。

1,List Report 的检索(Search)

1-1,@Search.searchable: true

注意它是针对整个CDSView的,不是针对某个字段的,所以放置的位置在Header位置

1-2,@Search.defaultSearchElement: true

这个annotation 是说该检索功能具体针对的是哪些字段。

方法就是把这个注解给加到哪个字段上,那么那个字段就属于检索的范围。

比如上图我是放到了 Fldate 和 Class 这两个字段上,那么检索范围就是这两个字段。

a),检索 Flight Date

输入 20240328 点回车,确实可以检索

b),检索Class 字段

输入 F 点回车,确实可以检索

1-3,@Search.fuzzinessThreshold: 0.5

这个就是模糊检索,注意不是前端一致,中间一致,后端一致那种,

它可以设置数值在0 - 1 之间,数值越接近1表示越精确,=1 就是完全一致。

检索结果如下

重设 @Search.fuzzinessThreshold: 0.9

检索结果如下

检索结果是不一样的对吧,但是规则好像也不太好说明,所以检索结果有可能超出意外

在实际使用当中,需要多方调试,最终确定一个可靠的系数

2,List Report 的过滤(Filter)

2-1,@UI.selectionField.position: 20

还可以写作 @UI.selectionField: [{ position: 10 }]

position 跟 lineItem 里面一样,就是个显示顺序。

设置完之后就显示如下

它的特点就是点一下会弹出帮助框

然后点Go就可以检索出来了

2-2,检索帮助 - 表模式

有些字段Code不太好输入,希望通过名称来检索,然后选择

那该怎么做呢?

可以做一个Helper,需要设置以下几点:

- association to scustom as _customer on Customid = _customer.id

  通过Key关联主表和Helper表,我觉得可以理解为Left Join

- @ObjectModel.foreignKey.association: '_customer'

  指示该字段(Customerid)的Helper参照哪个表(_customer)的外键。

- _customer:

  暴露参照表,其实就是把Helper表名作为一个字段给放到Select当中来

  这里也可以看出SAP倾向于通过别名来隐藏真实的表以增强安全性

1),SCUSTOM 顾客表

  咱们这里演示的关联Helper表如下

  - SCUSTOM 顾客表,它有两个Key,作为开发者能用的只有ID

    - MANDT:Client

    - ID:顾客Code

2),检索帮助的Layout

  其实就是把Helper表 SCUSTOM 的内容给显示在这里

  可以输入任意的字段来进行检索,选择某一条返回到前页面的时候,会把Customerid给带过去

<参照:增加Helper之前的Layout>

2-3,检索帮助 - CDSView模式

除了上面的那种表模式,还可以使用CDSView模式来作为association 表。主要做法如下

- association to CDSView名称 as _customer on Customid = _customer.id

  通过Key关联主表和Helper表,我觉得可以理解为Left Join

- @Consumption.valueHelp: '_customer'

  指示该字段(Customerid)的Helper参照哪个表(_customer)的外键。

  注意它不是一个表,所以不是用ObjectModel,而是用Consumption

- _customer:

  暴露参照表,其实就是把Helper CDSView名作为一个字段给放到Select当中来

  这里也可以看出SAP倾向于通过别名来隐藏真实的表以增强安全性

下面来看下步骤:

1),新规Helper的CDSView

比如这里 ZTEST_SCUSTOM_01

注意既然是CDSView,操作空间就大了,比如就可以只暴露指定字段

咱们这里就让客户检索 Name,City,Country,Region 这几个字段

另外注意以下几点:

- 上面的【检索帮助 - 表模式】是以Filter(过滤)那种方式来进行检索的,

  这里是以 Search(检索)这种方式进行检索的,因为你要隐藏具体字段嘛,目前好像只能做到这样

- @Search.serachable: true 来让它打开检索功能

- @Search.defaultSearchElement: true 说明具体检索了哪些字段,即暴漏给用户哪些字段

  具体在用户使用的时候其实就是一个检索框,所以可以有效隐藏信息

2),检索帮助的Layout

相当于把检索功能给搬到了Helper里面

那这个功能就太强大了,Helper的CDSView你可以随意定制嘛

<参照:对照表模式的Layout>

对比下面表模式Layout,可以看到上面的CDSView模式Layout非常简洁

本章讲了 List Report 中一些常用功能:

1,List Report 的检索(Search)
2,List Report 的过滤(Filter)
3,检索帮助 - 表模式
4,检索帮助 - CDSView模式

以上就是本章的内容。

更多SAP顾问业务知识请点击下面目录链接

https://blog.youkuaiyun.com/shi_ly/category_12216766.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值