To be completed.
Related functions: edmiValidateInstanceWithParameters, edmiValidateInstance, edmiValidateInstanceType, edmiValidateInstanceTypeBN, edmiValidateInstanceTypeWithParameters, edmiValidateInstanceTypeWithParametersBN
Header:
#include "sdai.h"
Prototype:
EdmiError edmiValidateInstancesWithParameters(SdaiAggrOrInstance aggrOrInstanceId,
SdaiInstance instances[],
SdaiString diagnosticFile,
SdaiInteger options,
SdaiRuleSchema ruleSchemaId,
SdaiString userOutputFile,
SdaiInstance *validationErrorId
SdaiPrimitiveType *returnValueDatatype,
void *returnValue,
SdaiInteger numberOfParameters,
/* For each user parameter: [SdaiPrimitiveType parameterDataType, parameterValue] */
.... );
Arguments:
aggrOrInstanceId |
|
instances[] |
|
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. The EDMinterface current output device can be defined by the edmiDefineOutputFunction operation. |
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. All option names are defined in the header file sdai.h . |
ruleSchemaId |
A numeric ruleSchemaID that uniquely identifies the rule schema instance in the EDMdatabase that defines the global rule specified in the <globalRuleName> argument. |
userOutputFile |
Specifies the name of a file that will be used to receive the result of executing the xpxPrintf and xpxOutputValue function in the actual global rule. 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". |
validationErrorId |
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. |
returnValueDataType |
Address of a variable of type SdaiPrimitiveType that is used both as an input argument and an output argument: |
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. |
numberOfParameters |
Specifies the number of parameters supplied in the actual invocation of the operation. |
parameterDataType |
The data type of the actual parameter value specified as a SdaiPrimitiveType value. |
parameterValue |
Actual parameter value. |
Option Description
FULL_VALIDATION |
Specifies that the actual instance will be validated against all rules and constrains that is applicable for this particular instance. |
LOCAL_RULES |
UNIQUENESS_RULES |
GLOBAL_RULES |
Specifies that all global rules appropriate for the specified instance 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 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 will be validated. |
||
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. |
||
ATTRIBUTE_DATA_TYPE |
Specifies that all attribute values of the instance will be checked for legal data type. |
||
AGGREGATE_DATA_TYPE |
Specifies that all element values in all aggregates owned by the specified instance will be checked for legal data type. |
||
AGGREGATE_SIZE |
Specifies that the number of elements in all aggregates owned by the specified instance is according to the related aggregate declarations. |
||
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 constraints are all SET aggregates, and ARRAY and LIST aggregates that are declared with the optional keyword UNIQUE. |
||
UNSET_DERIVE_ATTRIBUTES |
Specifies that warnings will be issued if unset derived attributes are found. |
||
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. |
Returns:
A completion code of datatype EdmiError is the returned function value. The completion code has the following values:
Completion code = 0 : Operation successfully performed.
Completion code != 0: Error in operation. Completion code is an EDMinterface error code. Use edmiGetErrorText to get the error text corresponding to the error code.
Example:
EdmiError rstat;