Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »


Description:
This function will compare the value of the two given instance ids. When no options are specified, this function will behave exactly as the Express operation "inst1 = inst2" (value compare instances).
By default, only explicit attributes will be compared.
 
The optional argument "errorInformation"
The format of this string is 'instId1 = 12345; instId2 = 987654; attrId = 76859;'
Signature:
FUNCTION xpfValueCompareInstances  (instId1               : GENERIC;
                                    instId2               : GENERIC;
                                    options               : INTEGER;
                                    includeORexcludeRoles : GENERIC;  
                                    includeORexcludeTypes : GENERIC;  
                                    VAR errorInformation  : STRING)   
                                    isValueEquals         : LOGICAL;
Arguments:

GENERIC

instId1

Instance id 1

GENERIC

instId2

Instance id 1

INTEGER

options 

options for the function

GENERIC

includeORexcludeRoles

optional argument, i.e., may be specified as "?" (indeterminate)

GENERIC

includeORexcludeTypes

optional argument, i.e., may be specified as "?" (indeterminate)

STRING

errorInformation

optional argument, i.e., may be specified as "?" (indeterminate) Will receive a STRING defining the actual two instances and the actual role compared when an inequality is found.

 
Return Parameter:

LOGICAL

isValueEquals

output

 
Options Description

XPXCOMPARE_INDETERMINATE_AS_VALUE

This options specifies that the values INDETERMINATE (question) and UNKNOWN should compared by their "numeric values" as follows:
    INDETERMINATE = INDETERMINATE -> TRUE
    INDETERMINATE = NOT(INDETERMINATE) -> FALSE
    UNKNOWN = UNKNOWN -> TRUE  
    UNKNOWN = NOT(UNKNOWN) -> FALSE;

XPXINCLUDE_DERIVE_ATTRIBUTES

The value of Derive attributes will be compared

XPXINCLUDE_INVERSE_ATTRIBUTES

The value of Inverse attributes will be compared

XPXINCLUDE_SPECIFIED_ROLES

Only the roles (attributes) specified in the "includeORexcludeRoles" aggregate will be compared.
   A role can be specified as an entityId (entity_definition object) or as a fully qualified attribute, i.e., 'EntityName.AttributeName',

XPXEXCLUDE_SPECIFIED_ROLES

All roles (attributes) except those specified in the "includeORexcludeRoles" aggregate will be compared.
   A role can be specified as an entityId (entity_definition object) or as a fully qualified attribute,i.e., 'EntityName.AttributeName'.

XPXINCLUDE_ROLES_IN_SUBTYPES

This option has only effect when one of the options XPXINCLUDE_SPECIFIED_ROLES or XPXEXCLUDE_SPECIFIED_ROLES
are specified and the actual roles in the
 "includeORexcludeRoles" aggregate   are specified as a STRING ('EntityName.AttributeName'),
  The effect of this option is that all specified roles in the "includeORexcludeRoles" aggregate will include the role with the same name in all subtype instances of
   the actual specified instance type ('EntityName').

XPXINCLUDE_SPECIFIED_TYPES

Only instances of the types specified in the 'includeORexcludeTypes' aggregate will be compared, i.e., the "comparison" of all other instance types will result in TRUE.
   The elements in the 'includeORexcludeTypes' aggregate can be specified as an entityId or as an EntityName;
   NOTE: The instance types specified in the 'includeORexcludeTypes' aggregate will not have any effect for the comparison of the actual two instances given as arguments to the
   xpfValueCompareInstances() function.

XPXEXCLUDE_SPECIFIED_TYPES

All instances of any types except those instance types specified in the 'includeORexcludeTypes' aggregate will be compared, i.e., the "comparison" of all other instance types  will result in TRUE.   The elements in the 'includeORexcludeTypes' aggregate can be specified as an entityId or as an EntityName;
 NOTE: The instance types specified in the 'includeORexcludeTypes' aggregate will not have any effect for the comparison of the actual two instances given as arguments to the    xpfValueCompareInstances() function

XPXINCLUDE_SYBTYPES_OF_TYPES

This option has only effect when one of the options XPXINCLUDE_SPECIFIED_TYPES or XPXEXCLUDE_SPECIFIED_TYPES are specified. The effect of this option is that all instance types  specified in the 'includeORexcludeTypes' aggregate will include all subtypes of the specified instance types.

 
EXAMPLE
 

  • No labels