fohana,
thanks for the response but that is not the problem in my case..
I found that solution is if this is a stored procedure , then you need to ensure KEEPFENCED is set to NO.. This is a dbm cfg parameter. KEEPFENCED is a parameter that will 'cache' stored procedure code, so that if you call a stored procedure, it will not create a brand new db2fmp process everytime... The db2fmp process is the process spawned by the db2agent that actually executes the user code.
KEEPFENCED YES is default, and is highly recommended in production, for performance reasons. However in development, it is recommended to set KEEPFENCED to NO, so that DB2 does not cache the procedures, and so when you make a change, and execute the new code DB2 will pick that new code up.
Stopping/Starting the instance is the only way to 'refresh' the cache when KEEPFENCED is set to YES.