Data Check
It is possible to define data checks which examine objects of a selected object type for compliance with pre-defined criteria. Data checks are often used to check objects compliance with CIRD.
Data checks are administered by the 'Data Checks Definitions All' catalog found in the 'Valuemation Core' sidebar.
To create a data check definition:
- Switch to the 'Valuemation Core' side bar and open the 'Data Checks Definitions All' catalog.
- Use the right-click context menu to call the 'Create' action. The 'New: Data Check Definition' editor opens.
- Specify data check parameters.
- BO Type
The business object type for which the data check is defined. If no object type is specified, the data check can be run on objects of any object type as long as it can be processed by the data check workflow.
- Workflow Definition
The main component of the data check is a workflow which needs to be created specifically for this purpose. Workflow definition needs to be done in Valuemation Rich Client. See the end of this topic for an example of a data check workflow.
- Status
Data check status can be 'Active', 'Inactive' or 'Optional' with the following meaning: When the data check action is called, then all 'Active' and 'Optional' data check definitions are offered and 'Active' data checks are pre-selected. 'Inactive' data checks are not offered when the action is called.
- Can Repair
Set 'Can Repair' to True if the used workflow is capable to repairing data. When the data check is run, then an option to repair data is offered and if confirmed, the data check tries to repair found data inconsistencies.
- Prio
Number defining in which order individual data checks are performed if more data checks are run.
- On Save
Data checks can run automatically on object save. The following options are available:
- Don't run on save
The save action does not perform any data checks.
- Warning
Data checks are performed and a warning message displayed if error are found. It is, however, possible to save the object(s).
- Error
Data checks are performed, a warning message displayed and saving the object(s) is not possible.
- Condition
Specifies a condition for selection of checked objects.
Using Data Checks
- Use the right-click context menu to call the action for one or more objects. Options 'Data Check - Selected' and 'Data Check - All' are provided.
- A catalog of existing data check definitions which can be used for the selected object(s) opens. Select one or more definitions and click 'Ok'.
- A window offering result display options gets displayed. Select 'Show Results' to display a catalog of possible problems after the action is performed. Select 'Write to File' to have the results written in a log file.
- Click 'Ok' to run the action.
The Data Check functionality is intended for use in any Valuemation business module. It needs to be defined by the responsible customizing person. Valuemation standard already contains some data check definitions which can be put in direct use or used as examples for customer-specific customizations.
Examples of standard data check definitions:
- System Type - Persons
The definition checks if persons assigned to the examined system correspond to those defined for the system's system type (See 'Configuration Item Relation Definition' for more information on CIRD assignments.) This way it is possible to make sure that all mandatory persons are assigned and that no other persons than those defined by the object type are used assigned to the system. Note that this is the only way to check multiple mandatory referenced objects.
- System Type - Possible Component Classes
On a system type it is possible to specify 'Possible Component Classes'. This defines the component classes of components which can be used with systems of this system type. Moreover, the used component classes can be specified as main, mandatory and it is also possible to define the minimal and maximal amount of components of this class in a system.
The 'System Type - Possible Component Classes' definition checks if the examined system complies to these criteria defined for the system's system type.
- System Type - Usage Types
Similar to the above, definition checks if the examined system complies to the 'Possible Usage Types' criteria defined for the system's system type.
- System Type - Main Component
The definition checks if the examined system contains a main component according to its system type definition.
- Offer - Offer Package
Data check relevant for the Offer object type. Checks if sub-offers are assigned to the same offer package as its parent root offer. If 'Can Repair' is set to True, the data check fixes possible discrepancies.
- Validation rules
Relevant for all object types. Checks all validation rules defined for a given object type.
Example of a data check workflow
The following workflow is used by data check definition 'Validation rules' which checks All Valuemation validation rules defined for given object type.
Workflow name: DataCheck_BO_validationRules
Workflow Script:
from vm.tools.datacheck import createDataCheckResult
from java.lang import String
#check BO - validation rules
#Check all VM Core validation rules defined for given object type.
#!Don't use in Save action on editor! Validation rules will be run automatically. "On Save" attribute should be "No Check".
#WF return transient BO "DataCheckResult" with indentification of BO, error text and howToFix text, level (warning/error)
listOfMessage = BO.validate()
if listOfMessage!=None and listOfMessage.size()>0:
arrayOfMessage = listOfMessage.toArray()
_output.put("dataCheckResult", createDataCheckResult(BO, "Error" , ", \n".join(arrayOfMessage), VM.localizeMessage("messages/Messages", \
".DataCheck_BO_ValidationRules.howToFix",None), None)
|