The SQL precompiler places timestamp 'y' in the DBRM, and time stamp 'x' in the parameter list in the application program for each SQL statement. At BIND time, DB2 stores the DBRM timestamp for run time use. At run time, timestamp 'x', for the SQL statement being processed,is compared with timestamp 'y' derived from the DBRM 'z' at BIND time.
If the two timestamps do not match, the DBRM and the application program were not the result of the same precompile. This problem can occur if you:
* Precompile, compile, and link, without doing a BIND of the application, * Precompile and BIND, without doing the compile and link for the application program, or
* BIND the application using a DBRM that resulted from a different precompile of the application program than that which produced the object module that is linked into the application module. The timestamps 'x' and 'y' are DB2 internal timestamps. They do not have an external interpretation.
BIND the application again, using the DBRM for the application program that matches the object module.
As said clearly by our friend, -818 error is due to Timestamp Mismatch between the load module and the DBRM -plan / package.
One better note is that you could make use of LEVEL parameter in your BIND Jcl to get rid of -818. Please check with your admin too for the usage of LEVEL parameter, whether it has any impacts.