Tag Archives: Batch

Batch API – error with tempRecords is nothing

“Nothing :
Init method must be called before using this object.” My colleague was testing a new application that I have written for a client. Every so often she would tell me that this error message was appearing in the control report. Everything else appeared to work. Just what did this mean? It was one of those classic RE error messages that means nothing. When I started to debug the problem I saw the error quite soon. Again it was one of those Batch API idiosyncrasies that just needed to be dealt with.

I was creating several gifts in a batch. I was looping through the gifts and creating each one.

For Each donation In donations
    tempRecords = CType(batch.TempRecords, Blackbaud.PIA.RE7.BatchData.CTempRecords)
    PopulateOneGift(constitSysId, batch, tempRecords.Add, donation)
    tempRecords.Save()
 Next

The error occurred on the second iteration of the loop. Whenever the tempRecords.Add
was called the error was raised. This was strange because normally you get this kind of error when you have not initialized the object or done a Closedown on it. Anyway the solution to add one line before calling the Add:

For Each donation In donations
    tempRecords = CType(batch.TempRecords, Blackbaud.PIA.RE7.BatchData.CTempRecords)
    tempRecords.Reload()
    PopulateOneGift(constitSysId, batch, tempRecords.Add, donation)
    tempRecords.Save()
 Next

That seemed to fix the problem.

EDIT: or so I thought. It appears as though it worked once then failed after that. I have now resorted to saving and closing the batch after each iteration and then opening it up again at the beginning. Ah the joys of the batch API.

Enter Actions in Batch with a new plug-in

Zeidman Development are pleased to announce the release of our latest plug-in for The Raiser’s Edge – BatchIt:Action

BatchIt:Action allows you to enter actions en masse in a batch. This is the first of a series of modules in the Batch:It range.

Efficiency
Entering actions one by one is slow. Importing actions in one go is not always practical. BatchIt:Action provides the solution to simply and efficiently entering accurate data.

Templates
Create templates for different types of actions. For example, do you use actions to represent an event, or a request for information. Populate the template with defaults and hide pre-populated fields just as you would in a gift batch.

Custom Validation
For users with advanced requirements set up a custom validation file that implements your organisation’s business rules. Does your event actions always need a t-shirt size? Should a phone action be prevented if the phone number is international? Create custom validation rules to enforce this or let us help you create them. (Requires coding skills, additional custom validation module required)

Demo
More information can be found on our website where you can download a fully working version tied to the Sample database. There is also a screen-cast showing BatchIt:Action in use. If you have any questions then please contact us.

Small improvements that I like about Blackbaud Enterprise CRM

Blackbaud Enterprise CRM (eCRM or BBEC as it seems to be called interchangeably) is enormous. It is a big change to The Raiser’s Edge but then that is not surprising as it is not actually the replacement for The Raiser’s Edge 7. It is an application way beyond RE 7. Nevertheless you cannot help comparing the two as long as there is no RE8 to compare to. As a software developer it is a whole new paradigm. Of course even if you know how to develop software customisations for BBEC you still need to know how the program works from a user perspective. That is why I am not only learning a new development environment but I am learning a whole new program. Some of the concepts are very similar, some are different. As I learn I have come across some quite small changes that, for whatever reason, fill me with a “wow that’s great” feeling. These are not earth shattering improvements but just things that I am sure people will appreciate. So this post is dedicated to the small differences. Continue reading Small improvements that I like about Blackbaud Enterprise CRM

Integrating Raiser’s Edge with non-Blackbaud Products

A lot of the work that I do involves the integration of third party products with The Raiser’s Edge. It is not always right to develop a custom application to perform this integration. There are many factors including the volume of data transfer, the complexity of data, how quickly the data needs to be integrated and of course what budget is available. This article attempts to outline the options available to Raiser’s Edge managers who need to integrate with non-Blackbaud products.

Continue reading Integrating Raiser’s Edge with non-Blackbaud Products

Battling on with the Batch API

I have on several occasions expressed my delight about the arrival of the Batch API. I am still enthusiastic but somewhat war weary having spent this passed week trying to solve problems that have appeared. Clearly the Batch API was not rigorously tested before it was released as otherwise the sort of errors I am getting would not have appeared. In case you have been struggling too or in case you thinking about using this functionality here is what I have been up against.
Continue reading Battling on with the Batch API

Using the Batch API with Notepads or Attributes

I have started to use the Batch API in earnest now. I have said previously that it is a great long overdue piece of functionality but I am beginning to understand why it was never included earlier. As with much of the API the newly added Batch API is not well documented. A good example of how to use it was given and can be found on Blackbaud’s knowledgbase (BB418575) but it is somewhat limited. It does not explain for example how to add an attribute or a notepad to a gift batch. This was discussed on a Blackbus thread.  Adding the items to the batch header was quite straight forward but adding the actual values proved more difficult. Here I try to shed some light on the process.

Continue reading Using the Batch API with Notepads or Attributes

Validating a Constituent Batch

Previously I have integrated Quick Address from QAS with The Raiser’s Edge. I implemented their pro API in order to validate the address on saving the constituent/relationship/participant and on demand using the VBA macro button. I created a plugin to update addresses en masse using their batch API. I implemented their pro API to create a “silent” validation during import. The one thing that I didn’t do at the time was to validate addresses in a constituent batch. At the time this was not a requirement.

Continue reading Validating a Constituent Batch