View previous topic :: View next topic
|
Author |
Message |
Chandan1993
New User
Joined: 21 May 2017 Posts: 6 Location: India
|
|
|
|
as i know DSNHPC utility separates DB2 and cobol code and creates Token as timestamp. and during run time when timestamp is mismatch then we get -805 abend.
but now my question is if i compiled my program today and forgets to bind.If bind tomorrow then timetamp for cobol loadmodule and db2 would be different and code should through -805 abend. but in my case code ran properly..why ?
why i didn't get error as -805
can somebody clarifies my doubt please. |
|
Back to top |
|
|
daveporcelan
Active Member
Joined: 01 Dec 2006 Posts: 792 Location: Pennsylvania
|
|
|
|
The contoken for the load module is created at compile time.
The Bind, of the Load Module and DBRM can be done whenever. This creates the Package, with the proper Contoken matching the Load module.
It is a mismatch of the contoken between the Package and the Load module that issues the -805 sqlcode. |
|
Back to top |
|
|
Chandan1993
New User
Joined: 21 May 2017 Posts: 6 Location: India
|
|
|
|
daveporcelan wrote: |
The contoken for the load module is created at compile time.
The Bind, of the Load Module and DBRM can be done whenever. This creates the Package, with the proper Contoken matching the Load module.
It is a mismatch of the contoken between the Package and the Load module that issues the -805 sqlcode. |
could you please make more clear. Are you saying i should get -805 in my case ? |
|
Back to top |
|
|
daveporcelan
Active Member
Joined: 01 Dec 2006 Posts: 792 Location: Pennsylvania
|
|
|
|
Quote: |
If bind tomorrow then timetamp for cobol loadmodule and db2 would be different and code should through -805 abend.
|
This is a false assumption.
The timestamp for the load module and dbrm are created at compile time.
The Bind sees that they match. It uses a second indicator called a contoken, while creating the package. This contoken ties the load module and the package together. The timestamp is no longer used after the bind is done.
At run time the contoken of the load module and the package are checked to see if they match. In your case they do, thus why it worked.
Apparently, you were not provided proper db2 training. |
|
Back to top |
|
|
Rohit Umarjikar
Global Moderator
Joined: 21 Sep 2010 Posts: 3077 Location: NYC,USA
|
|
|
|
Also, you need to be able to differentiate between-818 and -805 clearly. Please read DB2 manual and link is provided at the top of this site. |
|
Back to top |
|
|
|