Consider the following situation. Cobol program COB1 reads a SQL query dynamically and executes it. COB1 package is bound to DB2 plan PLAN1.
Now if the dynamic SQL has qualified table SCHEMA1.TABLE1, it gets executed as SCHEMA1 and owner of package COB1 are same (OWNER1 = SCHEMA1)
But if the dynamic SQL points to table SCHEMA2.table name (even in same DB2 subsystem), the program shows SQL authority issues, saying OWNER1 lacks privilage in object SCHEMA2.
How do we solve this issue? How OWNER1 can be granted access to SCHEMA2?
This is same thing how DSNTEP2 or DSNREXX or the easytrieve package works on any DB2 schema in the DB2 subsystem.
I could not find any IBM documentaion on these package / plans, neither I could understand by looking at sysibm.sysplan tables.