Appendix: PCIF

The PeopleSoft Advanced Configurator Interchange Format, or PCIF, is an XML format that can be used to generate PeopleSoft Visual Modeler models from an outside data source. PCIF encapsulates all the functionality that is available to a Configurator modeler.

This appendix describes the elements and ordering of the PCIF document so that you can create an XML file that describes your model data in the format understood by the Configurator Visual Modeler.

Included with the installation of PeopleSoft Visual Modeler is the file PCIF.dtd, which describes the structure of PCIF documents and acts as the validator for them.

In order to successfully describe and validate the outside data, the contents of the PCIF document must be ordered so that the Visual Modeler can recognize the elements. To some extent, the DTD enforces this ordering; however, for some objects, particularly CLASS elements, the PCIF writer must maintain a hierarchical ordering to ensure that the document can be imported correctly. Order is explained in greater detail in the individual element sections below.

The information in this appendix assumes that you are familiar with the concepts inherent to the PeopleSoft Configurator, the Visual Modeler, and XML. Some elements’ descriptions reference a “target model.” The target model is the Visual Modeler model into which PCIF is being imported. The target model does not have to be empty; in fact, a modeler can use a PCIF document to update models with newer data, as the Visual Modeler gives the modeler the option of overwriting objects that have the same name as those defined in an imported PCIF document.

This document is arranged in the order that one might find XML elements in a PCIF document, starting with the topmost element (a MODEL).

Note. It is strongly recommended that any PCIF document created by an application other than the Visual Modeler has the document type declaration:

<!DOCTYPE MODEL PUBLIC "PeopleSoft Configurator Model" "PCIF.dtd">

This document type declaration should be made before the root element MODEL. Using this document type declaration ensures that when the PCIF document is imported into the Visual Modeler, it will be validated against the DTD, thereby preventing errors in the model due to badly formed PCIF.

Click to jump to parent topicMODEL Element

The MODEL element is the root element of a model in the PCIF representation.

Attributes:

Name

Type

Required?

Description

VERSION

CDATA

Yes

The version of PCIF implemented. This document describes PCIF version 1.0.

NAME

CDATA

Yes

The name of the model. On import, this attribute will be overridden by the name of the model importing it.

MODEL_VERSION

CDATA

Yes

The version of the model itself (as would be specified in the Visual Modeler’s Project Settings dialog box). On import, this attribute will be overridden by the version of the model importing it.

Subelements:

Name

How Many?

Description

DATABASE_REFERENCE

0 or more

A reference to an external data source.

CLASS

0 or more

A class. Classes must be defined in hierarchical order, that is, a parent class must be defined before its subclasses. If any classes have SQL queries, their respective DATABASE_REFERENCES should have already been defined.

SELECTION_POINT

0 or more

Selection points must be defined on classes that exist in the target model or have been previously defined in this PCIF document. If a leaf class does not have a selection point defined, the Visual Modeler optionally can autogenerate a selection point for that class.

EXPRESSION

0 or more

An expression.

NOT_COMPATIBLE

0 or more

A non-compatibility constraint.

COMPATIBLE

0 or more

A compatibility constraint.

REQUIRED

0 or more

A requires constraint.

DYNAMIC_DEFAULT

0 or more

A dynamic default.

ELIMINATION

0 or more

An elimination constraint.

COMPARISON

0 or more

A comparison constraint.

RESOURCE_CONSTRAINT

0 or more

A resource balancing constraint.

SUMMATION

0 or more

A summation.

Click to jump to parent topicDATABASE_REFERENCE Element

Attributes:

Name

Type

Required?

Description

ALIAS

CDATA

Yes

The name by which this database will be referenced in the Visual Modeler.

DATA_SOURCE

CDATA

Yes

The name of the underlying ODBC and JDBC data source.

LOGIN_ID

CDATA

Yes

The login name for the data source.

PASSWORD

CDATA

Yes

The password for the data source. If the Visual Modeler has created the PCIF file, this password will be encrypted using the Visual Modeler’s password encryption scheme. For security reasons, an encrypted password can only be read and written by the Visual Modeler.

PASSWORD_ENCRYPTED

Boolean

Yes

A flag that tells the Visual Modeler if the password specified in the PASSWORD attribute has been encrypted. If an application other than the Visual Modeler is creating a PCIF document, this attribute should always be set to FALSE, and the password should be unencrypted.

Subelements: None.

Click to jump to parent topicCLASS Element

Classes must be defined in a hierarchical manner; that is, parent classes must be defined in a MODEL before the child classes are defined. Furthermore, attributes that are referenced in a class’ domain members or SQL query should be defined on the class or on one of its parent classes.

Attributes:

Name

Type

Required?

Description

NAME

CDATA

Yes

