...
SYNTAX:
xpxValidateInstanceTypeWithParametersBN (modelId : GENERIC;
entityName : STRING; diagnosticFile : STRING; options : INTEGER; ruleSchemaName : STRING; userOutputFile : STRING; VAR validationResultId : GENERIC; VAR returnValue : GENERIC; numberOfParameters : INTEGER; argument1 : GENERIC; ... argumentN : GENERIC) status : INTEGER;
This function invokes the EDMmodelChecker
...
Code Block | ||||
---|---|---|---|---|
| ||||
FUNCTION xpxValidateInstanceTypeWithParametersBN (modelId : GENERIC;
entityName : STRING;
diagnosticFile : STRING;
options : INTEGER;
ruleSchemaName : STRING;
userOutputFile : STRING;
VAR validationResultId : GENERIC;
VAR returnValue : GENERIC;
numberOfParameters : INTEGER;
argument1, ... , argumentN : GENERIC)
status : INTEGER;
|
This function invokes the EDMmodelChecker to validate all instances of the specified instance type in the specified data model. When the XPXSUBTYPES is set in the options argument, Optionally also all instances in the actual same data model that are subtypes subtype instances of the specified instance type , will be validated as well.
The result of the validation can be a text report, a population of the Express schema EDM_Validation_Result_Schema or both. A population of the EDM_Validation_Result_Schema The latter case enables the caller to make his own diagnostic report in his own format.
There exist two options that will influence the amount of information in the validation report produced by this function: XPXNONO_PRINT_OUTPUT and XPXFULLFULL_OUTPUT
A standard validation report will be produced when none of these options are set in the <options> argument. A validation report with all available detailed information is produced when the XPXFULLFULL_OUTPUT option is set. No validation report will be produced when the XPXNONO_PRINT_OUTPUT option is enabled. The validation result would then normally be in a population of the EDM_Validation_Result_Schema.
When validating an instance against rules specified in an EDMruleSchema, only he following validation options are effective: XPXFULLFULL_VALIDATION, XPXGLOBALGLOBAL_RULES, XPXLOCALLOCAL_RULES, XPXUNIQUENESSand UNIQUENESS_RULES. XPXULLFULL_VALIDATION means in this context: XPXGLOBALGLOBAL_RULES ~ | XPXLOCALLOCAL_RULES ~ | XPXUNIQUENESSUNIQUENESS_RULES .
A number of arguments can be supplied to the ?instance type validation process? in the arguments argument1, ?, argumentN. Hence the validation process can be made This operation is the same as the edmiValidateInstanceType except that the actual application can supply arguments to the validation process, hence making the validation process parameterized. The validation process can return a value additional information to the caller application through the returnValue <returnValue> argument. The value to return must be set in the validation process by invoking the xpxReturnValueToCaller operation.
See related functions: xpxGetNumberOfUserParameters, xpxGetUserParameter
This function is only applicable to application instances.
The data model that holds the instance to validate must be open before this operation can be successfully performed. The expressions logging can be used to log (trace) the execution of the validation process in the EDMexpressVM. The EDMsupervisor and the interactive EDMdebugger can be used for testing and debugging the rules as well as getting detailed information of a validation process.
Arguments
...
Type | Name | Comment |
GENERIC | modelId | A numeric modelID that uniquely identifies the model that holds the instances to be validated. |
STRING | entityName | The |
...
- XPXSUBTYPE
- XPXFULL_VALIDATION
- XPXGLOBAL_RULES
- XPXLOCAL_RULES
- XPXINVERSE_RULES
- XPXUNIQUENESS_RULES
- XPXREQUIRED_ATTRIBUTES
- XPXATTRIBUTE_DATA_TYPE
- XPXAGGREGATE_DATA_TYPE
- XPXAGGREGATE_SIZE
- XPXARRAY_REQUIRED_ELEMENTS
- XPXAGGREGATE_UNIQUENESS
- XPXUNSET_DERIVE_ATTRIBUTES
- XPXOUTPUT_STEPID
- XPXFULL_OUTPUT
- XPXSTOP_ON_FIRST_ERROR
...
name that uniquely identifies an entity definition (instance type) in a dictionary model in the EDMdatabase . This entity definition must be defined in the underlying schema of the actual model specified by the <modelId> argument. All instances of the type defined by this entity definition and optionally all instances that is a subtype of this particular instance type, located in the same data model, will be validated | ||
STRING | diagnosticFile | Specifies the file name for diagnostic information generated by this function. If no file name is supplied, i.e. the <diagnosticFile> argument is set to NULL, all diagnostic information will be written to the EDMinterface current output device. |
INTEGER | options | Specifies the enabled options used by the EDMmodelChecker in the current invocation. The <options> value is specified as a bitwise OR between the enabled options. |
GENERIC | ruleSchemaId | A numeric ruleSchemaID that uniquely identifies the rule schema instance in the EDMdatabase that defines the rules to be validated in this operation. |
STRING | userOutputFile | Specifies the name of a file that will be used to receive the result of executing the xpxPrintf and xpxOutputValue function during the validation operation. The specified file can be an existing file or the name of a file that will be created by the EDMmodelChecker. The default file extension is ".txt". The output from the xpxPrintf and xpxOutputValue function during the validation process will be written to the EDMinterface current output device when the <userOutputFile> is set to NULL. |
GENERIC | validationResultId | The address of a variable of type SdaiInstance that will receive a numeric instanceID that uniquely identifies an instance of type validation_error in a population of the EDM_Validation_Result_Schema that contains all details of the violations detected in the last invocation of the EDMmodelChecker. No population of the EDM_Validation_Result_Schema will be produced when the <validationErrorId> argument is NULL on input. |
GENERIC | returnValue | Address of variable that will receive the value from the actual validation process. The actual value must be specified by invoking the xpxReturnValueToCaller procedure in the validation process in the EDMexpressVM. |
INTEGER | numberOfParameters | Specifies the number of parameters supplied in the actual invocation of the operation. |
GENERIC | argument(n) | Actual parameter value. |
Return Value
...
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Options
...
Option | Comment |
---|---|
SUBTYPES | Specifies that in addition to all the instances of the type specified by the < entityId> argument, all instances in the actual data model that are a subtype of the <entityId> instance type will be validated as well. |
FULL_VALIDATION | Specifies that the actual instances will be validated against all rules and constrains that is applicable for this particular instance types. When the argument <ruleSchemaId> is specified unequal to zero, this options means the following options: |
GLOBAL_RULES | Specifies that all global rules appropriate for the specified instance types will be validated. These global rules are defined in the appropriate dictionary model (Express schema) or defined in the specified EDMruleSchema. |
LOCAL_RULES | Specifies that all local rules (Where rules) appropriate for the specified instance types will be validated. These local rules are defined in the appropriate dictionary model (Express schema) or defined in the specified EDMruleSchema. |
INVERSE_RULES | Specifies that all Inverse constraints defined for the actual instance types will be validated. This option is not applicable when the argument <ruleSchemaId> is set unequal zero. |
UNIQUENESS_RULES | Specifies that all Uniqueness rules defined for the actual instance will be validated. |
REQUIRED_ATTRIBUTES | Specifies that all mandatory attributes, i.e., all explicit attributes that are not declared to be OPTIONAL, of the instance will be checked for an assigned value, i.e., checked that the attribute values are set. This option is not applicable when the argument <ruleSchemaId> is set unequal zero. |
ATTRIBUTE_DATA_TYPE | Specifies that all attribute values of the instance will be checked for legal data type. This option is not applicable when the argument <ruleSchemaId> is set unequal zero. |
AGGREGATE_DATA_TYPE | Specifies that all element values in all aggregates owned by the specified instance will be checked for legal data type. This option is not applicable when the argument <ruleSchemaId> is set unequal zero. |
AGGREGATE_SIZE | Specifies that the number of elements in all aggregates owned by the specified instance is according to the related aggregate declarations. This option is not applicable when the argument <ruleSchemaId> is set unequal zero. |
ARRAY_REQUIRED_ELEMENTS | Specifies that all elements in arrays, that are not declared as OPTIONAL, owned by the instance, will be checked for an assigned value, i.e., checked that no unset elements exists. |
AGGREGATE_UNIQUENESS | Specifies that all aggregates owned by the specified instance will be validated for uniqueness violation. Aggregates that have an uniqueness constraint are all SET aggregates, and ARRAY and LIST aggregates that are declared with the optional keyword UNIQUE. This option is not applicable when the argument <ruleSchemaId> is set unequal zero. |
UNSET_DERIVE_ATTRIBUTES | Specifies that warnings will be issued if unset derived attributes are found. This option is not applicable when the argument <ruleSchemaId> is set unequal zero. |
OUTPUT_STEPID | Specifies that the stepID corresponding to the instanceID will be written to the validation report when the actual correspondence exists in a STEP Identifier model. |
FULL_OUTPUT | Specifies that all available information about the source of the errors will be recorded in the diagnostic report from this command. |
STOP_ON_FIRST_ERROR | Specifies that the validation process should terminate when the first error is detected. |
Example
...
Code Block | ||
---|---|---|
| ||
<Missing Example> |
See also
Filter by label (Content by label) | ||||||
---|---|---|---|---|---|---|
|