Error: A .NET Framework error occurred during execution of user-defined routine or aggregate "USP_LOADSPEC" when using a constituent revenue amounts smart field in a Marketing Effort export definition

When saving a marketing effort export definition that includes a smart field based on a constituent revenue amounts smart field type, this error may occur when unmarking the Use short column headers checkbox on the Set Save Options tab. 

A .NET Framework error occurred during execution of user-defined routine or aggregate "USP_LOADSPEC": 
System.Exception: The field 'Efft_CONSTITUENTMARKETINGINFORMATION_CONSTITUENT_HOUSEHOLDSBELONGINGTO_HOUSEHOLDCONSTITUENT_SINGLELARGESTGIFTSMARTFIELD_CURRENCYID' referenced by 'Efft_CONSTITUENTMARKETINGINFORMATION_CONSTITUENT_HOUSEHOLDSBELONGINGTO_HOUSEHOLDCONSTITUENT_SINGLELARGESTGIFTSMARTFIELD_VALUE' does not exist as an output field.
System.Exception: 
   at Blackbaud.AppFx.XmlTypes.DataListSpec.ValidateColumnExists(String parentFieldID, String referencedFieldID, FormFieldDataType requiredType, DataListOutputFieldType[] outputFields)
   at Blackbaud.AppFx.XmlTypes.DataListSpec.Validate(DataListSpec spec)
   at Blackbaud.AppFx.XmlTypes.DataListSpec.CreateFromXML(String xml, Boolean bValidate)
   at Blackbaud.AppFx.Platform.SqlClr.DataListSpecClr.ProcessSpec(String specXml, Nullable`1 changeAgentID, SqlBoolean processPageAlterations, SqlBoolean skipValidation)
   at Blackbaud.AppFx.Platform.SqlClr.LoadSpec.LoadSpecInternal(String specTypeName, String specXmlText, SqlString itemName, Nullable`1 changeAgentId, SqlBoolean processPageAlterations, SqlBoolean skipValidation, SqlBoolean compareToExistingSpecXml)
   at Blackbaud.AppFx.Platform.SqlClr.LoadSpec.LoadSpecAsString(String specXmlText, Nullable`1 changeAgentID, SqlString sourceName, SqlString itemName, SqlBoolean loadAsDependency, SqlBoolean forceReload, SqlBoolean processPageAlterations, SqlBoolean skipValidation, SqlBoolean compareToExistingSpecXml)
   at Blackbaud.AppFx.Platform.SqlClr.LoadSpec.LoadSpec(SqlXml specXml, Nullable`1 changeAgentID, SqlString sourceName, SqlString itemName, SqlBoolean loadAsDependency, SqlBoolean forceReload, SqlBoolean processPageAlterations, SqlBoolean skipValidation, SqlBoolean compareToExistingSpecXml)
.
LOADSPEC ERROR:The field 'Efft_CONSTITUENTMARKETINGINFORMATION_CONSTITUENT_HOUSEHOLDSBELONGINGTO_HOUSEHOLDCONSTITUENT_SINGLELARGESTGIFTSMARTFIELD_CURRENCYID' referenced by 'Efft_CONSTITUENTMARKETINGINFORMATION_CONSTITUENT_HOUSEHOLDSBELONGINGTO_HOUSEHOLDCONSTITUENT_SINGLELARGESTGIFTSMARTFIELD_VALUE' does not exist as an output field.
We're currently evaluating this issue for a fix in a future release 

Workaround:

Mark the Use short column headers checkbox on the Set Save Options tab

Steps to Duplicate

  1. Create a smart field based on the Constituent revenue amounts type
  2. Create a new Direct Marketing Export Definition in Marketing and Communications
  3. Select the following field: constituent marketing information> constituent > households belonging to> household constituent > Smart Field> Value
  4. On the Set Save Options tab, unmark the box

Environment

 Blackbaud CRM
 4.0
 4.0.158.0

Was this article helpful?