The name of the class. Each individual class must have a unique name; if a duplicate name is found in the model, and the class of that name has the same parent class, then the Visual Modeler can optionally overwrite the existing class with the class defined in the PCIF. If the class’s name in PCIF is “RootClass”, any attributes defined on this class will be added to the Root Class.

PARENT

CDATA

Yes

The parent class of this class. If not specified, the class will be a child of the Root Class by default.

Subelements:

Name

How Many?

Description

CLASS_ATTRIBUTE

0 or more

An attribute defined on this class. There should never be attribute conflicts with a parent class; that is, if an attribute is defined on a parent class, no attribute by that name should be defined on any child class.

DOMAIN_MEMBER

0 or more

A domain member. Classes should not have both a SQL query and domain members; the two are mutually exclusive. Classes that are parent classes (they have subclasses) should not have domain members.

STANDARD_QUERY

0 or 1

A standard SQL query that defines an database from which this class should get its domain members. If a STANDARD_QUERY is defined on a CLASS, that CLASS should not have any DOMAIN_MEMBER elements, and it should not have an ADVANCED_QUERY element.

ADVANCED_QUERY

0 or 1

An advanced SQL query that defines an database from which this class should get its domain members. If an ADVANCED_QUERY is defined on a CLASS, that CLASS should not have any DOMAIN_MEMBER elements, and it should not have an STANDARD_QUERY element.

REFRESH_INTERVAL

0 or more

A rule that defines how often this class will refresh those attributes which have been marked for scheduled data refreshes. Should only be present if STANDARD_QUERY or ADVANCED_QUERY is defined. Multiple REFRESH_INTERVALs will effectively be “anded” together, so all of them will apply.

SELECTION_POINT_
ATTRIBUTE

0 or more

A selection point level attribute defined on this class. There should never be attribute conflicts with a parent class or with selection points defined on this class or its subclasses; that is, if a selection point level attribute is defined here, a selection point level attribute of that name should not be defined on the parent class, subclasses, or selection points of this class. Furthermore, no domain member level attributes of that name should be defined on the parent class or subclasses of this class.

Click to jump to parent topicCLASS_ATTRIBUTE Element

Attributes:

Name

Type

Required?

Description

NAME

CDATA

Yes

The name of the attribute. This attribute name should not have been defined on an parent of the class it’s currently being defined on.

TYPE

Choice of {Date, String, Boolean, Int, Float}

Yes

The type of this attribute.

Subelements:

Name

How Many?

Description

DEFAULT_VALUE

0 or 1

The default value of this attribute.

Click to jump to parent topicDEFAULT_VALUE Element

Attributes: None.

Subelements: None.

The DEFAULT_VALUE element contains #PCDATA , which holds the default value of a CLASS_ATTRIBUTE. If the CLASS_ATTRIBUTE is of type Date, the default value should be formatted as an ISO-standard time, such as 2002-09-17T00:00:00.000000+06:00.

If the CLASS_ATTRIBUTE is of type Float, the default value should be formatted as a floating point number, such as 1.328.

If the CLASS_ATTRIBUTE is of type Integer, the default value should be formatted as an integer number, such as 13.

If the CLASS_ATTRIBUTE is of type Boolean, the default value should be formatted as a boolean with the first letter capitalized, such as True or False.

Click to jump to parent topicDOMAIN_MEMBER Element

Attributes:

Name

Type

Required?

Description

NAME

CDATA

Yes

The name of the domain member. If this domain member already exists in the target model, properties from the PCIF domain member will overwrite those in the target model.

Subelements:

Name

How Many?

Description

DEFAULT_VALUE

0 or 1

The default value of this attribute.

Click to jump to parent topicDM_ATTRIBUTE Element

Attributes:

Name

Type

Required?

Description

NAME

CDATA

Yes

The name of the attribute for which this domain member is providing a value.

Subelements:

None.

The DM_ATTRIBUTE element contains #PCDATA, which holds a value. If the CLASS_ATTRIBUTE to which this DM_ATTRIBUTE is referring is of type Date, the default value should be formatted as an ISO-standard time, such as 2002-09-17T00:00:00.000000+06:00.

If the CLASS_ATTRIBUTE is of type Float, the default value should be formatted as a floating point number, such as 1.328.

If the CLASS_ATTRIBUTE is of type Integer, the default value should be formatted as an integer number, such as 13.

If the CLASS_ATTRIBUTE is of type Boolean, the default value should be formatted as a boolean with the first letter capitalized, such as True or False.

Click to jump to parent topicSTANDARD_QUERY Element

Attributes:

Name

Type

Required?

Description

DATA_SOURCE

CDATA

Yes

A reference to the ALIAS of a DATABASE_REFERENCE.

DISTINCT

Boolean

Yes

Flag that decides whether the query retrieves distinct results.

Subelements:

Name

How Many?

Description

