Hi nxm150,
I'm going to talk from an OS390 point of view here. Your standard Cobol program can call a DB2 program without any differences to the Cobol. In the calling program, the 'call' statement is exactly as it would be in any other program.
The difference lies in the 'outside' environment. In order to access DB2 tables, you must start off with in a DB2 environment, and specify a plan (or package) name, which has got the db2 statements already defined to it (let's ignore dynamic SQL for the time being).
What this means in an OS390 environment is that in the JCL rather than coding a EXEC PGM=COBPROGA, you would code a call to TSO, as in EXEC PGM-IKJEFT01, passing the actual execution in the SYSIN.
Hope this has not been a grandmother and eggs situation and if I have over explained things, sorry. If I've not explained things enough, get back to us.
hth
Marc