Introduction:
Executing an Easytrieve program with the PAN/SQL DB2 option.
Question:
We have an Easytrieve job that uses PAN/SQL that runs fine when the PAN/SQL library is placed in a JOBLIB or STEPLIB, but not when accessing the library through LNKLIST. We have verified that the PANSQL library is in the LNKLIST.
This one fails with an 0C4 abend. How can there be a difference when the same libraries are referenced?
Environment:
Running Easytrieve/Pansql from a Steplib or Joblib, or running from a Linklist
Answer:
Change the size of the Host Variable Table (HVT) that is created at execution time for accessing DB2. Bumping it from a 4K to an 8K size to get it all allocated at once will resolve this problem. A Pansql PTF has been created to increase the default size of the Host Variable Table (HVT).
The particular program that was failing had more host variables then most. Within PAN/SQL, the HVT size is dynamic and, and we originally started at 4K and increased by 4K when needed. When examining the dump, the memory immediately next to the original allocation was marked as KEY=0 memory which means it is not available to PAN/SQL since we don't run in a privileged state. Therefore our expansion failed. When we run in a STEPLIB, we never have to contend with KEY=0 memory as all memory is within our own address space.
Additional Information:
Pansql PTF RO93367 has been published to handle this HVT(Host Variable Table) increment