My company (Radio Shack) uses client/server visual basic apps with ODBC to connect to DB2 on the mainframe frequently.
We also create comma delimited files on the mainframe, and FTP them down to a server (converting to ASCII) where they can be opened up in EXCEL, VB, WORD, etc.
We FTP comma delimited files from the server, to be processed in mainframe programs as well.
We also have a way to request mainframe jobs from client/server apps.
- We have a DB2 table (I'll call it the request table) where our VB apps write requests to have mainframe jobs run.
- A "C" program (I'll call it the polling program) runs on the server every 15 minutes, and checks the DB2 table. If a mainframe job has been requested, the C program FTP's a file containing jcl to a specific mainframe location where it seen and run by CA7. It's called a "demand job" in CA7 lingo. The polling program could just as easily run on the mainframe
- The demand job runs on the mainframe, and demands that CA7 run the requested mainframe job. We do this so that the jcl on the server is simply a demand job, and the jcl for the requested job still resides on the mainframe, so it can be found by search utilities.
- The mainframe job executes a COBOL/db2 program which checks the db2 request table to find parameters, and updates the request table to indicate the request has been processed.