-805 will occur when you run your program without binding it properly in to your test region. Some times it may happen that you compiled your program but there are still some SQL errors which compiler cant locate that time during binding it fails. And when you try to run this program you will hit by ?805. The other common reason is that when you compile your program but forget to bind it, then while execution it will fetch the old edition and due to time stamp mismatch you get ?805.
If you want to check the time stamp just go to your LOADLIB library and check for the time stamp. Now if this time stamp not matches with the timestamp in SYSIBM.SYSPACKAGES for that program then you will get ?805.