<snip>
>>but not by much. The main thing that's going to simplify it is figuring out whats the same in each "* Do Something" and programing around that.
>
>Interesting. Ok, each CASE will create cursors with different structures, then return the alias for that particular cursor to the calling program to be populated.
You can avoid DO CASE altogether if you make your code data driven by storing info reqired by 'Do Something' in each case in a table with 'MessageType and CursorType' as key fields. You wouldn't have to modify code at all to add new types.
--sb--