A popular use of a process service is to access data on a database.
Assuming a simple Scout dialog, here's what we need:

create a new item (insert)

load an existing item (select)

update an existing item (update)

delete an existing item (delete)

Create a new process service on the server in the folder Process Services.
In our example, we'll call it SubAgreementProcessService.
If you've already created a form to go along with it, make sure you indicate
SubAgreementFormData.

This automatically creates the following ISubAgreementProcessService for you:

The appropriate class is also created for you. Edit SubAgreementProcessService
and replace all instances of "TODO business logic here" with the real thing. :)

Here's an example that assumes a database and uses the SQL service to access it.
Note that all we needed to write was the SQL statements. The bind variables
are determined by the Form Data object, which is in turn generated based on the
Form itself. Thus, the bind variable names are based on the field and variable names.
If the field is called TypeField, then the bind variable will have the suffix "Field"
removed and the first letter downcased, resulting in :type.