PRIMARY_TABLE

1

The primary WHERE clause and domain member mappings.

SECONDARY_TABLE

0 or more

JOIN clauses and secondary domain member mappings.

Click to jump to parent topicPRIMARY_TABLE Element

Attributes:

Name

Type

Required?

Description

TABLE

CDATA

Yes

The table in the database where this query will be retrieving its data.

Subelements:

Name

How Many?

Description

COLUMN

0 or more

The mappings of database table columns to domain member attributes.

WHERE

0 or 1

The query’s where clause. An empty clause will select all the specified columns of the table unconditionally.

Click to jump to parent topicCOLUMN Element

Attributes:

Name

Type

Required?

Description

NAME

CDATA

Yes

The name of the column coming from the database table.

KEY

Boolean

Yes

Flag that decides whether this column will be a domain member key. Exactly one column should have this attribute set to TRUE.

ATTRIBUTE_NAME

CDATA

Yes

The domain member attribute into which this column’s data will be stored.

Subelements: None

Click to jump to parent topicWHERE Element

Attributes: None

Subelements: None.

Contains #PCDATA which acts as the WHERE clause for a standard SQL query.

Click to jump to parent topicSECONDARY_TABLE Element

Attributes:

Name

Type

Required?

Description

TABLE

CDATA

Yes

The table in the database where this query will be retrieving its data.

Subelements:

Name

How Many?

Description

COLUMN

0 or more

The mappings of database table columns to domain member attributes.

JOIN

0 or 1

The query’s join clause. An empty clause will join all the specified columns of the table unconditionally.

Click to jump to parent topicJOIN Element

Attributes: None.

Subelements: None.

Contains #PCDATA which acts as the JOIN clause for a standard SQL query.

Click to jump to parent topicADVANCED_QUERY Element

Attributes:

Name

Type

Required?

Description

DATA_SOURCE

CDATA

Yes

A reference to the ALIAS of a DATABASE_REFERENCE.

ASSUME_SORTED

Boolean

No

Flag that indicates whether the ViM should assume the data from this query is already sorted in the order the modeler requires

Subelements:

Name

How Many?

Description

COLUMN

0 or more

The mappings of database table columns to domain member attributes.

QUERY_TEXT

0 or 1

The text of the SQL query.

Click to jump to parent topicQUERY_TEXT Element

Attributes: None.

Subelements: None.

Contains #PCDATA, which acts as the text of an SQL query.

Click to jump to parent topicSELECTION_POINT Element

Attributes:

Name

Type

Required?

Description

NAME

CDATA

Yes

The name of the selection point. Each individual selection point must have a unique name; if a duplicate name is found in the model, then the Visual Modeler can optionally overwrite the existing selection point with the selection point defined in the PCIF.

CLASS

CDATA

Yes

The name of the class this selection point refers to. This class must have been defined either in the target model or earlier in the PCIF document.

DEFAULT_QUANTITY

CDATA

No

The default quantity to use for all domain members in this selection point. Cannot be specified if DEFAULT_QUANTITY_EXPRESSION is specified.

DEFAULT_QUANTITY_POLICY

CDATA

No

The quantity policy to use with defaults applied to all domain members in the selection point. Only valid if DEFAULT_QUANTITY or DEFAULT_QUANTITY_EXPRESSION is specified.

DEFAULT_QUANTITY_EXPRESSION

CDATA

No

The expression that defines the default quantity to use for all domain members in this selection point. Cannot be specified if DEFAULT_QUANTITY is specified.

QUANTITY

Boolean

No

Flag that defines whether this selection point has quantity. Defaults to false.

QUANTITY_ATTRIBUTE

CDATA

No

Domain member attribute from which to gather default quantity data.

QUANTITY_ATTRIBUTE_POLICY

CDATA

No

Quantity policy to use with defaults gathered from domain member attributes. Only valid when QUANTITY_ATTRIBUTE is specified.

MULTISELECT

Boolean

No

Flag that defines whether this selection point is multiselect. Defaults to false.

OPTIONAL

Boolean

No

Flag that defines whether this selection point is optional. Defaults to false.

USE_MIN_MAX

Boolean

No

Flag that defines whether this selection point uses the min and max quantity constraints. Defaults to false.

Subelements:

Name

How Many?

Description

STATIC_DEFAULTS

0 or 1

The set of static defaults for this selection point.

SELECTION_POINT_MIN_QTY_SETTINGS

0 or 1

The minimum quantity settings for the selection point. This subelement should only be defined if USE_MIN_MAX is true.

SELECTION_POINT_MAX_QTY_SETTINGS

0 or 1

The maximum quantity settings for the selection point. This subelement should only be defined if USE_MIN_MAX is true.

DOMAIN_MEMBER_MIN_QTY_SETTINGS

0 or 1

