Process Data

Data processing for a business process occurs within a .NET CLR class that exists within an assembly that is deployed on the Infinity web server. This code runs within the web services layer. Within this CLR class file, the parameter set values are retrieved and the processing on the data begins in earnest. How the processing occurs is up to you and the output data format is completely open.

A common practice is to use a QueryViewSpec to define the output format. A reference to a QueryViewSpec can be passed to the business process instance as a parameter within the parameter set. Different parameter sets can contain references to different QueryViewSpecs that in turn affect how the data is processed and which columns appear in the final output. For details, see Use a QueryViewSpec as a Parameter for Output Formatting.

Often business processes require a way to restrict the row set being processed. A best practice is to use a selection to accomplish this. A selection is a set of record IDs for a particular record type. A selection can be a static or unchanging list of record IDs, or it can be a dynamic list of record IDs that are derived when called upon by a business processSelections can be created using Blackbaud's query tool by first creating either an ad-hoc query or smart query and then saving the query results as a selection. For details, see Use a Selection as a Parameter to Restrict the Row Set

The output for a business process could be a new flat file, an XML file, or a database table that in turn could be used as the input for a subsequent business process for further processing. As another example, the output for a business process could be the creation and population of a new batch. Or you could create a process that generates a flat file to be used by a separate, third-party system. Or you could create and populate a database table that provides data for a report. The figure below depicts a business process instance running with a specific parameter set to produce a database table. Remember, a custom business process can use any number parameters as input to produce a table, XML file, flat file, batch, series of web service calls to another system, etc. You have freedom to create the parameters, processing, and output to solve your organization's challenges.

Figure: Business process A utilizes parameter set C and produces an output table.