Use validation rules to check if the data is in line with the defined standards.
To validate data, you can use several validation types. This topic explains how to set up a validation rule of type Web service validation type.

Use a web service validation rule to validate if a field value matches a value in another internal or external source, using a web service.
You can, for example, use a web service validation rule to validate an address, email, or VAT number.
Before you can set up a web service validation rule, set up the web service to be used.
You can set up a web service validation rule in several ways. For a parameter of type:
  • Request, you can use the default parameter values as defined for the used web service. No specific parameter setup is required.
  • Request, you can override a default parameter value for a request parameter. To do so, you can use the type Field, Code, or Fixed value. Each type requires specific settings. Explained in subtasks 10-12.
  • Response, you can use the values, as returned by the web service, to validate a value in D365 FO. Explained in subtask 13.
  • Response, you can process a response value, as returned by the web service, before you use it to validate a value in D365 FO. Explained in subtask 14
 


Standard procedure

1. Click Data quality management.
2. On the Data quality policies tab, in the list, click the link of the desired data quality policy.
3. On the Validation rules tab, click Add.
 

Note: If you want to edit another data quality policy version than the currently shown version, first select the desired version. To do so, on the Action Pane, on the Version tab, click Versions. On the dialog, select the desired version and click OK.

4. Define the table of the field which value must be validated.
  In the Table field, enter or select a value.
5. Define the field which value must be validated.
  In the Field field, enter or select a value.
 

Note: If, on validation, the defined field does not have a value, the web service validation rule is not applied.

6. In the Validation type field, select 'Web service'.
7. Define when the validation rule is applied:
- Field: The validation rule is applied just before the standard field validation is done.
- Record: The validation rule is applied just before the standard record validation is done.
  In the Event field, select an option.
8. Define what is done if the validation rule is not met:
- Warning: A warning message is shown. The record or the field value is saved.
- Error: An error message is shown. The record or the field value is not saved.
  In the Warning/Error field, select an option.
 

Note: For each validation rule, you can define a message to be shown. If you do not define a validation rule message, a default message is shown.

9. On the Properties tab, in the Web service field, enter or select the desired web service.
10. Sub-task: Set up a request parameter override of type Field.
  10.1 For a web service, parameters can be set up. If so, these parameters are shown on the Properties tab. For Request parameters, a default value can be defined. You can override this default value with the value of a field. If no default value is defined, do the same steps to define the request parameter value.
  On the Properties tab, for the desired Request parameter, select the Override setup check box.
 

Note: If a Custom request handler is defined for the web service, no Request parameters are available.

  10.2 In the Parameter type field, select 'Field'.
  10.3 In the Field name field, enter or select a value.
 

Note: You can only select a field from the table that is defined for the validation rule.

11. Sub-task: Set up a request parameter override of type Custom.
  11.1 For a web service, parameters can be set up. If so, these parameters are shown on the Properties tab. For Request parameters, a default value can be defined. You can override this default value with a value that is defined by a custom method. If no default value is defined, do the same steps to define the request parameter value.
  On the Properties tab, for the desired Request parameter, select the Override setup check box.
 

Note: If a Custom request handler is defined for the web service, no Request parameters are available.

  11.2 In the Parameter type field, select 'Code'.
  11.3 Define the custom class that is used to define the parameter value.
  In the Class name field, enter or select a value.
 

Note: You can only select classes that extend the DQSWebServiceParametersBase base class. This custom class must have a return method that returns a value.

  11.4 Define the custom class return method that is used to define the parameter value.
  In the Method name field, enter or select a value.
12. Sub-task: Set up a request parameter override of type Fixed value.
  12.1 For a web service, parameters can be set up. If so, these parameters are shown on the Properties tab. For Request parameters, a default value can be defined. You can override this default value with a fixed value. If no default value is defined, do the same steps to define the request parameter value.
  On the Properties tab, for the desired Request parameter, select the Override setup check box.
 

Note: If a Custom request handler is defined for the web service, no Request parameters are available.

  12.2 In the Parameter type field, select 'Fixed value'.
  12.3 In the Parameter value field, type a value.
13. Sub-task: Set up response parameter.
  13.1 For a web service, parameters can be set up. If so, these parameters are shown on the Properties tab.
Indicate which response parameters are used to validate the value. For each of these parameters, set up a condition to define which response values from the web service are valid. A condition has a type and a value. For each of the used response parameters, the condition must be met.
On validation, the process is:
1. Send request to web service.
2. Web service gives response values.
3. Apply the condition for each used response value.
Result: The validation rule is only met if for each used response parameter, the condition is met.
  Select the Use as response parameter check box.
 

Note: If a Custom response handler is defined for the web service, no Response parameters are available.

  13.2 In the Condition type field, select an option.
  13.3 In the Parameter value field, type a value.
14. Sub-task: Set up response parameter override.
  14.1 For a web service, parameters can be set up. If so, these parameters are shown on the Properties tab.
You can process a Response value, as received from the web service, before you use it to validate a value in D365 FO. You can only do so with a custom class and method.
On validation, the process is:
1. Send request to web service.
2. Web service gives a response.
3. Process response with custom method.
4. Get response from custom method.
5. Apply the condition for each used response value.
Result: The validation rule is only met if for each used response parameter, the condition is met.
  On the Properties tab, for the desired Response parameter, select the Override setup check box.
 

Note:
- Select this check box for each response parameter for which you also select the Use as response parameter check box.
- If a Custom response handler is defined for the web service, no Response parameters are available.

  14.2 Indicate which response parameters are used to validate the value. For each of these parameters, set up a condition to define which response values from the custom method are valid. A condition has a type and a value. For each of the used response parameters, the condition must be met.
  Select the Use as response parameter check box.
 

Note: Select this check box for each response parameter for which you also select the Override setup check box.

  14.3 Define the custom class that is used to process the web service response and that returns the value that is used as input for the condition.
  In the Class name field, enter or select a value.
 

Note: You can only select classes that extend the DQSWebServiceParametersBase base class. This custom class must have a return method that returns a value.

  14.4 Define the custom class return method that is used to process the web service response and that returns the value that is used as input for the condition.
  In the Method name field, enter or select a value.
  14.5 Define the condition that is applied to the value that is returned by the custom class method.
  In the Condition type field, select an option.
  14.6 In the Parameter value field, type a value.
15. Close the page.

Provide feedback