The minimum quantity settings for domain members on this selection point. This subelement should only be defined if both USE_MIN_MAX and QUANTITY are true.

DOMAIN_MEMBER_MAX_QTY_SETTINGS

0 or 1

The maximum quantity settings for domain members on this selection point. This subelement should only be defined if both USE_MIN_MAX and QUANTITY are true.

SELECTION_POINT_ATTRIBUTE

0 or more

A selection point level attribute defined on this selection point. There should never be attribute conflicts with the class on which this selection point is defined; that is, if a selection point level attribute is defined here, a selection point level attribute of that name should not be defined this selection point’s class or any of its parent classes. Furthermore, no domain member level attributes of that name should be defined on this selection point’s class or any of its parent classes.

Click to jump to parent topicSTATIC_DEFAULTS Element

Attributes: None

Subelements:

Name

How Many?

Description

STATIC_DEFAULT

0 or more

A static default.

Click to jump to parent topicSTATIC_DEFAULT Element

Attributes:

Name

Type

Required?

Description

DOMAIN_MEMBER

CDATA

Yes

The domain member that is to be defaulted.

QUANTITY

CDATA

No

The quantity that should be used with this default. Should be an integer number. Should not be defined if QUANTITY_EXPRESSION is defined.

QUANTITY_EXPRESSION

CDATA

No

The expression that should be used to find the quantity for this default. Should not be defined if QUANTITY is defined.

QUANTITY_POLICY

CDATA

No

The quantity policy that should be used with this default. Should be one of {IGNORE, MIN, MAX, SUM}. IGNORE corresponds to a quantity policy of “Overridable.”

Subelements: None

Click to jump to parent topicSELECTION_POINT_MIN_QTY_SETTINGS Element

Attributes:

Name

Type

Required?

Description

SOURCE

Choice of {QUANTITY, EXPRESSION, SQL_QUERY}

Yes

The source of the number that will be the minimum number of selections on the selection point.

QUANTITY

CDATA

No

The absolute quantity that will act as the minimum selections. Should only be specified if SOURCE is QUANTITY. Should be an integer.

EXPRESSION

CDATA

No

The expression that will act as the minimum selections. Should only be specified if SOURCE is EXPRESSION.

SQL_QUERY

CDATA

No

The SQL query that will gather the data to act as the minimum selections. Should only be specified if SOURCE is SQL_QUERY.

DATABASE

CDATA

No

The ALIAS of the database that the SQL query will act on. Should be defined in the target model or in the PCIF earlier as a DATABASE_REFERENCE. Should only be specified if SOURCE is SQL_QUERY.

Subelements:

Name

How Many?

Description

EXPLANATION

0 or 1

The explanation that will appear if this constraint is violated.

Click to jump to parent topicDOMAIN_MEMBER_MIN_QTY_SETTINGS Element

Attributes:

Name

Type

Required?

Description

SOURCE

Choice of {QUANTITY, EXPRESSION, ATTRIBUTE}

Yes

The source of the number that will be the minimum number of selections for each domain member.

QUANTITY

CDATA

No

The absolute quantity that will act as the minimum quantity. Should only be specified if SOURCE is QUANTITY. Should be an integer.

EXPRESSION

CDATA

No

The expression that will act as the minimum quantity. Should only be specified if SOURCE is EXPRESSION.

ATTRIBUTE

CDATA

No

The attribute that will contain the data to act as the minimum quantity. Should only be specified if SOURCE is ATTRIBUTE. The attribute should already have been defined on the selection point’s class or one of its parent classes.

Subelements:

Name

How Many?

Description

EXPLANATION

0 or 1

The explanation that will appear if this constraint is violated.

Click to jump to parent topicDOMAIN_MEMBER_MAX_QTY_SETTINGS Element

Attributes:

Name

Type

Required?

Description

SOURCE

Choice of {QUANTITY, EXPRESSION, ATTRIBUTE}

Yes

The source of the number that will be the maximum number of selections for each domain member.

QUANTITY

CDATA

No

The absolute quantity that will act as the maximum quantity. Should only be specified if SOURCE is QUANTITY. Should be either an integer or the word “UNBOUNDED”.

EXPRESSION

CDATA

No

The expression that will act as the maximum quantity. Should only be specified if SOURCE is EXPRESSION.

ATTRIBUTE

CDATA

No

The attribute that will contain the data to act as the maximum quantity. Should only be specified if SOURCE is ATTRIBUTE. The attribute should already have been defined on the selection point’s class or one of its parent classes.

Subelements:

Name

How Many?

Description

EXPLANATION

0 or 1

The explanation that will appear if this constraint is violated.

Click to jump to parent topicDYNAMIC_DEFAULT Element

Attributes:

Name

Type

Required?

Description

NAME

CDATA

Yes

