A validation policy rule can accept and interpret an argument that is set as part of the assignment of the validation rule to a given CDS. 

At the time of assignment, the user can set a text object (list of comma separated strings or a JSON object) which can be interpreted by the validation logic. This variable input (of type "string") is accessible in the parser logic through the variable "arg".

As an example, a validation policy rule might check that a certain list of CDI keyNames exist in the CDS snapshot. This list of "required" keyNames can of course be different on CDS by CDS. Therefore the user can specify the list of keyNames that must exists for a given CDS by passing on a list of keyNames when assigning the validation rule

the "arg" variable

The arg variable is of type string, and can be transformed to another type when expected. In the example of checking for keys that must exist, the validation logic might check if there are any special keyNames provided by the user for this CDS. If yes, use the keyNames provided. If not, fall back to a hardcoded defined list of keyNames. 

//checks if an argument (list of keys in JSON) is provided. If not, use the default
if (arg === "")  {
  var keyNames = ["dbSslEnabled","dbConnectionURL"];
} else { 
  var keyNames = JSON.parse(arg);

Article Information

Last Updated:2020-10-15 01:02:42