Emails not sending out of CRM, results in an exception message related to export definitions.

When trying to send a Direct Marketing Effort and an Export Definition is attached to the Marketing effort the Job fails with an exception message: 

Exception]

System.ArgumentException: Column '' does not belong to table Table.

at System.Data.DataRow.GetDataColumn(String columnName)

at System.Data.DataRow.get_Item(String columnName)

at Blackbaud.Web.Content.Core.BBDM_DataProvider.GetFieldById(Int32 fieldid, Int32 AttributeID)

at Blackbaud.Web.Content.Core.EmailJob.AddMergeRowDataForRecipient2(String sRecipientKey, IDataProvider[] oData)

at Blackbaud.Web.Content.Core.EmailJob.PopulateMergeDataForRecipient2(String sKey, String sSourceKey, IDataProvider oData, String sEmailAddress, String sEmailDisplayName, Boolean bGlobalOptedOut, Int32 UserID, Int32 AddressBookid, Int32 BackOfficeRecordID, Int32 BackOfficeSystemID)

at Blackbaud.Web.Content.Core.EmailJob.PopulateRecipient2(IDataProvider oRecipient, String sKey, String sSourceKey)

at Blackbaud.Web.Content.Core.EmailJob.ProcessBBDM_List(String sSourceKey, IDataSource oDS, EmailList oList)

at Blackbaud.Web.Content.Core.EmailJob.ProcessList(Int32 iListID)

at Blackbaud.Web.Content.Core.EmailJob.ProcessAddressees()

at Blackbaud.Web.Content.Core.EmailJob.DoProcessMailBlast()

at Blackbaud.Web.Content.Core.EmailJob.ProcessMailBlast()

at Blackbaud.AppFx.ContentManagement.Platform.Email.Catalog.LegacyListProcessorWrapper.PrepareForProcessing()

at Blackbaud.AppFx.ContentManagement.Platform.Email.Catalog.LegacyDataProcessor.BuildSelectionSQL()

at Blackbaud.AppFx.ContentManagement.Platform.Email.Catalog.LegacyDataProcessor.BuildRecipientsSelectionSQL()

at Blackbaud.AppFx.ContentManagement.Platform.Email.Catalog.EmailDataProcessorBase.GetRecipientsSelectionSQL()

at Blackbaud.AppFx.ContentManagement.Platform.Email.Catalog.EmailProcessor.ProcessEmail()

at Blackbaud.AppFx.ContentManagement.Platform.Email.Catalog.ProcessCMSEmailBusinessProcess.StartBusinessProcess()

 

We’re currently evaluating this issue for a fix in a future service pack. 

Steps to Duplicate

1. Go to Marketing and communication.
2.  Under Marketing Efforts select Direct Marketing Efforts.
3.  Click Add.
4. Select the default e-mailing template.
5. Click next.
6. Select launch time and add a description.
7. Click Save.
8. Add a segment.
9. Calculate segment counts.
10. add an export definition by going to the Effort settings, then the export tab.
11. Add an export definition
12. Activate the Marketing Effort. Note it completes successfully in CRM.
13. Navigate to BBIS.
14. Navigate to the effort in question.
15. Note it fails with exception message:

Exception]

System.ArgumentException: Column '' does not belong to table Table.

at System.Data.DataRow.GetDataColumn(String columnName)

at System.Data.DataRow.get_Item(String columnName)

at Blackbaud.Web.Content.Core.BBDM_DataProvider.GetFieldById(Int32 fieldid, Int32 AttributeID)

at Blackbaud.Web.Content.Core.EmailJob.AddMergeRowDataForRecipient2(String sRecipientKey, IDataProvider[] oData)

at Blackbaud.Web.Content.Core.EmailJob.PopulateMergeDataForRecipient2(String sKey, String sSourceKey, IDataProvider oData, String sEmailAddress, String sEmailDisplayName, Boolean bGlobalOptedOut, Int32 UserID, Int32 AddressBookid, Int32 BackOfficeRecordID, Int32 BackOfficeSystemID)

at Blackbaud.Web.Content.Core.EmailJob.PopulateRecipient2(IDataProvider oRecipient, String sKey, String sSourceKey)

at Blackbaud.Web.Content.Core.EmailJob.ProcessBBDM_List(String sSourceKey, IDataSource oDS, EmailList oList)

at Blackbaud.Web.Content.Core.EmailJob.ProcessList(Int32 iListID)

at Blackbaud.Web.Content.Core.EmailJob.ProcessAddressees()

at Blackbaud.Web.Content.Core.EmailJob.DoProcessMailBlast()

at Blackbaud.Web.Content.Core.EmailJob.ProcessMailBlast()

at Blackbaud.AppFx.ContentManagement.Platform.Email.Catalog.LegacyListProcessorWrapper.PrepareForProcessing()

at Blackbaud.AppFx.ContentManagement.Platform.Email.Catalog.LegacyDataProcessor.BuildSelectionSQL()

at Blackbaud.AppFx.ContentManagement.Platform.Email.Catalog.LegacyDataProcessor.BuildRecipientsSelectionSQL()

at Blackbaud.AppFx.ContentManagement.Platform.Email.Catalog.EmailDataProcessorBase.GetRecipientsSelectionSQL()

at Blackbaud.AppFx.ContentManagement.Platform.Email.Catalog.EmailProcessor.ProcessEmail()

at Blackbaud.AppFx.ContentManagement.Platform.Email.Catalog.ProcessCMSEmailBusinessProcess.StartBusinessProcess()

 

Environment

 Blackbaud CRM
 4.0
 4.0.168

Was this article helpful?