The name of the dynamic default. Each individual dynamic default must have a unique name; if a duplicate name is found in the model, then the Visual Modeler can optionally overwrite the existing dynamic default with the dynamic default defined in the PCIF. If a constraint of a different type exists in the model, the ViM will not import this constraint.

ENABLED

Boolean

No

Flag that specifies whether the constraint is enabled. Defaults to TRUE.

FORMAT

Choice of {Internal, DBTable, SQLQuery}

No

Specifies whether this constraint stores its row data internally (to CMS files), stores them to a database table, or retrieves them from a SQL Query.

DATA_SOURCE

CDATA

No

Specifies from which database this constraint should store or retrieve its data. Must be a reference to a database name previously defined in the PCIF file as a DATABASE_REFERENCE, or to a database already defined in the destination model. The DATA_SOURCE attribute must be present if FORMAT is DBTable or SQLQuery.

Subelements:

Name

How Many?

Description

EFFECTIVITY

0 or 1

The effectivity dates for this constraint.

COMMENT

0 or 1

A comment on this constraint.

EXPLANATION

0 or 1

An explanation that is shown if this constraint is violated.

ARGUMENT

1 or more

An argument that displays as a column on the left hand side.

RHS_ARGUMENT

1 or more

An argument that displays as a column on the right hand side.

ROW

1 or more

A row that defines a set of values that are incompatible.

CONSTRAINT_QUERY

0 or 1

The SQL query information for this constraint. Should only be specified if the FORMAT attribute is set to SQLQuery.

Click to jump to parent topicEXPLANATION Element

Attributes: None.

Subelements: None.

Contains #PCDATA with the text of an explanation.

Click to jump to parent topicEXPRESSION Element

Attributes:

Name

Type

Required?

Description

NAME

CDATA

Yes

The name of the expression. Each individual expression must have a unique name; if a duplicate name is found in the model, then the Visual Modeler can optionally overwrite the existing expression with the expression defined in the PCIF.

TYPE

Choice of {Numeric, Boolean, Date, String}

Yes

The return type of the expression.

COMMENT

CDATA

No

A comment on the expression.

Subelements: None.

Contains #PCDATA which represents the text of the expression itself.

Click to jump to parent topicNOT_COMPATIBLE Element

Attributes:

Name

Type

Required?

Description

NAME

CDATA

Yes

The name of the non-compatibility constraint. Each individual non-compatibility must have a unique name; if a duplicate name is found in the model, then the ViM can optionally overwrite the existing non-compatibility with the non-compatibility defined in the PCIF. If a constraint of a different type exists in the model, the ViM will not import this constraint.

ENABLED

Boolean

No

Flag that specifies whether the constraint is enabled. Defaults to TRUE.

FORMAT

Choice of {Internal, DBTable, SQLQuery}

No

Specifies whether this constraint stores its row data internally (to CMS files), stores them to a database table, or retrieves them from a SQL Query.

DATA_SOURCE

CDATA

No

Specifies from which database this constraint should store or retrieve its data. Must be a reference to a database name previously defined in the PCIF file as a DATABASE_REFERENCE, or to a database already defined in the destination model. The DATA_SOURCE attribute must be present if FORMAT is DBTable or SQLQuery.

Subelements:

Name

How Many?

Description

EFFECTIVITY

0 or 1

The effectivity dates for this constraint.

COMMENT

0 or 1

A comment on this constraint.

EXPLANATION

0 or 1

An explanation that is shown if this constraint is violated.

ARGUMENT

1 or more

An argument that displays as a column on the left hand side.

RHS_ARGUMENT

0 or more

An argument that displays as a column on the right hand side.

ROW

0 or more

A row that defines a set of values that are incompatible.

CONSTRAINT_QUERY

0 or 1

The SQL query information for this constraint. Should only be specified if the FORMAT attribute is set to SQLQuery.

Click to jump to parent topicEXTERN Element

Attributes:

Name

Type

Required?

Description

NAME

CDATA

Yes

The name by which this extern will be referenced in the Visual Modeler.

DEFAULT_VALUE

CDATA

No

The default value of this extern.

REQUIRED

Boolean

No

Flag indicating whether a value must be provided for this extern at runtime in order for the configuration to be valid.

TYPE

Choice of {Date, String, Boolean, Int, Float}

Yes

The data type of this extern.

Subelements: None

Click to jump to parent topicEFFECTIVITY Element

Attributes: None

Subelements:

Name

How Many?

Description

EFFECTIVEDATE

1 or more

The effectivity dates.

Click to jump to parent topicEFFECTIVEDATE Element

Attributes:

Name

Type

Required?

Description

EFFECTIVE_FROM

CDATA

Yes

The date effectivity begins. Should be in ISO-time format, for example 2002-09-17T00:00:00.000000+06:00. Should be a date before EFFECTIVE_TO.

