i have a dbrm bound into a package. the Bind package is successful. When i try to run my cobol-db2 program i get a -805 error saying the load module is not able to find the plan. I dont know how to find in which plan, my package is bound.
how do i find the list of packages in a particular plan?
Joined: 05 Feb 2007 Posts: 199 Location: Sri Lanka
Usually a PLAN connects to a Package using Collection-id(also called packlist or pklist). When a PLAN is bound, in such a scenario, usually packlist is given a wild card or *. And no package name is given.
So check in a catalog table called sysibm.syspacklist to see if you have a PLANNAME that matches your plan name and it has a matching COLLID. By matching COLLID I mean the value you use to do SET PACKAGESET in the program.
Then check in sysibm.syspackage if you have a NAME and COLLID that match the package you are calling.
Usually the error also gives you the
location-name.collection-id.dbrmname.consistency -token that is not found. This should give you some clues.
IF YOU SEE THE JCL FOR THE COBOLDB2 THERE IS BIND AND PLANE
ie.member name when you not give this properly then you will get -805
for you furter information i will give the whole jcl
//s1 exec db2
//trn.sysin dd dsn=ggfhh,disp=shr
//PC.SYSLIB DD DSN=DFG.PDS,DISP=SHR
//COB.SYSLIB DD DSN=SDF.PDS,DISP=SHR
//LKED.SYSLMODE DD DSN=SFD.PDS,DISP=SHR
//BILD EXEC PGM=IKJEFTO1,
//STEPLIB DD DSN=PDS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
BIND PLAN(BBB456) if you givw wronge plane name then you
MEMBER(M1) will get -805