Analysis Error Messages

This lists all Visible Analyst Workbench analysis errors and warnings with descriptions and procedures to resolve them. The messages are listed in alphabetical order by the message text, ignoring the ERROR/WARNING headings and any quotation marks.

Note

Error messages are in absolute alphabetical order: For example, if the message begins with "The", then it is alphabetized under "The", not under the first important word. Also, some error/warning messages begin with the name of an object. Help can't know what this name is, so Help substitutes an X for the name and alphabetizes under X.

You can also press [image] to get a listing of error messages.

Choose the first letter of the error message on which you want Help.

A	B	C	D	E	F	G	H	I

J	K	L	M	N	O	P	Q	R

S	T	U	V	W	X	Y	Z


A

WARNING	A non-inheritance relationship exists between X' and 'Y'

WARNING	A non-supertype/subtype relationship exists between X' and 'Y'

ERROR	Associative Entity 'X' has less than two foreign keys as primary key

ERROR	Associative Entity 'X' has less than two identifying Relationships attached

WARNING	Associative Entity 'X' has less than two identifying Relationships in this view

ERROR	Attributive Entity 'X' has no foreign key as primary key

ERROR	Attributive Entity 'X' has no identifying Relationship attached

WARNING	Attributive Entity 'X' has no identifying Relationship in this view

ERROR	Attributive Entity 'X' has no unique primary key


C

KEY SYNC	Column 'X' in entity 'Y' has been added to the foreign key of relationship Z

KEY SYNC	Column 'x' in entity 'y' is used by overlaping foreign keys with conflicting types.  Relationship 'z' will no longer use this column

ERROR	Column 'x' in entity 'y' is used by overlaping foreign keys with conflicting types.  Relationship 'z' should no longer use this column

ERROR	Columns for Table 'X' cannot be identified

WARNING	Connection type between module 'X' and module 'Y' cannot be accurately determined

ERROR	Class 'X' has no aggregation attributes defined

ERROR	Class 'X' has no attributes defined

ERROR	Class 'X' has no methods defined

ERROR	Class 'X' is involved in a cyclic inheritance relationship

ERROR	Class[Element] 'X' is undefined


D

ERROR	Data Element 'X' has data type not supported by selected SQL dialect

ERROR	Data Element 'X' is not used on data flow diagram

WARNING	Data flow attached to file labeled 'X' is unnamed

ERROR	Data flow labeled 'X' is dangling

ERROR	Data flow labeled 'X' is not attached to a process

ERROR	Data Store labeled 'X' is dangling

ERROR	Definition for column 'X' in entity 'Y' conflicts with the definition of the matching column on relationship 'Z'

KEY SYNC	Definition for column 'X' in entity 'Y' has been updated for relationship 'Z'

ERROR	Definition for column 'X' in entity 'Y' should be updated for relationship 'Z'

ERROR	Diagram named 'X' has no parent diagram

ERROR	Duplicate appearance of page connector 'X'

ERROR	Duplicate foreign key 'X' for Entity 'Y'


E

ERROR	Entity 'X' has cyclic definition -- primary key cannot be determined

ERROR	Entity 'X' is involved in a cyclic supertype/subtype relationship

ERROR	Entity 'X' has no composition defined

ERROR	Entity 'X' has no corresponding Data Store

ERROR	Entity 'X' has no corresponding File

ERROR	Entity 'X' has no primary key defined

ERROR	External Entity labeled 'X' is dangling

KEY SYNC	Extra primary key column 'x' in entity 'y' has been removed from the primary key because of singular relationship 'z'

ERROR	Extra primary key column 'x' in entity 'y' should be removed from the primary key because of singular relationship 'z'


F

ERROR	File labeled 'X' is dangling

ERROR	Foreign key 'X' for Entity 'Y' already exists as Associator/Element

ERROR	Foreign key 'X' for Entity 'Y' does not have corresponding Relationship

WARNING	Foreign key 'X' for Entity 'Y' has Associator/Element defined

KEY SYNC	Foreign key created for Relationship 'X'

ERROR	Foreign key does not exist for Relationship 'X'

ERROR	Foreign key for relationship 'X' is wholly dependent on the foreign key of relationship 'Y' in entity Z

WARNING	Foreign key for relationship 'X' shares column(s) with the foreign key of relationship 'Y' in entity Z

ERROR	Foreign key for relationship 'X' should not be a component of the primary key of entity Y

ERROR	Function labeled 'X' has more than one input connection

ERROR	Function labeled 'X' is a dangling function

ERROR	Function labeled 'X' is placed illegally in the hierarchy structure; its parent is a process


H

WARNING	High fan-out for module 'X'


I

ERROR	Illegal connection between module 'X' and module 'Y'

ERROR	Illegal connection(s) using off-page connector 'X'

ERROR	Information cluster labeled 'X' has unnamed modules

ERROR	Input data flow 'X' on parent is not shown

ERROR	Input/Output data flow 'X' on parent is not shown


L

WARNING	Low fan-in for module 'X'


M

ERROR	Matching page connector cannot be found for 'X'

ERROR	Maximum cardinality for relationship 'X' specified by syntax (n) exceeds diagram specified cardinality of 0 or 1

ERROR	Maximum cardinality for relationship 'X' specified by syntax (n) limits diagram specified cardinality of many

ERROR	Minimum cardinality for relationship 'X' specified by syntax (n) does not equal diagram specified cardinality of one

ERROR	Minimum cardinality for relationship 'X' specified by syntax (n) exceeds diagram specified cardinality of zero

ERROR	Module labeled 'X' is a dangling module


N

ERROR	Net data flow labeled 'X' is attached to a local file

ERROR	Net input data flow 'X' is not shown attached to parent process

ERROR	Net input data flow labeled 'X' is attached to a different object on parent

ERROR	Net output data flow 'X' is not shown attached to parent process

ERROR	Net output data flow labeled 'X' is attached to a different object on parent

WARNING	Not all subtype group members for entity "X' are shown in this view


O

ERROR	Off-page connector labeled 'X' appears as both input and output

ERROR	Output data flow 'X' on parent is not shown

KEY SYNC	Old foreign key column 'x' in entity 'y' has been removed

KEY SYNC	Old foreign key column 'x' in entity 'y' has been removed from the primary key

ERROR	Old foreign key column 'x' in entity 'y' should be removed

ERROR	Old foreign key column 'x' in entity 'y' should be removed from the primary key


P

ERROR	Page connector labeled 'X' appears as output more than once

ERROR	Page connector labeled 'X' has both input and output connections

ERROR	Page connector labeled 'X' has mismatched connection types

ERROR	Page connector labeled 'X' has more than one connection

ERROR	Page connector labeled 'X' has more than one output connection

ERROR	Page connector labeled 'X' is dangling

ERROR	Page connector labeled 'X' is dangling

ERROR	Page connector labeled 'X' is placed on wrong diagram

WARNING	Permitted but not recommended connection between module 'X' and module 'Y'

WARNING	Permitted but not recommended connection(s) using off-page connector 'X'

ERROR	Physical information for Data Element 'X' does not specify length

KEY SYNC	Primary foreign key created for Relationship 'X'

ERROR	Primary key for fundamental Entity 'X' contains foreign key

ERROR	Primary key for Table 'X' cannot be identified

ERROR	Process labeled 'X' has a different parent on a data flow diagram

ERROR	Process labeled 'X' has more than one input connection

ERROR	Process labeled 'X' is a dangling process

ERROR	Process labeled 'X' is a dangling process

ERROR	Process labeled 'X' is an input only process

ERROR	Process labeled 'X' is an output only process

WARNING	Process labeled 'X' is not used on a data flow diagram


R

ERROR	Relationship 'X' is not normalized

WARNING	Relationship 'X' is one to one mandatory

WARNING	Relationship 'X' is optional in both directions

WARNING	Reverse Relationship of 'X' is unnamed

ERROR	Role names have not been assigned for relationship 'X' between 'A' and 'B'


S

ERROR	Set of relationships for class X' is incorrect

ERROR	Source/Sink labeled 'X' is dangling