EFFECTIVE_TO

CDATA

Yes

The date effectivity ends. Should be in ISO-time format, for example 2002-09-17T00:00:00.000000+06:00. Should be a date after EFFECTIVE_FROM.

COMMENT

CDATA

No

A comment on these effective dates.

Subelements:

Name

How Many?

Description

EFFECTIVEDATE

1 or more

The effectivity dates.

Click to jump to parent topicCOMMENT Element

Attributes: None.

Subelements: None.

Contains #PCDATA with the text of a comment.

Click to jump to parent topicARGUMENT Element

Attributes:

Name

Type

Required?

Description

LEVEL

CDATA

No

The level of this argument. Should be an integer. Defaults to 1.

CLASS

CDATA

No

The class this argument refers to. Either the CLASS or the SELECTION_POINT must be specified, but not both.

SELECTION_POINT

CDATA

No

The selection point this argument refers to. Either the CLASS or the SELECTION_POINT must be specified, but not both.

PROPERTY

CDATA

No

The property (also known as an attribute) that this argument refers to.

EXPRESSION

CDATA

No

The expression that this argument refers to.

COMPLETE

Boolean

No

Flag indicating whether the set of expression comparisons in the column denoted by this argument forms a complete range. Only valid if the EXPRESSION attribute is specified.

Subelements: None

Click to jump to parent topicRHS_ARGUMENT Element

Attributes:

Name

Type

Required?

Description

LEVEL

CDATA

No

The level of this argument. Should be an integer. Defaults to 1.

CLASS

CDATA

No

The class this argument refers to. Either the CLASS or the SELECTION_POINT must be specified, but not both.

SELECTION_POINT

CDATA

No

The selection point this argument refers to. Either the CLASS or the SELECTION_POINT must be specified, but not both.

PROPERTY

CDATA

No

The property (also known as an attribute) that this argument refers to.

Subelements: None

Click to jump to parent topicROW Element

Attributes: None

Subelements:

Name

How Many?

Description

VALUE

0 or more

A single value in a column of a table constraint. If this SET is on the left hand side, there should be only one VALUE. If it is on the right hand side, there can be multiple VALUEs.

There should be exactly as many SET elements in a ROW as there are ARGUMENTs plus RHS_ARGUMENTs. For instance, if there are two ARGUMENTs and three RHS_ARGUMENTs, there should be five SET elements in each ROW.

Click to jump to parent topicSET Element

Attributes: None

Subelements:

Name

How Many?

Description

DEFAULT_VALUE

0 or 1

The default value of this attribute.

Click to jump to parent topicVALUE Element

Attributes: None.

Subelements: None.

Contains #PCDATA that references a domain member name or attribute value.

Click to jump to parent topicThe CONSTRAINT_QUERY Element

Attributes:

Name

Type

Required?

Description

SEPARATOR_ CHARACTER

CDATA

No

If this SQL query will return multiple values per row, this is the character that separates each individual value. Should be exactly one character long.

QUANTITY_SEPARATOR

CDATA

No

If this SQL query will return values with quantities and quantity policies, this is the character that will separate the policy, the quantity, and the value. Should be exactly one character long.

Subelements:

Name

How Many?

Description

SQL_CLAUSE

Exactly 1

The SQL clause for this constraint.

Click to jump to parent topicSQL_CLAUSE Element

Attributes: None.

Subelements: None.

Contains #PCDATA that is a complete SQL clause.

Click to jump to parent topicCOMPATIBLE Element

Attributes:

Name

Type

Required?

Description

NAME

CDATA

Yes

The name of the compatibility constraint. Each individual compatibility must have a unique name; if a duplicate name is found in the model, then the Visual Modeler can optionally overwrite the existing compatibility with the compatibility defined in the PCIF. If a constraint of a different type exists in the model, the Visual Modeler will not import this constraint.

ENABLED

Boolean

No

Flag that specifies whether the constraint is enabled. Defaults to TRUE.

FORMAT

Choice of (Internal, DBTable, SQLQuery)

No

Specifies whether this constraint stores its row data internally (to CMS files) or to a database table, or retrieves them from a SQL Query.

DATA_SOURCE

CDATA

No

Specifies the database that this constraint is to use to store or retrieve its data. Must be a reference to a database name previously defined in the PCIF file as a DATABASE_REFERENCE, or to a database already defined in the destination model. The DATA_SOURCE attribute must be present if FORMAT is DBTable or SQLQuery.

Subelements:

Name

How Many?

Description

EFFECTIVITY

0 or 1

The effectivity dates for this constraint..

COMMENT

0 or 1

A comment on this constraint.

EXPLANATION

0 or 1

An explanation that is shown if this constraint is violated.

ARGUMENT

1 or more

An argument that displays as a column on the left hand side.

