I have a cobol-db2 program. I have compiled and executed it. It worked fine. The next day for the same program I'm getting -818 time stamp error. What may be reason for this time stamp error? Previous day it worked fine.
Joined: 14 Oct 2005 Posts: 1208 Location: Bangalore,India
Padma,
THE PRECOMPILER GENERATED TIMESTAMP x IN THE LOAD MODULE IS DIFFERENT FROM THE BIND TIMESTAMP y BUILT FROM THE DBRM z
DEscription:
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.
Action
BIND the application again, using the DBRM for the application program that matches the object module.
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.
What you need to do is,
BIND the application again, using the DBRM for the application program that matches the object module.