ERROR	Syntax error in cardinality detail string ( position n' ) for relationship 'X' between classes 'Y' and 'Z'

ERROR	Syntax error in cardinality detail string ( position n' ) for relationship 'X' between entities 'Y' and 'Z'

ERROR	Syntax error in cardinality detail string ( position n' ) for reverse relationship 'X' between classes 'Y' and 'Z'

ERROR	Syntax error in cardinality detail string ( position n' ) for reverse relationship 'X' between entities 'Y' and 'Z'


T

ERROR	There are X incorrectly placed looping structure(s)

ERROR	There are X invocation line(s) without source and/or destination

ERROR	There are X lines only connected at one end to a methodology symbol

ERROR	There are X unnamed class(es)

ERROR	There are X unnamed couple(s)

ERROR	There are X unnamed Data Flow(s)

ERROR	There are X unnamed Data Store(s)

ERROR	There are X unnamed Entity(s)

ERROR	There are X unnamed External Entity(s)

ERROR	There are X unnamed File(s)

ERROR	There are X unnamed function(s)

ERROR	There are X unnamed information cluster(s)

ERROR	There are X unnamed module(s)

ERROR	There are X unnamed Process(es)

ERROR	There are X unnamed process(es)

ERROR	There are X unnamed page connector(s)

ERROR	There are X unnamed page connectors

ERROR	There are X unnamed Relationship(s)

ERROR	There are X unnamed Source/Sink(s)

ERROR	There are X unnumbered process(es)


U

ERROR	Unattached Relationship 'X'

ERROR	Unexpected appearance of page connector labeled 'X'


V

ERROR	Valid matching page connector cannot be found for 'X'


X

ERROR	'X' has more than one lexical inclusion

ERROR	'X' should be shown as a Net input data flow

ERROR	'X' should be shown as a Net output data flow


Structured Analysis Error Messages


There are X unnamed Process(es)
ERROR	There are X unnamed Process(es)

Unlabeled symbols and data flows generate error messages because they indicate the incompleteness of a specification.

To resolve the error use the Change Item function to label the unnamed process(es).


There are X unnamed File(s)
ERROR	There are X unnamed File(s)

Unlabeled symbols and data flows generate error messages because they indicate the incompleteness of a specification.

To resolve the error use the Change Item function to label the unnamed file(s).


There are X unnamed Data Store(s)
ERROR	There are X unnamed Data Store(s)

Unlabeled symbols and data flows generate error messages because they indicate the incompleteness of a specification.

To resolve the error use the Change Item function to label the unnamed data store(s).


There are X unnamed Source/Sink(s)
ERROR	There are X unnamed Source/Sink(s)

Unlabeled symbols and data flows generate error messages because they indicate the incompleteness of a specification.

To resolve the error use the Change Item function to label the unnamed source/sink(s).


There are X unnamed External Entity(s)
ERROR	There are X unnamed External Entity(s)

Unlabeled symbols and data flows generate error messages because they indicate the incompleteness of a specification.

To resolve the error use the Change Item function to label the unnamed external entity(s).


There are X unnamed Data Flow(s)
ERROR	There are X unnamed Data Flow(s)

Unlabeled symbols and data flows generate error messages because they indicate the incompleteness of a specification. Note that if an unnamed data flow is attached to file or data store, it is not necessarily an error.

To resolve the error use the Change Item function to label the unnamed data flow(s).


Data flow attached to file labeled 'X' is unnamed
WARNING	Data flow attached to file labeled 'X' is unnamed

This warning message indicates that the unlabeled data flow is incompletely described. Though not technically an error, unnamed data flows are flagged to indicate incompleteness. If the process this flow is attached to is nested, this flow will assume the name of the file (or data store ) it is attached to when it appears on the subsequent child diagram.

To resolve the warning, use the Change Item function to label the data flow, or the Nest function to explode the process it is attached to, or you can leave the flow unlabeled. In this case, the data flow is interpreted to mean that it carries the entire content of the file.


Process labeled 'X' is a dangling process
ERROR	Process labeled 'X' is a dangling process

This message indicates incompleteness of analysis. It also indicates, however, that the dangling process's relationship to the rest of the system is undefined at the point where it is dangling.

To resolve the error, either move the process to attach dangling data flows to it, or vice versa, or add any missing flows.


File labeled 'X' is dangling
ERROR	File labeled 'X' is dangling

This message indicates incompleteness of analysis. It also indicates, however, that the dangling file's relationship to the rest of the system is undefined at the point where it is dangling.

To resolve the error, either move the file to attach dangling data flows to it, or vice versa, or add any missing flows.


Data Store labeled 'X' is dangling
ERROR	Data Store labeled 'X' is dangling

This message indicates incompleteness of analysis. It also indicates, however, that the dangling data store's relationship to the rest of the system is undefined at the point where it is dangling.

To resolve the error, either move the data store to attach dangling data flows to it, or vice versa, or add any missing flows.


Source/Sink labeled 'X' is dangling
ERROR	Source/Sink labeled 'X' is dangling

This message indicates incompleteness of analysis. It also indicates, however, that the dangling source/sink's relationship to the rest of the system is undefined at the point where it is dangling.

To resolve the error, either move the source/sink to attach dangling data flows to it, or vice versa, or add any missing flows.


External Entity labeled 'X' is dangling
ERROR	External Entity labeled 'X' is dangling

This message indicates incompleteness of analysis. It also indicates, however, that the dangling external entity's relationship to the rest of the system is undefined at the point where it is dangling.

To resolve the error, either move the external entity to attach dangling data flows to it, or vice versa, or add any missing flows.


Data flow labeled 'X' is dangling
ERROR	Data flow labeled 'X' is dangling

This message indicates incompleteness of analysis. It also indicates, however, that the dangling data flow's relationship to the rest of the system is undefined at the point where it is dangling.

To resolve the error, either move the data flow to attach dangling symbols, or vice versa, or add any missing symbols.


There are X unnumbered process(es)
ERROR	There are X unnumbered process(es)

An unnumbered process is also unlabeled. It is illegal for the same reasons as unlabeled processes.

To resolve the error, use the Change Item function to label the unnumbered process. This will cause the process to automatically be assigned a process number.


Process labeled 'X' is an input only process
ERROR	Process labeled 'X' is an input only process

The above error message indicates incomplete analysis. Processes, by definition, must process data. A process without both input and output is therefore illogical and incomplete.

To resolve the error, create or find the necessary output data flow and connect it to the process.


Process labeled 'X' is an output only process
ERROR	Process labeled 'X' is an output only process

The above error message indicates incomplete analysis. Processes, by definition, must process data. A process without both input and output is therefore illogical and incomplete.

To resolve the error, create or find the necessary input data flow and connect it to the process.


Data flow labeled 'X' is not attached to a process
ERROR	Data flow labeled 'X' is not attached to a process

This error message indicates that the flagged data flow is connecting two nonprocess symbols (data stores or external entities).

To resolve the error, move the data flow to connect it to a process.


Diagram named 'X' has no parent diagram
ERROR	Diagram named 'X' has no parent diagram

In structured analysis, all diagrams except the top level diagram must be based upon the decomposition of a process. If a diagram is not a top level diagram, and it has no parent, then some high level function is being left out of the specification.

To resolve the error, find or create a process on a diagram at a higher level than the flagged diagram and explode that process using the Nest function. Nest will ask you whether to Create New Diagram or Select Existing Diagram. Choose Select Existing Diagram. The Workbench will present the portion of the project treefile containing the available diagrams, whereby you can select the unconnected diagram.


Input data flow 'X' on parent is not shown
ERROR	Input data flow 'X' on parent is not shown

The above message indicates that a data flow has been added to a higher level diagram but is not reflected in the lower level diagram.

To resolve the error, use the Parent subfunction of Nest to open the parent diagram. Then find the process to which the unbalanced data flow is attached. Then use the Nest function and Explode that process. This will drag the unbalanced flow down to the child diagram where it needs to be used.


Output data flow 'X' on parent is not shown
ERROR	Output data flow 'X' on parent is not shown

The above message indicates that a data flow has been added to a higher level diagram but is not reflected in the lower level diagram.

To resolve the error, use the Parent subfunction of Nest to open the parent diagram. Then find the process to which the unbalanced data flow is attached. Then use the Nest function and Explode that process. This will drag the unbalanced flow down to the child diagram where it needs to be used.


Net input data flow 'X' is not shown attached to parent process
ERROR	Net input data flow 'X' is not shown attached to parent process

This error message indicates that the flagged data flow needs to be attached to the process that was exploded to create the diagram on which the error exists. An alternative resolution would be to split the data flow into a data flow previously dragged down on to the current diagram. The two resolutions are shown below:

To resolve the error, first note the process numbers on the current diagram. Then select Nest from the File menu and select the Parent subfunction (or just switch to the parent diagram, if it is already open). The Workbench will then load the diagram where the parent process is located. Locate the process with the appropriate process number (i.e. if child diagram processes are 1.1.1, 1.1.2, 1.1.3, etc., locate process 1.1 on the parent). Then find or create a data flow with the same name as the flagged data flow and attach it to this process.

To resolve the error, locate a data flow on the current diagram that is either dragged down from the parent or an already split subflow. Click on it to select it as the current object. Select the Split Data Flow function and make it a subflow of a data flow that is shown attached to the parent process (see Splitting Data Flows).


Net output data flow 'X' is not shown attached to parent process
ERROR	Net output data flow 'X' is not shown attached to parent process

This error message indicates that the flagged data flow needs to be attached to the process that was exploded to create the diagram on which the error exists. An alternative resolution would be to split the data flow into a data flow previously dragged down on to the current diagram. The two resolutions are shown below:

To resolve the error, first note the process numbers on the current diagram. Then select Nest from the File menu and select the Parent subfunction (or just switch to the parent diagram, if it is already open). The Workbench will then load the diagram where the parent process is located. Locate the process with the appropriate process number (i.e. if child diagram processes are 1.1.1, 1.1.2, 1.1.3, etc., locate process 1.1 on the parent). Then find or create a data flow with the same name as the flagged data flow and attach it to this process.

To resolve the error, locate a data flow on the current diagram that is either dragged down from the parent or an already split subflow. Click on it to select it as the current object. Select the Split Data Flow function and make it a subflow of a data flow that is shown attached to the parent process (see Splitting Data Flows).


'X' should be shown as a Net input data flow
ERROR	'X' should be shown as a Net input data flow

This error indicates that a subflow has been incorrectly used in relation to its parent. A subflow on a child diagram of a net input flow on a parent diagram cannot be used as a net output data flow or as an internal process-to-process the data flow. Data flows A2 in the upper figure and A on the bottom of the lower figure would generate such an error.

To resolve the error, locate the subflow and move it to properly attach it.


'X' should be shown as a Net output data flow
ERROR	'X' should be shown as a Net output data flow

This error indicates that a subflow has been incorrectly used in relation to its parent. A subflow on a child diagram of a output flow on a parent diagram cannot be used as a net input data flow or as an internal process-to-process the data flow. Data flows A2 in the upper figure and A on the bottom of the lower figure would generate such an error.

To resolve the error, locate the subflow and move it to properly attach it.


Net input data flow labeled 'X' is attached to a different object on parent
ERROR	Net input data flow labeled 'X' is attached to a different object on parent

This error message indicates that a net input data flow is attached to an external entity or global file on the current diagram and is not attached to an external entity or file with the same name on the parent diagram.

To resolve the error, change either the parent or child diagram so that the data flow attachments match.


Net output data flow labeled 'X' is attached to a different object on parent
ERROR	Net output data flow labeled 'X' is attached to a different object on parent

This error message indicates that a net output data flow is attached to an external entity or global file on the current diagram and is not attached to an external entity or file with the same name on the parent diagram.

To resolve the error, change either the parent or child diagram so that the data flow attachments match.


Net data flow labeled 'X' is attached to a local file
ERROR	Net data flow labeled 'X' is attached to a local file

This is a complicated error message and requires some background explanation. Before reading the reasons for the error message, you might want to review the definition of a net data flow and the differences between data stores and physical files.

Net Data Flows	Data Stores and Physical Files

When a local data flow is connected to a data store as an input to that data store, the data store inherits the local attribute of the data flow and that instance of the data store is viewed by the Workbench analyzer as a local data store. This represents the defining instance of that local data store because it contains data derived within the parent process from the net inputs connected to the parent process. If a net input flow is connected directly to this local data store then a mixture of net and derived data can occur. (Net and local output data flows work the same way.) Allowing this mixture of derived and net data would negate the reconciliation effort intrinsic to the methodology of data flow diagraming. Thus, the Workbench generates this analysis error when this situation occurs. For example, if data flow G in the figure were shown on the parent diagram as a net output data flow, it would generate this error message because it is used locally on this diagram.

After generating this message, the analyzer thereafter looks at data flow X as a local data flow, no longer having the property net input or net output. The analyzer then tries to balance the net flows appearing on the parent and child diagrams and is forced to issue the additional error message:

ERROR	Input/Output data flow 'X' on parent is not shown

To resolve both errors at once, do one of three things:

Make the data store to which X is connected non-local by allowing only flows entering it (if X is a net output flow) or only flows leaving it (if X is a net input flow).

Add an additional instance of the data store to the child diagram, one to be used as a local data store and the other to be connected to data flow X.

Disconnect data flow X from the data store, leaving one end connected to a process and the other connected to nothing. (Remember that the data store connected to X or its parent flow on the parent diagram remains implicitly connected on all descendent diagrams.) Then the data store will be only a local one on this diagram.

The source of this analysis error message might indicate that your analysis is being affected by thinking that is too physical. It is sometimes difficult to remember, especially for data stores, that data acquisition or transformation at a lower level might have to be propagated either up or down a diagram branch.

To put into practice the guidelines we have presented we suggest that you identify the net input and output flows for a process and create the initial version of each child diagram without incorporating any data stores. (An equivalent data flow diagram can always be drawn without them!) Afterwards, when all the data flows on the diagram have been documented, insert the data stores, adhering to the previously discussed data store guidelines. Then your project will be both methodologically correct and an accurate description of your system.


Net Data Flows

Input and output data flows refer to data entering or leaving, respectively, a process to which the flow is connected. The criteria for when a flow is termed a net flow are:

On a given diagram, a data flow is a net input or output flow if one end of the data flow is connected to an external entity or if one end of the data flow is not connected to any object, like A and C in the figure below.

On a given diagram, a data flow is a net input or output flow if one end of the data flow is connected to a non-local data store, like F in the figure below. (This somewhat circular part of the definition is explained in Data Stores and Physical Files.)

A data flow is a net input or output flow if it enters or leaves the parent process of the current diagram. When a process is decomposed with Nest, the net input and output data flows defined for the parent process are also the net input and output flows for its immediate child diagram. In other words, the net flows associated with the parent process must be accounted for on its immediate child diagram; otherwise, the Analyze operation will indicate a balancing error.

A data flow is a net input or output flow if the data flow is a subflow of a net input or output flow. This means that the property of net input or net output is inheritable from a parent to a child diagram via the Nest and Split Data Flow operations.

Any flow not characterized as a net flow on the child diagram is considered internal to the parent process. Hence, it is local to the child diagram and is termed a local data flow.


Data Stores and Physical Files

Although the concepts of data stores and physical files are similar, the terms are not synonymous. Access to a data store must abide by the balancing principles of data flow diagraming. You should adhere to the following guidelines when you draw a data store:

A data store is a container which temporarily holds data while it is flowing between different processes. It functions as an interface between those separate processes. Beware of cyclic connections drawn between a single process and a data store. A cyclic connection exists if data moves in both directions between a process and a data store. This situation strongly suggests that the data flowing between the process and data store is really internal to the process. It would be preferable not to diagram the data store at this level. Instead, decompose the process with the Nest function. On the child diagram, show the processes that have been factored out from the parent process and then draw the data store as it relates to these processes.

When a process accesses a data store, only the net flow of data should be diagramed. For instance, if a process withdraws data from a data store, meaningfully generates and/or transforms the data, and then returns some or all of it, only the net flow of data should be diagramed at that level.

All references to a data store (i.e., the data flows) should appear on the diagram on which the data store is initially drawn. This is called the defining instance. Subflows derived from these data flows maintain this data store connection even if the data store does not appear on the diagrams on which these subflows appear.

All subsequent child diagrams should consistently access the data store. For instance, if the defining instance of a data store is referenced by process 1 with only net output data flows then only net output data flows may be associated to this data store on the child diagram of process 1 without generating an analysis error.

When a local data flow is connected to a data store as an input to that data store, the data store inherits the local attribute of the data flow and that instance of the data store is viewed by the Workbench analyzer as a local data store. This represents the defining instance of that local data store because it contains data derived within the parent process from the net inputs connected to the parent process. If a net input flow is connected directly to this local data store then a mixture of net and derived data can occur. (Net and local output data flows work the same way.) Allowing this mixture of derived and net data would negate the reconciliation effort intrinsic to the methodology of data flow diagraming. Thus, the Workbench generates this analysis error when this situation occurs. For example, if data flow G in the figure were shown on the parent diagram as a net output data flow, it would generate the error message:

ERROR	Net data flow labeled 'X' is attached to a local file

because it is used locally on this diagram.

After generating this message, the analyzer thereafter looks at data flow X as a local data flow, no longer having the property net input or net output. The analyzer then tries to balance the net flows appearing on the parent and child diagrams and is forced to issue the additional error message:

ERROR	Input/Output data flow 'X' on parent is not shown

________

See Also

Net Data Flows


Input/Output data flow 'X' on parent is not shown
ERROR	Input/Output data flow 'X' on parent is not shown

To resolve both this error and Net data flow labeled 'X' is attached to a local file at once, do one of three things:

Make the data store to which X is connected non-local by allowing only flows entering it (if X is a net output flow) or only flows leaving it (if X is a net input flow).

Add an additional instance of the data store to the child diagram, one to be used as a local data store and the other to be connected to data flow X.

Disconnect data flow X from the data store, leaving one end connected to a process and the other connected to nothing. (Remember that the data store connected to X or its parent flow on the parent diagram remains implicitly connected on all descendent diagrams.) Then the data store will be only a local one on this diagram.

The source of this analysis error message might indicate that your analysis is being affected by thinking that is too physical. It is sometimes difficult to remember, especially for data stores, that data acquisition or transformation at a lower level might have to be propagated either up or down a diagram branch.

To put into practice the guidelines we have presented we suggest that you identify the net input and output flows for a process and create the initial version of each child diagram without incorporating any data stores. (An equivalent data flow diagram can always be drawn without them!) Afterwards, when all the data flows on the diagram have been documented, insert the data stores, adhering to the previously discussed data store guidelines. Then your project will be both methodologically correct and an accurate description of your system.

________

See Also

Net Data Flows

Data Stores and Physical Files


There are X unnamed function(s).
ERROR	There are X unnamed function(s).

This error is the result of not labeling functions on your FDDs.

To resolve the error, find and label them using the Change Item function.


There are X unnamed process(es).
ERROR	There are X unnamed process(es).

This error is the result of not labeling processes on your FDDs.

To resolve the error, find and label them using the Change Item function.


Function labeled 'X' is a dangling function.
ERROR	Function labeled 'X' is a dangling function.

The above error message is the result of not connecting the indicated function with connector lines.

To resolve the error, move the lines and/or the function to appropriately connect them, or use the Connect function.


Process labeled 'X' is a dangling process.
ERROR	Process labeled 'X' is a dangling process.

The above error message is the result of not connecting the indicated process with connector lines.

To resolve the error, move the lines and/or the process to appropriately connect them.


Function labeled 'X' has more than one input connection.
ERROR	Function labeled 'X' has more than one input connection.

The above error message is the result of connecting the indicated function to more than one superior function, like function D in the figure.

To resolve the error, move or delete lines to connect the function to one and only one superior function.


Process labeled 'X' has more than one input connection.
ERROR	Process labeled 'X' has more than one input connection.

The above error message is the result of connecting the indicated process to more than one superior process, like function D in the figure.

To resolve the error, move or delete lines to connect the process to one and only one superior process.


Process labeled 'X' has a different parent on a data flow diagram.
ERROR	Process labeled 'X' has a different parent on a data flow diagram.

The above error message indicates incompatible function/process hierarchies on your FDD and DFDs. This is probably due either to independently making changes to these diagrams or to spawning your FDD to an already existing branch of data flow diagrams. This situation can occur either on a single FDD or across a page connection.

To resolve the error, first decide whether your FDD or your DFDs have priority. If you use functional decomposition for your overall business planning, it should probably be given priority. In this case, edit the DFD to make it match the FDD and then rerun Spawn Verify on the parent function to synchronize the diagrams and make sure that the error message goes away. If your DFDs have priority, you can either correct the FDD or you can do nothing and live with this error message and the fact that the FDD and DFDs are out of sync.


Process labeled 'X' is not used on a data flow diagram.
WARNING	Process labeled 'X' is not used on a data flow diagram.

The above error message indicates that either the FDD containing the process has not been spawned or that the process has been deleted from a DFD.

To resolve the warning, Spawn the FDD (if it has never been spawned), or add the process to a DFD manually or with the Spawn Verify function.


Function labeled 'X' is placed illegally in the hierarchy structure
ERROR	Function labeled 'X' is placed illegally in the hierarchy structure; its parent is a process.

The above error message is the result of violating the hierarchy rule for functions and processes, like function D in the figure. This situation can occur either on a single FDD or across a page connection.

To resolve the error, use the Change Item function to make the function into a process or the superior process into a function.


There are X lines only connected at one end to a methodology symbol.
ERROR	There are X lines only connected at one end to a methodology symbol.

The above error message is the result of improperly connecting two symbols, as between functions A and C in the figure. The elbow connector to function C was not drawn starting at function A, but at the elbow of the connector joining functions A and B. It is, in actuality, if not in appearance, dangling. Note that a visibly dangling connector line would also generate this error message.

To resolve the error, redraw the line so that it truly joins functions A and C. See Drawing Connectors for a detailed description of how to draw branched elbow line connectors.


Page connector labeled 'X' is dangling.
ERROR	Page connector labeled 'X' is dangling.

The above error message is the result of not connecting the indicated page connector with connector lines.

To resolve the error, draw or move connector lines to connect the function or process to an appropriate other symbol.


Page connector labeled 'X' has more than one connection.
ERROR	Page connector labeled 'X' has more than one connection.

The above error message means that either the page connector has more than one hierarchical parent, as in the top figure or that it has been used to substitute for a connector junction, i.e., it has more than one hierarchical child, as in the middle figure.

To resolve the error in the first situation, break one of the connections from a function or process to the page connector. In the second circumstance, move the parent of the page connector to the paged diagram, as in the bottom figure.


Duplicate appearance of page connector 'X'.
ERROR	Duplicate appearance of page connector 'X'.

This error message is issued when two or more instances of either an input or an output page connector are assigned an identical label.

To resolve the error, either delete or change the label of the duplicate instance of the page connector.


Page connector labeled 'X' is placed on wrong diagram.
ERROR	Page connector labeled 'X' is placed on wrong diagram.

This error message occurs when the input page connector symbol is located on a different diagram from the page that is actually connected.

To resolve the error, delete the misplaced page connector symbol and recreate it on the page that is actually connected. (You might want to use the Construct function to do this.)


There are X unnamed page connectors.
ERROR	There are X unnamed page connectors.

These errors are the result of not labeling page connectors on your FDDs.

To resolve the errors, find and label them using the Change Item function. The page connector symbols on each end of the link should have the same name.


Valid matching page connector cannot be found for 'X'.
ERROR	Valid matching page connector cannot be found for 'X'.

The above error message indicates that either the two page connectors for a page connection are not labeled identically or that one or both are not labeled at all.

To resolve the error, change the name on one page connector to match the one at the other end of the connection.


Unexpected appearance of page connector labeled 'X'.
ERROR	Unexpected appearance of page connector labeled 'X'.

The above error message indicates that the Workbench could not match up pairs of page connectors. Page connectors must be paired: one input and one output. The many-to-one page connections acceptable for structure charts are not valid on FDDs. The analyzer requires unique and identical labels on each end of a page connection. If two page connectors on a diagram are not labeled identically, the Workbench will be unable to resolve the connections, as in the figure, and will issue this message. The Page operation automatically copies a labeled page connector to the newly connected page to insure the existence of both connector symbols and avoid this error situation.

To resolve the error, either eliminate one occurrence of the named page connector or rename one of them to something else.


There are X unnamed module(s)
ERROR	There are X unnamed module(s)

This error message is the result of not labeling one or more modules on your structure charts.

To resolve the error, find and label them using the Change Item function.


There are X unnamed page connector(s)
ERROR	There are X unnamed page connector(s)

This error message is the result of not labeling one or more page connectors on your structure charts.

To resolve the errors, find and label them using the Change Item function.


There are X unnamed couple(s)
ERROR	There are X unnamed couple(s)

This error message is the result of not labeling one or more couples on your structure charts.

To resolve the errors, find and label them using the Change Item function.


There are X unnamed information cluster(s)
ERROR	There are X unnamed information cluster(s)

This error message is the result of not labeling one or more information clusters on your structure charts.

To resolve the errors, find and label them using the Change Item function.


Module labeled 'X' is a dangling module
ERROR	Module labeled 'X' is a dangling module

This error message is the result of not connecting a module with invocation lines.

To resolve the error(s), draw invocation or connector lines or move the module so that it will be connected.


Page connector labeled 'X' is dangling
ERROR	Page connector labeled 'X' is dangling

This error message is the result of not connecting a page connector with invocation lines.

To resolve the error(s), draw invocation or connector lines or move the page connector so that it will be connected.


There are X invocation line(s) without source and/or destination
ERROR	There are X invocation line(s) without source and/or destination

This error message is the result of not connecting invocation lines with symbols.

To resolve the error(s), draw invocation or connector lines or move modules or lines so that they will be connected.


Page connector labeled 'X' has both input and output connections.
ERROR	Page connector labeled 'X' has both input and output connections.

The above error is the result of using the same page connector for two-way page connections. See the figure. The Rules expects page connectors to be only one-way. (This is for validation purposes.)

To resolve the error, create a second page connector using the Page function and use it to replace one of the directions included in the original page connector.


There are X incorrectly placed looping structure(s).
ERROR	There are X incorrectly placed looping structure(s).

This error message is the result of not placing a loop connector properly on the diagram.

To resolve the error, reposition any loops so that they are placed with at least one endpoint attached to a module.


Connection type between module 'X' and module 'Y' cannot be accurately
WARNING	Connection type between module 'X' and module 'Y' cannot be accurately determined.

The above warning message indicates that the Rules has been unable to determine a connection's type, for instance, a pathological data connection that refers to an entire module.

To resolve the warning, review the diagram and check for proper use of the line type for the particular situation.


Illegal connection between module 'X' and module 'Y'
ERROR	Illegal connection between module 'X' and module 'Y'

The above error is the result of connecting two modules in an incorrect manner. In general, this error is the result of using a library module, library macro, or data only module to call another module (there are certain exceptions). See the figure.

To resolve the error, review the module(s) with illegal connections, and change the connections to correct or permitted types.


Illegal connection(s) using off-page connector 'X'
ERROR	Illegal connection(s) using off-page connector 'X'

The above error is the result of connecting two modules in an incorrect manner via an off-page connector. In general, this error is the result of using a library module, library macro, or data only module to call another module (there are certain exceptions). See the figure.

To resolve the error, review the module(s) with illegal connections, and change the connections to correct or permitted types.


'X' has more than one lexical inclusion
ERROR	'X' has more than one lexical inclusion

The above error message indicates that the flagged module is represented as lexically included in more than one other module.

To resolve the error either change the terminator on or move the extra lexical inclusion line(s) so that only one lexical inclusion references the flagged module.


Permitted but not recommended connection between module 'X' and module 'Y'
WARNING	Permitted but not recommended connection between module 'X' and module 'Y'

The above warning message is generated when modules are connected in ways that have been proven to have drawbacks in terms of design.

To resolve the error(s), change the connections to more acceptable types.


Permitted but not recommended connection(s) using off-page connector 'X'
WARNING	Permitted but not recommended connection(s) using off-page connector 'X'

The above warning message is generated when modules are connected via an off-page connector in ways that have been proven to have drawbacks in terms of design.

To resolve the error(s), change the connections to more acceptable types.


Page connector labeled 'X' has more than one output connection
ERROR	Page connector labeled 'X' has more than one output connection

The above error is the result of using the same page connector for calling multiple modules on another page. As discussed earlier, an output connector may only connect to one module. See the figure.

To resolve the error, reverse the positions of the calling module and the page connector; i.e., replace the calling module with a page connector, on the calling page. This has the effect of moving the page connector up one level in the program's hierarchy. Next, place the module (the one just replaced with the page connector) on the called diagram. Then use the page connector on the called page to connect to the module. Lastly, use the module to call the other modules.


Page connector labeled 'X' appears as output more than once
ERROR	Page connector labeled 'X' appears as output more than once

The above error indicates that the flagged page connector is an output connector in more than one place in your structure chart. As discussed earlier, each set of uniquely named connectors may only have one output connector.

To resolve the error, remove or rename the flagged output connectors until only one output connector of that name remains in the structure chart set.


Page connector labeled 'X' has mismatched connection types
ERROR	Page connector labeled 'X' has mismatched connection types

The above error is the result of calling to a page connector with one type of connector, and calling from the connector, on the called page, with another type of connector. See the figure.

To resolve the error, first decide which connector type is the desired type. Then use the Change Item function to change the invalid connector to the desired type.


Matching page connector cannot be found for 'X'
ERROR	Matching page connector cannot be found for 'X'

The above error is the result of not using a page connector either on the calling or on the called page. Also, one or more page connectors used might be incorrectly labeled.

To resolve the error, locate the page connector without a match and use the Page function to access the paged diagram. Once on the connected diagram, review the diagram for the presence of the offending connector. If it isn't there, use the Symbols function to place one on the diagram and the Lines function to connect it to whichever module it needs to be connected.


Off-page connector labeled 'X' appears as both input and output
ERROR	Off-page connector labeled 'X' appears as both input and output

The above error indicates that a connector exists as both input and output. A page connector may be either input or output, but not both. Also, a page connector may not exist as separate input and output connectors on the same page.

To resolve the error, remove the connections to the flagged page connector so that it is either input or output.


Low fan-in for module 'X'
WARNING	Low fan-in for module 'X'

The above error message is the result of a module being called by too few other modules. This is an indication that the called module could, potentially, be moved into the body of the calling module. This error message falls into the same category as High fan-out for module 'X' in that it is a guideline, not a rule.

To resolve the error, check the modules involved and verify whether upwards joining is needed or not needed. Once you've made the determination for yourself, you can safely ignore the error message from then on.


High fan-out for module 'X'
WARNING	High fan-out for module 'X'

The above error message is the result of using too many calls from the flagged module. The warning is based upon design principles, and is meant to be a guideline indicating a potentially overly complex control structure within the calling module.

To resolve the warning, add levels of modules to break up control issues into less complex structures.


Information cluster labeled 'X' has unnamed modules
ERROR	Information cluster labeled 'X' has unnamed modules

The above error is the result of not labeling one or more of the modules internal to an information cluster. See the figure.

To resolve the error, label all of the modules in the information cluster.


Reverse Relationship of 'X' is unnamed.
WARNING	Reverse Relationship of 'X' is unnamed.

The above error indicates that a relationship is labeled in only one direction, while the project has been configured for relationships to have two labels.

To resolve the error, find the relationship and make sure that it is labeled in both directions.


Relationship 'X' is not normalized.
ERROR	Relationship 'X' is not normalized.

The above error indicates that the cardinality is not x:1 on either end (i.e., it is 0:many or many:many in both directions). See the figure.

To resolve the error, change the cardinality on one end of the relationship so that the upper limit is one.


There are X unnamed Entity(s).
ERROR	There are X unnamed Entity(s).

This error message is the result of not labeling entities on your ERD(s).

To resolve the error, find and label them.


There are X unnamed Relationship(s).
ERROR	There are X unnamed Relationship(s).

This error message is the result of not labeling relationships on your ERD(s).

To resolve the error, find and label them.


Relationship 'X' is optional in both directions.
WARNING	Relationship 'X' is optional in both directions.

The above error means that on both ends of a relationship, the cardinality is 0:x. Optional:optional relationships can be difficult to implement. See the figure.

To resolve the warning, make the relationship cardinality mandatory on at least one end.


Relationship 'X' is one to one mandatory.
WARNING	Relationship 'X' is one to one mandatory.

The above error indicates that there is a possible normalization error, for the entities at both ends might belong in the same table. See the figure.

To resolve the error, either combine the two entities into one or change the relationship cardinality. If the relationship is in fact correct, ignore the warning.


Associative Entity 'X' has less than two identifying Relationships attached.
ERROR	Associative Entity 'X' has less than two identifying Relationships attached.

The above error indicates that nowhere in the repository do the required two identifying relationships for an associative entity exist.

To resolve the error, be sure that this associative entity has two identifying relationships. A relationship is identifying if it comes from a fundamental entity where the cardinality is 1:1.


Attributive Entity 'X' has no identifying Relationship attached.
ERROR	Attributive Entity 'X' has no identifying Relationship attached.

The above error indicates that nowhere in the repository does the required identifying relationship for an attributive entity exist.

To resolve the error, be sure that this attributive entity has one identifying relationship.


Associative Entity 'X' has less than two identifying Relationships in this view.
WARNING	Associative Entity 'X' has less than two identifying Relationships in this view.

The above warning exists to warn you that the identifying relationships for an associative entity might not exist. (This error only happens when you are analyzing a single diagram. If both identifying relationships exist in the repository, they will be found by a whole-project analysis.) (See Figure 4-38 of the Workbench manual.)

To resolve the warning, check to be sure that on some diagram this associative entity has two identifying relationships. If it does, then ignore this warning. It is a good practice to include both identifying relationships on all views where an associative entity appears.


Attributive Entity 'X' has no identifying Relationship in this view.
WARNING	Attributive Entity 'X' has no identifying Relationship in this view.

The above warning exists to warn you that the identifying relationship for an attributive entity might not exist. (This error only happens when you are analyzing a single diagram. If the identifying relationship exists in the repository, it will be found by a whole-project analysis.) See the figure.

To resolve the warning, check to be sure that on some diagram this attributive entity has an identifying relationship. If it does, then ignore this warning. It is a good practice to include the identifying relationship on all views where an attributive entity appears.


Entity 'X' has no primary key defined.
ERROR	Entity 'X' has no primary key defined.

The above error indicates that there is no data element listed in the composition field of this entity marked with [PK] to indicate that it is the primary key for the relationship.

To resolve the error for a fundamental entity, be sure that at least one data element is listed in the composition field of this entity marked with [PK]. To resolve the error for an associative entity, run Key Synchronization. This will migrate the keys from fundamental or other associative entities.


Foreign key does not exist for Relationship 'X'.
ERROR	Foreign key does not exist for Relationship 'X'.

The above error indicates that a primary key has not been migrated across a relationship to form a foreign key in another entity.

To resolve the error, you can either add a data element name preceded by [FK] to the composition field of the indicated entity or run Key Synchronization and let the Workbench do it for you.


Foreign key 'X' for Entity 'Y' already exists as Associator/Element.
ERROR	Foreign key 'X' for Entity 'Y' already exists as Associator/Element.

The above error indicates that both an associator element name and a foreign key with the name of the primary key of the related entity have been added to the composition field of an entity.

To resolve the error, run Key Synchronization and it will leave the name of the associator element as the only name for the foreign key name.


Duplicate foreign key 'X' for Entity 'Y'.
ERROR	Duplicate foreign key 'X' for Entity 'Y'.

The above error indicates that there are two foreign keys with the same name listed in the composition field of an entity.

To resolve the error, either eliminate the duplicate or run Key Synchronization again and the Workbench will delete the duplicate for you.


Foreign key 'X' for Entity 'Y' has Associator/Element defined.
WARNING	Foreign key 'X' for Entity 'Y' has Associator/Element defined.

The above warning indicates that an associator element name has been added to a relationship since a foreign key was added to the composition field of an entity.

To resolve the warning, run Key Synchronization and it will substitute the name of the associator element for the existing foreign key name.


Associative Entity 'X' has less than two foreign keys as primary key.
ERROR	Associative Entity 'X' has less than two foreign keys as primary key.

The above error either means that there are less than two identifying relationships for an associative entity or the primary and/or foreign keys for existing identifying relationships have not been identified in the composition field of the associative entity.

To resolve the error, be sure that both identifying relationships exist, that each identifying entity has primary keys defined and that the keys have been migrated to form foreign keys in the associative entity. Key Synchronization will accomplish at least this last step.


Attributive Entity 'X' has no unique primary key.
ERROR	Attributive Entity 'X' has no unique primary key.

The above error indicates that either no primary key or one that is not unique has been defined for the named attributive entity. Attributive entities must be able to refer back to one and only one fundamental entity.

To resolve the error, add a unique primary key.


Entity 'X' has cyclic definition -- primary key cannot be determined.
ERROR	Entity 'X' has cyclic definition -- primary key cannot be determined.

The above error indicates that an associative entity is the identifying entity for another associative entity which is, in turn, an identifying entity for this associative entity. There could possibly be a chain of associative entities between them, still resulting in a cyclic definition. See the figure.

To resolve the error, make sure that there are no cyclic identifying relationships in your project.


Unattached Relationship 'X'.
ERROR	Unattached Relationship 'X'.

The above error should never happen in the normal course of things, because Workbench rules will not allow you to draw and name an unattached relationship. Also, if you detach a relationship from an entity or delete an attached entity, the name on the relationship will be cleared. (If the relationship has locations on other views, only this location will be cleared.) However, a corrupted file, such as from a power surge or system lockup at a critical time, could leave a relationship unattached.

To resolve the error, display the diagram on which the error occurred and delete the relationship. Then run the Rebuild function to restore synchronization between the repository and the diagram. Finally, add the properly attached relationship back to the diagram.


Attributive Entity 'X' has no foreign key as primary key.
ERROR	Attributive Entity 'X' has no foreign key as primary key.

The above error either means that there is no identifying relationship for an attributive entity or the primary and/or foreign key for an existing identifying relationship has not been identified in the composition field of the attributive entity.

To resolve the error, be sure that an identifying relationship exists, that the identifying entity has a primary key defined and that the key has been migrated to form the foreign key in the attributive entity. Key Synchronization will accomplish at least this last step.


Foreign key 'X' for Entity 'Y' does not have corresponding Relationship.
ERROR	Foreign key 'X' for Entity 'Y' does not have corresponding Relationship.

The above error indicates that a foreign key has been identified in the repository entry for an entity, but that there is no relationship in a view that corresponds to this foreign key.

To resolve the error, add a relationship from another entity that has a primary key (or a relationship with an associator element name) to correspond to the foreign key in the current entity.


Primary key for fundamental Entity 'X' contains foreign key.
ERROR	Primary key for fundamental Entity 'X' contains foreign key.

The above error indicates that both a primary and a foreign key have been identified for a fundamental entity.

To resolve the error, either change the symbol for the entity so that it is no longer a fundamental entity or eliminate the [FK] notation in the composition field of the fundamental entity.


Primary foreign key created for Relationship 'X'.
KEY SYNC	Primary foreign key created for Relationship 'X'.

The above message is not an error. It exists to notify you that Key Synchronization migrated a key across an identifying relationship.


Foreign key created for Relationship 'X'.
KEY SYNC	Foreign key created for Relationship 'X'.

The above message is not an error. It exists to notify you that Key Synchronization migrated a key across a non-identifying relationship.


Data Element 'X' is not used on data flow diagram.
ERROR	Data Element 'X' is not used on data flow diagram.

The above error is generated when the process model/data model balancing criterion that all data elements must be used has been set. It means that the specified data element is not used by a process anywhere on any data flow diagram.

To resolve the error, be sure that the data element is listed in the composition field of some data flow that either enters or leaves a process on at least one data flow diagram.


Data Element 'X' has data type not supported by selected SQL dialect.
ERROR	Data Element 'X' has data type not supported by selected SQL dialect.

The above error indicates that the physical information for the named data element specifies a data type that is not supported by the SQL dialect you have chosen. Correct SQL definition statements cannot be produced.

To resolve the error, bring up the physical information page for the data element and open the Type box. Data types marked with an i are valid for the current SQL dialect. Select one so marked for the data type of the element.


Physical information for Data Element 'X' does not specify length.
ERROR	Physical information for Data Element 'X' does not specify length.

The above error indicates that the physical information for the named data element does not specify a length. Certain data types require a length for correct SQL definition statements to be produced.

To resolve the error, display the physical information section for the data element and enter a length.


Entity 'X' has no corresponding File.
ERROR	Entity 'X' has no corresponding File.

The above errors are generated when the process model/data model balancing criterion that every entity must correspond to a file with the same composition has been configured. It either means that the specified entity does not correspond to a file in the process model or that the compositions of the entity and the intended corresponding file differ. The message occurs for the Yourdon methodology.

To resolve the error, be sure that there is a file in the process model with the same elemental composition as the named entity.


Entity 'X' has no corresponding Data Store.
ERROR	Entity 'X' has no corresponding Data Store.

The above error is generated when the process model/data model balancing criterion that every entity must correspond to a data store with the same composition has been configured. It either means that the specified entity does not correspond to a data store in the process model or that the compositions of the entity and the intended corresponding data store differ. The message occurs for the Gane and Sarson methodology.

To resolve the error, be sure that there is a data store in the process model with the same elemental composition as the named entity.


Entity 'X' has no composition defined.
ERROR	Entity 'X' has no composition defined.

The above error indicates that no composition has been defined for the entity. Since balancing entities against data stores is based upon identifying identical compositions, balancing cannot be done.

To resolve the error, add composition information.


Primary key for Table 'X' cannot be identified.
ERROR	Primary key for Table 'X' cannot be identified.

The above error indicates that either no primary key has been specified or that the data element named as the primary key has no physical information specified. Correct SQL definition statements cannot be produced.

To resolve the error, either specify a primary key or correct the one that is specified.


Columns for Table 'X' cannot be identified.
ERROR	Columns for Table 'X' cannot be identified.

The above error indicates that composition information for the entity that generates the identified table has not been supplied. Correct SQL definition statements cannot be produced.

To resolve the error, supply composition information for the entity.


Entity 'X' is involved in a cyclic supertype/subtype relationship.
ERROR	Entity 'X' is involved in a cyclic supertype/subtype relationship.

The above error indicates that two supertype relationships exist between a pair of entities, where the supertype and subtype entities are different for each relationship. There could possibly be a chain of entities between them, still resulting in a cyclic definition. See the figure.

To resolve the error, make sure that there are no cyclic supertype relationships in your project.


Not all subtype group members for entity 'X' are shown in this view.
WARNING	Not all subtype group members for entity 'X' are shown in this view.

The above warning exists to warn you that all the subtypes that have been defined for a supertype are not shown on a diagram. A supertype can have more than one subtype, and further, the subtypes can be grouped together. When a set of supertype relationships have the same origin point on the supertype, they are considered members of the same group. There is no limit to the number of groups that can be defined for a supertype.

To resolve the warning, check to be sure that all subtypes of a particular group are shown with all instances of the supertype and other members of the group.


A non-supertype/subtype relationship exists between 'X' and 'Y'.
WARNING	A non-supertype/subtype relationship exists between 'X' and 'Y'.

The above warning exists to warn you that there is both a supertype and normal relationship between a pair of entities. If a supertype relationship is defined, there should not be another type of relationship between the parent entity and any of the children defined by the supertype structure.

To resolve the warning, remove the non-supertype/subtype relationship.


Syntax error in cardinality detail string ( position 'n' ) for relationship 'X' between entities 'Y' and 'Z'.
ERROR	Syntax error in cardinality detail string ( position 'n' ) for relationship 'X' between entities 'Y' and 'Z'.

In addition to specifying cardinality of a relationship using notation on the relationship line, you can specify a specific quantity in the detail field using numbers or a set of intervals, such as 1, 1+, 1-3, or 2,4,6. If this quantity does not conform to the correct syntax or it differs from the notation specified on the line, this error message will be generated.

To resolve the error, change the detail to conform to the correct syntax and make sure it is consistent with the drawn cardinality.


Syntax error in cardinality detail string ( position 'n' ) for reverse relationship 'X' between entities 'Y' and 'Z'.
ERROR	Syntax error in cardinality detail string ( position 'n' ) for reverse relationship 'X' between entities 'Y' and 'Z'.

In addition to specifying cardinality of a relationship using notation on the relationship line, you can specify a specific quantity in the detail field using numbers or a set of intervals, such as 1, 1+, 1-3, or 2,4,6. If this quantity does not conform to the correct syntax or it differs from the notation specified on the line, this error message will be generated.

To resolve the error, change the detail to conform to the correct syntax and make sure it is consistent with the drawn cardinality.


Class 'X' has no attributes defined.
ERROR	Class 'X' has no attributes defined.

The above error indicates that no attributes have been defined in the repository for the indicated class. Classes with a subtype of Structure or Union must have attributes in order to have a valid definition. All other class subtypes are not required to have attributes, but in most cases a class without attributes should be defined as an elemental class.

To resolve the error, specify at least one attribute for the class.


Class 'X' has no methods defined.
ERROR	Class 'X' has no methods defined.

The above error (or in some cases warning) indicates that no methods have been defined in the repository for the indicated class. Classes with a subtype of Standard must have methods in order to have a valid definition, while those with an entity subtype should have methods defined, but they are not required.

To resolve the error, specify at least one method for the class.


Class[Element] X' is undefined
ERROR	Class[Element] X' is undefined

The above error indicates that the physical information for the named elemental class has not been specified.

To resolve the error, bring up the physical information page for the class and open the Type box to select a data type.


Class 'X' is involved in cyclic inheritance relationship
ERROR	Class 'X' is involved in cyclic inheritance relationship.

The above error indicates that two inheritance relationships exist between a pair of classes, where the base class and the derived class are different for each relationship. There could possibly be a chain of entities between them, still resulting in a cyclic definition. See the figure.

To resolve the error, make sure that there are no cyclic inheritance relationships in your project.


There are X unnamed Class(es).
ERROR	There are X unnamed Classes(es).

This error message is the result of not labeling classes on your class diagram(s).

To resolve the error, find and label them.


Role names have not been assigned for relationship 'X' between 'A' and 'B'.
ERROR:	Role names have not been assigned for relationship 'X' between 'A' and 'B'.

When a non-inheritance relationship exists between a pair of classes, roles are used to create unique members to provide the linkage between the classes. The type and cardinality of the relationship determine whether roles are required or optional. In all cases, at least one role name must be specified, typically on the child class.

To resolve the error, open a diagram that contains the relationship, select it and open the Change Item dialog box. Add the required role name(s) based on the type of relationship.


A non-inheritance relationship exists between 'X' and 'Y'.
WARNING	A non-inheritance relationship exists between 'X' and 'Y'.

The above warning exists to warn you that there is both an inheritance and normal relationship between a pair of classes. If an inheritance relationship is defined, there should not be another type of relationship between the base class  and any of the derived classes defined by the inheritance structure.

To resolve the warning, remove the non-inheritance relationship.


Syntax error in cardinality detail string ( position 'n' ) for relationship 'X' between classes 'Y' and 'Z'.
ERROR	Syntax error in cardinality detail string ( position 'n' ) for relationship 'X' between classes 'Y' and 'Z'.

In addition to specifying cardinality of a relationship using notation on the relationship line, you can specify a specific quantity in the detail field. If this quantity does not conform to the syntax defined by OMT or it differs from the notation specified on the line, this error message will be generated.

To resolve the error, change the detail to conform to the OMT syntax and make sure it is consistent with the drawn cardinality.


Syntax error in cardinality detail string ( position 'n' ) for reverse relationship 'X' between classes 'Y' and 'Z'.
ERROR	Syntax error in cardinality detail string ( position 'n' ) for reverse relationship 'X' between classes 'Y' and 'Z'.

In addition to specifying cardinality of a relationship using notation on the relationship line, you can specify a specific quantity in the detail field. If this quantity does not conform to the syntax defined by OMT or it differs from the notation specified on the line, this error message will be generated.

To resolve the error, change the detail to conform to the OMT syntax and make sure it is consistent with the drawn cardinality.


Set of relationships for class X' is incorrect.
ERROR	Set of relationships for class X' is incorrect.

This error indicates that a class appearing on several diagrams, has both inheritance and aggregation relationships attached, but not all relationships are shown on all diagrams.

To resolve the error, check to be sure that all relationships for the class are shown on all diagrams that the class appears.


Class 'X' has no aggregation attributes defined.
ERROR:	Class 'X' has no aggregation attributes defined.

When an aggregation relationship exists between a pair of classes, an instance of the child class should exist in the member list of the parent class to provide the linkage between the classes.

To resolve the error, you have two options: 1) open a diagram that contains the aggregation relationship for the class, select it and open the Change Item dialog box, and then add a role name to the child class; or 2) select the class and open the Define dialog box and add the child class as a member.


Maximum cardinality for relationship 'X' specified by syntax (n) exceeds diagram specified cardinality of 0 or 1.
ERROR	Maximum cardinality for relationship 'X' specified by syntax (n) exceeds diagram specified cardinality of 0 or 1

If information is entered in the Cardinality Detail field, it must be compatible with the notation on the relationship line. You can specify a specific quantity in the detail field using numbers or a set of intervals, such as '0,1' or '0-1'. This message will be generated if the values entered are greater than one.

To resolve the error, select the indicated relationship, open the Change Item dialog box, and change the Detail field so that is matches the notation.


Maximum cardinality for relationship 'X' specified by syntax (n) limits diagram specified cardinality of many.
ERROR	Maximum cardinality for relationship 'X' specified by syntax (n) limits diagram specified cardinality of many.

If information is entered in the Cardinality Detail field, it must be compatible with the notation on the relationship line. You can specify a specific quantity in the detail field using numbers or a set of intervals, such as '3', '1-6', or '1+'. This message will be generated if the values entered are less than two.

To resolve the error, select the indicated relationship, open the Change Item dialog box, and change the Detail field so that is matches the notation.


Minimum cardinality for relationship 'X' specified by syntax (n) does not equal diagram specified cardinality of one.
ERROR	Minimum cardinality for relationship 'X' specified by syntax (n) does not equal diagram specified cardinality of one.

If information is entered in the Cardinality Detail field, it must be compatible with the notation on the relationship line. You can specify a specific quantity in the detail field using numbers or a set of intervals, such as '1', '1-6', or '1+'. This message will be generated if the minimum value entered is not one.

To resolve the error, select the indicated relationship, open the Change Item dialog box, and change the Detail field so that is matches the notation.


Minimum cardinality for relationship 'X' specified by syntax (n) exceeds diagram specified cardinality of zero.
ERROR	Minimum cardinality for relationship 'X' specified by syntax (n) exceeds diagram specified cardinality of zero.

If information is entered in the Cardinality Detail field, it must be compatible with the notation on the relationship line. You can specify a specific quantity in the detail field using numbers or a set of intervals, such as '0,1', '0-1', or '0,3+'. This message will be generated if the minimum value entered is not zero.

To resolve the error, select the indicated relationship, open the Change Item dialog box, and change the Detail field so that is matches the notation.


Old foreign key column 'x' in entity 'y' has been removed.
KEY SYNC	Old foreign key column 'x' in entity 'y' has been removed.

During the Key Synchronization, a column that had been marked as a foreign key was removed because it no longer appeared as a key column in the parent entity, or the relationship to which the key belonged was deleted.


Old foreign key column 'x' in entity 'y' has been removed from the primary key.
KEY SYNC	Old foreign key column 'x' in entity 'y' has been removed from the primary key.

During the Key Synchronization process, a column that had been marked as a primary foreign key was removed because it no longer appeared as a key column in the parent entity, or the relationship to which the key belonged was deleted.


Column 'x' in entity 'y' is used by overlaping foreign keys with conflicting types.  Relationship 'z' will no longer use...
KEY SYNC	Column 'x' in entity 'y' is used by overlapping foreign keys with conflicting types.  Relationship 'z' will no longer use this column.

The above message exists to notify you that Key Synchronization removed a foreign key from the child table because the same name was used by more than one relationship but the definition was different ( physical information differs ). A new column will be added for the conflicting key column.


Definition for column 'X' in entity 'Y' has been updated for relationship 'Z'.
KEY SYNC	Definition for column 'X' in entity 'Y' has been updated for relationship 'Z'.

The above message is not an error. It exists to notify you that Key Synchronization changed the definition of a foreign key column because the definition in the child was different from the parent.


Column 'X' in entity 'Y' has been added to the foreign key of relationship Z.
KEY SYNC	Column 'X' in entity 'Y' has been added to the foreign key of relationship Z

The above message is not an error. It exists to notify you that Key Synchronization migrated a key across a non-identifying relationship.


Foreign key for relationship 'X' is wholly dependent on the foreign key of relationship 'Y' in entity Z.
ERROR	Foreign key for relationship 'X' is wholly dependent on the foreign key of relationship 'Y' in entity Z

The above message indicates that one of the relationships attached to the indicated entity contains a subset of the foreign key columns used by the another relationship. This may indicate that the relationship may be drawn between the wrong pair of entities

To resolve the error, either remove the relationship, choose a different set of key columns for the relationship, or redraw the relationship with a different parent entity.


Foreign key for relationship 'X' shares column(s) with the foreign key of relationship 'Y' in entity Z.
WARNING	Foreign key for relationship 'X' shares column(s) with the foreign key of relationship 'Y' in entity Z

The above message is not an error. It exists to notify you that Key Synchronization migrated the same key column across multiple relationships because the same key column name was used in more than one entity. This will happen as long as all columns have the same physical characteristics.


Foreign key for relationship 'X' should not be a component of the primary key of entity Y.
ERROR	Foreign key for relationship 'X' should not be a component of the primary key of entity Y

The above message indicates that the columns of the foreign key are marked as members of the primary key for the dependent entity. This should only be true when the relationship is identifying and the entity type of the dependent entity is either Associative or Attributive.

To resolve the error, either remove the columns from the primary key list, or select the indicated relationship, open the Change Item dialog box, and change the relationship type to identifying.


Definition for column 'X' in entity 'Y' conflicts with the definition of the matching column on relationship 'Z'.
ERROR	Definition for column 'X' in entity 'Y' conflicts with the definition of the matching column on relationship 'Z'

The above message indicates that a column that is part of the foreign key list has a different set of physical characteristics from the corresponding primary key in the parent table.

To resolve the error, change the physical characteristics of one of the columns to match the other.


Extra primary key column 'x' in entity 'y' has been removed from the primary key because of singular relationship 'z'.
KEY SYNC	Extra primary key column 'x' in entity 'y' has been removed from the primary key because of singular relationship 'z'

The above message is not an error. It exists to notify you that Key Synchronization removed a column from the primary key. For supertype relationships and identifying relationships where the cardinality is singular, the primary key of the child must exactly match the primary key of the parent. This means all members of the primary key must be foreign key columns. The extra column will be removed from the primary key; the column is not deleted from the entity.


Old foreign key column 'x' in entity 'y' should be removed.
ERROR	Old foreign key column 'x' in entity 'y' should be removed.

The above error message indicates a column that had been marked as a foreign key should be removed from the entity because it no longer appears as a key column in the parent entity, or the relationship to which the key belonged was deleted.

To resolve the error, remove the column from the composition field, or perform Key Synchronization.


Old foreign key column 'x' in entity 'y' should be removed from the primary key.
ERROR	Old foreign key column 'x' in entity 'y' should be removed from the primary key.

The above error message indicates a column that had been marked as a primary foreign key should be removed from the entity because it no longer appears as a key column in the parent entity, or the relationship to which the key belonged was deleted.

To resolve the error, remove the column from the composition field, or perform Key Synchronization.


Definition for column 'X' in entity 'Y' should be updated for relationship 'Z'.
ERROR	Definition for column 'X' in entity 'Y' should be updated for relationship 'Z'.

The above error message indicates that the type or physical characteristics of a foreign key column in the child was different from the parent.

To resolve the error, change the definition in the dependent entity, or perform Key Synchronization.


Extra primary key column 'x' in entity 'y' should be removed from the primary key because of singular relationship 'z'.
ERROR	Extra primary key column 'x' in entity 'y' should be removed from the primary key because of singular relationship 'z'

The above message indicates that there are columns included in the primary key that should not be used. For supertype relationships and identifying relationships where the cardinality is singular, the primary key of the child must exactly match the primary key of the parent. This means all members of the primary key must be foreign key columns.

To resolve the error, remove the non-foreign key members of the primary key, or perform Key Synchronization which will remove the extra column from the primary key. The column will not be deleted from the entity.


Column 'x' in entity 'y' is used by overlaping foreign keys with conflicting types.  Relationship 'z' should no longer use...
ERROR	Column 'x' in entity 'y' is used by overlapping foreign keys with conflicting types.  Relationship 'z' should no longer use this column.

The above message indicates the same foreign key column was used by more than one relationship but the definition was different ( physical information differs ).

To resolve the error, add a new column for the conflicting key column or perform Key Synchronization.