RHS_ARGUMENT

0 or more

An argument that displays as a column on the right hand side.

ROW

0 or more

A row that defines a set of values that are incompatible.

CONSTRAINT_QUERY

0 or 1

The SQL query information for this constraint. Should only be specified if the format attribute is set to SQLQuery.

Click to jump to parent topicREQUIRED Element

Attributes:

Name

Type

Required?

Description

NAME

CDATA

Yes

The name of the required constraint. Each individual required must have a unique name; if a duplicate name is found in the model, then the Visual Modeler can optionally overwrite the existing required with the required defined in the PCIF. If a constraint of a different type exists in the model, the Visual Modeler will not import this constraint.

ENABLED

Boolean

No

Flag that specifies whether the constraint is enabled. Defaults to TRUE.

FORMAT

Choice of (Internal, DBTable, SQLQuery)

No

Specifies whether this constraint stores its row data internally (to CMS files) or to a database table, or retrieves them from a SQL Query.

DATA_SOURCE

CDATA

No

Specifies the database that this constraint is to use to store or retrieve its data. Must be a reference to a database name previously defined in the PCIF file as a DATABASE_REFERENCE, or to a database already defined in the destination model. The DATA_SOURCE attribute must be present if FORMAT is DBTable or SQLQuery.

Subelements:

Name

How Many?

Description

EFFECTIVITY

0 or 1

The effectivity dates for this constraint.

COMMENT

0 or 1

A comment on this constraint.

EXPLANATION

0 or 1

An explanation that is shown if this constraint is violated.

ARGUMENT

1 or more

An argument that displays as a column on the left hand side.

RHS_ARGUMENT

1 or more

An argument that displays as a column on the right hand side.

ROW

0 or more

A row that defines a set of values that are incompatible.

CONSTRAINT_QUERY

0 or 1

The SQL query information for this constraint. Should only be specified if the format attribute is set to SQLQuery.

Click to jump to parent topicELIMINATION Element

Attributes:

Name

Type

Required?

Description

NAME

CDATA

Yes

The name of the elimination constraint. Each individual elimination must have a unique name; if a duplicate name is found in the model, then the Visual Modeler can optionally overwrite the existing elimination with the elimination defined in the PCIF. If a constraint of a different type exists in the model, the Visual Modeler will not import this constraint.

ENABLED

Boolean

No

Flag that specifies whether the constraint is enabled. Defaults to TRUE.

LEVEL

CDATA

No

The level of this constraint. Defaults to 1.

ALLOW

Choice of {NONE, ALL, GREATEST, LEAST, FIRST, LAST, EARLIEST, LATEST}

No

The set of values the elimination will allow.

SELECTION_ POINT

CDATA

No

The selection point this elimination applies to.

TARGET_ ATTRIBUTE

CDATA

No

The attribute this elimination acts upon. Should be a valid attribute of the SELECTION_POINT specified earlier.

COMPARATOR

Choice of {NEQ, GEQ, LEQ, LT, GT, EQ, CONTAINS, DOES_NOT_CONTAIN, STARTS_WITH, ENDS_WITH, STARTS, ENDS, IS_CONTAINED_IN, IS_NOT_CONTAINED_IN}

Yes

The comparator that will be used in the elimination.

COMPARISON_EXPRESSION

CDATA

No

The expression that the target attribute will be compared to. Should be of the same type as the TARGET_ATTRIBUTE. Should not be specified if COMPARISON_CONSTANT is specified.

COMPARISON_CONSTANT

CDATA

No

The constant that the target attribute will be compared to. Should be of the same type as the TARGET_ATTRIBUTE. Should not be specified if COMPARISON_EXPRESSION is specified.

Subelements:

Name

How Many?

Description

EFFECTIVITY

0 or 1

The name of the comparison constraint. Each individual comparison must have a unique name; if a duplicate name is found in the model, then the Visual Modeler can optionally overwrite the existing comparison with the comparison defined in the PCIF. If a constraint of a different type exists in the model, the Visual Modeler will not import this constraint.

COMMENT

0 or 1

A comment on this constraint.

EXPLANATION

0 or 1

An explanation that is shown if this constraint is violated.

Click to jump to parent topicCOMPARISON Element

Attributes:

Name

Type

Required?

Description

NAME

CDATA

Yes

The name of the comparison constraint. Each individual comparison must have a unique name; if a duplicate name is found in the model, then the Visual Modeler can optionally overwrite the existing comparison with the comparison defined in the PCIF. If a constraint of a different type exists in the model, the Visual Modeler will not import this constraint.

ENABLED

Boolean

No

Flag that specifies whether the constraint is enabled. Defaults to TRUE.

LEVEL

CDATA

No

The level of this constraint. Defaults to 1.

LEFT_ EXPRESSION

CDATA

