【学习系列】SAP RAP 10:行为定义-Determinations和Validations
前言
前一篇中介绍了关于行为定义中Operations的概念,本篇将介绍行为定义中关于Determinations和Validations的基本概念和内容。
正文
Determinations
Determinations(确定)是一个行为对象的可选部分,用于在满足条件时,由框架隐式调用,比如可以在更新或者保存实例时,根据某些特定条件自动更新某个字段则可以使用Determinations。
注意点:
- 在unmanaged场景中,Determinations仅支持草稿实例,不支持活动实例。
- 相同条件下多次执行Determinations时,确定结果不得改变(幂等性)。
Determinations执行的顺序不是固定的,当有多个Determinations的触发条件相同(比如都是保存时触发),你无法确定哪个Determinations会先触发。
一旦Determinations被触发,它必须独立于其他Determinations运行。
如果你创建或者更新一个实例,并且在同一个请求队列中进行删除,则可能会出现这种情况:触发的Determinations中的读取EML会失败,因为无法找到给定的键实例。
也可以使用Side effects触发Determinations。
Determination Definition
本例中定义一个determi