I have been working with this code to add a solicitor to a gift during import but it is crashing IOM and I can't figure out why. It works some of the time, especially where there is a solicitor to set, but it crashes usually at the end of the import.
Any ideas?
' Set the solicitor if there is one
Dim oSols As New Blackbaud.PIA.RE7.BBREAPI.CAssignedSolicitors2
I would do this for ~every~ oSol inside the For Loop (make sure you get the one before exiting the For too):
oSol.CloseDown() oSol = Nothing
Calling oSols.CloseDown() does not close down each oSol inside it (I've learned that lesson several times).
Another note, is that tvf_Sol2_UseFilterObject parameter required? If not, you might just forego supplying that argument, it does not look like you're using a filter object.
Wayne Pozzar
Hi guys,
I have been working with this code to add a solicitor to a gift during import but it is crashing IOM and I can't figure out why. It works some of the time, especially where there is a solicitor to set, but it crashes usually at the end of the import.
Any ideas?
' Set the solicitor if there is one
Dim oSols As New Blackbaud.PIA.RE7.BBREAPI.CAssignedSolicitors2
' Load the constituent solicitors
oSols.Init(Import.SessionContext, oRec.Fields(Blackbaud.PIA.RE7.BBREAPI.ERECORDSFields.RECORDS_fld_ID), _
Blackbaud.PIA.RE7.BBREAPI.TopViewFilter_AssignedSolicitor2.tvf_Sol2_UseFilterObject)
' If there are solicitors, pull out the Relationship Manager
If oSols.Count > 0 Then
' Loop through solicitors to find the RM
For Each oSol As Blackbaud.PIA.RE7.BBREAPI.CAssignedSolicitor2 In oSols
If oSol.Fields(Blackbaud.PIA.RE7.BBREAPI.EASSIGNEDSOLICITOR2Fields.ASSIGNEDSOLICITOR2_fld_SOLICITOR_TYPE) = "Relationship Manager" Then
' Found an RM so set the ID in the import
Import.Fields.GetByName("Solicitor").Value = oSol.Fields(Blackbaud.PIA.RE7.BBREAPI.EASSIGNEDSOLICITOR2Fields.ASSIGNEDSOLICITOR2_fld_SOLICITOR_ID)
Exit For
End If
Next
End If
' Cleanup
oSols.CloseDown()
oSols = Nothing