No

The expression on the left hand side of the comparison.

COMPARATOR

Choice of {NEQ, GEQ, LEQ, LT, GT, EQ, CONTAINS, DOES_NOT_CONTAIN, STARTS_WITH, ENDS_WITH, STARTS, ENDS, IS_CONTAINED _IN, IS_NOT_ CONTAINED_IN}

No

The comparator that will be used in the elimination.

RIGHT_ EXPRESSION

CDATA

No

The expression on the right hand side of the comparison. Should be of the same type as the LEFT_EXPRESSION. Should not be specified if RIGHT_CONSTANT is specified.

RIGHT_ CONSTANT

CDATA

No

The constant on the right hand side of the comparison. Should be of the same type as the LEFT_EXPRESSION. Should not be specified if RIGHT_EXPRESSION is specified.

Subelements:

Name

How Many?

Description

EFFECTIVITY

0 or 1

The effectivity dates for this constraint.

COMMENT

0 or 1

A comment on this constraint.

EXPLANATION

0 or 1

An explanation that is shown if this constraint is violated.

Click to jump to parent topicRESOURCE_CONSTRAINT Element

Attributes:

Name

Type

Required?

Description

NAME

CDATA

Yes

The name of the resource constraint. Each individual resource constraint must have a unique name; if a duplicate name is found in the model, then the Visual Modeler can optionally overwrite the existing resource constraint with the resource constraint defined in the PCIF. If a constraint of a different type exists in the model, the Visual Modeler will not import this constraint.

ENABLED

Boolean

No

Flag that specifies whether the constraint is enabled. Defaults to TRUE.

Subelements:

Name

How Many?

Description

EFFECTIVITY

0 or 1

The effectivity dates for this constraint.

COMMENT

0 or 1

A comment on this constraint.

EXPLANATION

0 or 1

An explanation that is shown if this constraint is violated.

RESOURCE_ PROVIDERS

Exactly 1

The resource providers.

RESOURCE_ CONSUMERS

Exactly 1

The resource consumers.

Click to jump to parent topicRESOURCE_PROVIDERS Element

Attributes: None

Subelements:

Name

How Many?

Description

ATTRIBUTE

0 or more

The attributes that provide resources.

Click to jump to parent topicATTRIBUTE Element

Attributes:

Name

Type

Required?

Description

CLASS

CDATA

Yes

The class this attribute refers to. Either the CLASS or the SELECTION_POINT must be specified, but not both.

SELECTION_ POINT

CDATA

No

The selection point this attribute refers to. Either the CLASS or the SELECTION_POINT must be specified, but not both.

PROPERTY

CDATA

Yes

The property (also known as an attribute) that this attribute refers to.

Subelements: None

Click to jump to parent topicRESOURCE_CONSUMERS Element

Attributes: None

Subelements:

Name

How Many?

Description

ATTRIBUTE

0 or more

The attributes that consume resources.

Click to jump to parent topicSELECTION_POINT_ATTRIBUTE Element

Attributes:

Name

Type

Required?

Description

NAME

CDATA

Yes

The name of the selection point level attribute. This attribute name should not have been defined on an parent of the class or selection point it’s currently being defined on.

TYPE

Choice of {Date, String, Boolean, Int, Float}

Yes

The type of this attribute.

Subelements:

Name

How Many?

Description

DEFAULT_VALUE

0 or 1

The default value of this attribute.

Click to jump to parent topicSUMMATION Element

Attributes:

Name

Type

Required?

Description

NAME

CDATA

Yes

The name of the summation. Each individual summation must have a unique name; if a duplicate name is found in the model, then the Visual Modeler can optionally overwrite the existing summation with the summation defined in the PCIF. If a constraint of a different type exists in the model, the Visual Modeler will not import this constraint.

ENABLED

Boolean

No

Flag that specifies whether the summation is enabled. Defaults to TRUE.

Subelements:

Name

How Many?

Description

COMMENT

0 or 1

A comment on this constraint.

SUMMANDS

Exactly 1

The attributes to be summed.

TOTAL_ATTRIBUTE

Exactly 1

The attribute where the sum will be stored.

Click to jump to parent topicSUMMANDS Element

Attributes: None

Subelements:

Name

How Many?

Description

ATTRIBUTE

0 or more

The attributes that are to be summed.

Click to jump to parent topicTOTAL_ATTRIBUTE Element

Attributes:

Name

Type

Required?

Description

CLASS

CDATA

No

The class this attribute refers to. Either the CLASS or the SELECTION_POINT must be specified, but not both.

SELECTION_ POINT

CDATA

No

The selection point this attribute refers to. Either the CLASS or the SELECTION_POINT must be specified, but not both.

PROPERTY

CDATA

Yes

The property (also known as an attribute) that this attribute refers to.

Subelements: None