Object reference not set to an instance of an object" on batch with data form extension exists"

I believe I have found a bug which kills import functionality for all batch types in 2.93 when a data form extension exists on either of the following screens:

Import Process Wizard Add Form (7d673f5b-274e-45de-bc8e-94c9fc2a1c56)

Import Process Wizard Edit Form (40671176-00dc-4a2c-829e-4bba5f01bfeb)

What’s happening is that the first hosted UIModel on either of these forms has its values saved into a ParametersXML column on the IMPORTPROCESS table (this appears to be a new column). During the import business process, on line 883 of Blackbaud.AppFx.Platform.Catalog.ImportProcess.vb the following code examines the values of what was saved in that ParametersXML, but does not check first to see if it’s null/nothing first.

' MAB Set the batch process parameter values

If _processParameters.BatchParameters IsNot Nothing Then

For Each parameterField In _processParameters.BatchParameters.Values

Dim formField As XmlTypes.FormField = _processParameters.BatchFormMetaData.GetFormFieldByID(parameterField.ID)

If formField.DataType = XmlTypes.FormFieldDataType.XML Then

SetFieldOnDataFormItem(row.DataFormItem, formField, DirectCast(parameterField.Value, Blackbaud.AppFx.XmlTypes.DataForms.DataFormItemArrayValue).ToCollectionFieldXml(formField))

Else

SetFieldOnDataFormItem(row.DataFormItem, formField, parameterField.Value)

End If

Next

End If

The highlighted line above fails with "Object reference not set to an instance of an object" for every row in the batch, for all import templates on the system.

Download and install the latest patch, which contains all fixes from previous patches. If you are running an older version, download and install the latest version and then the patch. 

Environment

 2.93.2034
 2.93.2034, patch 11

Was this article helpful?