OK don't know the best way to describe this but here goes...my main module,running in CICS) calls a submodule for every row in an array, the submodule does an open/fetch/close(DB2) on the parm passed by the main module for the search criteria. On calling the submodule greater than once the cursor in the submodule behaves as though it is still the same instance of the program, it does not do a new fetch, in Expediter it jumps straight past the fetch piece of code. I think on the first goback from the submodule it is not releasing the links with DB2, how do I make sure a fresh version of the program is called every time therefore forcing a new cursor? Have tried an EXEC CICS SYNCPOINT but this releases some resources I need to hold...all help much appreciated...