Solution - ArcFM - Conduit Manager error "Invalid column name 'ULSObjectID' "

Version 8

    Behavior

     

    Attempting to associate a conductor to a conduit results in the following error message:

     

    mmUlsFrameworkUI

    Run-time error '-2147216086 (8004152a)':

    frmEditUIsAssocations.frm.cmdOK_Click:

    -2147216086: frmEditULsAssocations.frm.SaveULSRelationships:

    -2147216086:

    frmEditUIsAssociations.frmSaveULSSsubDuctRelationships:

    -2147216086

    frmEditUIsAssociations.frmSaveULSSsubDuctRelationships:

    modCommon.UpdateCableRelationshipshipmodCommon.GetExistingRows

    ForCableAttribute column not found [42S22:[Microsoft][SQL Server

    Native Client 10.0[(SQL Server)]Invalid column name 'ULSObjectID',]

    [fiber_electric.DBO.ConduitSystem_PriUG]#--2147216086

     

    This example is with SQL Server but the same general errors can also be seen with Oracle. The error is for conduit to PriUG; the error can be seen with any conduit to conductor (or cable) association. The error is seen the first time an attempt is made to associate a primary underground conductor to a conduit.

     

    Cause

     

    To relate a conductor (or cable) to a conduit requires a many to many relationship class to exist. Creating this class requires entering 4 different keys. In this case the key ULSObjectID was mistyped, it does not match the actual column name. You can verify this by right-clicking on the relationship in ArcCatalog and selecting Properties.

    The error includes the relationship name ConduitSystem_PriUG.

     

    Solution

     

    There is no edit option for  Esri relationships classes so you'll need to delete the existing relationship & create a new one. Any existing conduit to conductor (Primary Underground in this example) records will be lost.

     

    Conduit Manager Step 3: Create Relationship Classes  http://resources.arcfmsolution.com/10.2.1b/DesktopConfig/webframe.html#CM_Create_Relationship_Classes.html

     

    Conduit to Conductor relationship class

     

    Again I'm using the example of ConduitSystem to PriUG feature class.

     

    Origin: ConduitSystem feature class

    Destination: PriUG (Primary Underground) feature class

    Simple (not Composite) Many to Many attributed relationship. Attributed means fields are being added, add two long integer fields ULS_Position and PhaseDesignation during relationship creation.

    Origin Primary key: ObjectID from ConduitSystem

    Destination Primary key: ObjectID from PriUG feature class

    Conduit Foreign key: ULSObjectID

    PriUG Foreign key: UGObjectID

     

    How to create the relationship class in ArcCatalog

     

    Minerville sample data is used here.

     

    1. In ArcCatalog right-click on desired dataset > New > Relationship Class.

    2. I want all my conduit to conductor/cable relationships to be listed together so I use the same prefix for all like Conduit_ or ConduitSystem_.

     

    3. Type of relationship is Simple, not Composite.

    4. Relationship labels:  Actual names are not important, but leave default of None for direction of message propogation.

    5. Cardinality = M - N (many to many). If you selected Composite for relationship type in step #3 you won't have the option for many to many. It must be many to many.

    6. Must add two attributes, select radio button for Yes, I would like to add attributes to this relationship class

    7. Add the two fields here. There is no validation against the actual field name so be careful about typos to avoid having to create the relationship class again.

     

    8. Last step is adding the keys. Primary keys have a drop-down but foreign keys do not & can also be mistyped. It was this step that caused the error when the foreign key for ConduitSystem was typed in as something other than ULSObjectID.

    9. The last wizard screen is a summary of the relationship class. Double-check it for accuracy so you can go back if needed. Otherwise Finish.

     

     

    ConduiSystem_PriUG relationship class properties