When I first started out working with Raisers Edge API I realised that I was reusing many routines over and over and that would it not be better to create my own tools class so that I would not reinvent the wheel. Over the years I have added items to this class that I have found useful and have developed older items in order to do more things. In this post I will share with you some of the items that I find invaluable. Continue reading
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.
I had an error that bugged me for a while when I could not work out what the problem was.
I had a list of gifts that I wanted to create on different constituents. I had the constituent id, the date, amount, fund, appeal, campaign, everything that I thought was required.
I got the following error message when trying to save the newly created gift:
Required Field Missing: Fund
One common complaint about the API is that it is poorly documented. I found that out myself when I went to use the gift filter object. This is a powerful object that allows you to filter a collection of gifts by its properties. The filter object has very many properties but very few of them are documented. There is one knowledgebase article and one FAQ entry showing how to use it.
One issue that I frequency encounter was raised as a post on the forum for a similar problem:
When you create a gift you need to add a fund, campaign and appeal. The problem is that the values on the gifts are dependant on the user options of the person running the code. When I first encountered this problem I was amazed that this could have been programmed in this way.