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 add validation rules in these ways:

  • Manually.
  • Select the fields to be validated from a page.
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 one of these types: 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 F&SCM. 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 F&SCM. 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.
 

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.

3. Sub-task: Manually create validation rule.
  3.1 You can manually create a validation rule and define the table and field which value must be validated.
  On the Validation rules tab, click Add.
  3.2 Define the table of the field which value must be validated.
  In the Table field, enter or select a value.
 

Note: If you want to validate field values in inherited tables, define the child table instead of the base table. For example, instead of DirPartyTable, use DirOrganization or DirPerson.

  3.3 Define the field which value must be validated.
  In the Field field, enter or select a value.
4. Sub-task: Create validation rules by selecting fields.
  4.1 You can create validation rules by selecting the fields, which value must be validated, from a page.
  On the Validation rules tab, click Select fields.
  4.2 Open the page from which you want to select fields.
  4.3 On the Field picker dialog, click Select fields.
  4.4 Click the '+' button for each field that you want to select.
  4.5 On the Field picker dialog, click Done.
  4.6 On the Field picker dialog, click Submit to save the selected fields to the validation rule.
5.

Define to which records the validation rule is applied. You can apply a validation rule to:

  • New records only.
  • Existing records only.
  • New records and existing records.
  In the Record type field, select an option.
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 Outcome 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 F&SCM. 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