Jon,
Not sure if this is the same thing you are seeing, but I had a similar issue
with the some of my programs that use system APIs when we upgraded to V7R1
(we skipped V6R1 and went directly from V5R4 to V7R1).
Come to find out that the issue, in my case, was related to the QUSCRTUS
(Create User Space) API, and not the other APIs that were making use of the
user space.
From the V6R1 memo to users:
Create User Space (QUSCRTUS) API
In i5/OS V6R1, the default value for the Optimum Alignment parameter of the
Create User Space
(QUSCRTUS) API has changed from 0 to 1, so optimum alignment has become the
default. This change
reduces the maximum amount of space available for user spaces created with
the default value. You can
programmatically retrieve the maximum size of an optimally-aligned space
using option Hex 0003 of the
Materialize Machine Data (MATMDATA) MI instruction.
Recommendation: Because the performance benefits of using optimally-aligned
spaces might vary over
time, IBM recommends creating a user space with optimum alignment, even if
an application does not
experience a performance benefit from using an optimally-aligned user space
on one particular release.
In my case, I have a service program that exports procedures that wrapper
the user space APIs, and I was creating my user spaces with a default
initial size of 16,776,704, but this fails with the new default value of the
'Optimum Space Alignment' default value of '1'. From the V6R1 Info Center:
Optimum space alignment
INPUT; CHAR(1)
Allows the machine to choose optimum alignment for the user space. Choosing
optimum alignment is highly recommended. Applications that manipulate
optimally aligned user spaces may perform significantly better.
Allowable values are:
Start of change1
Choose optimum space alignment. 1 is the default value.End of change
0
Do not allow the machine to choose optimum space alignment.
Note: If not using the optimum space alignment, the user space has a maximum
size of 16MB minus 512 bytes (16,776,704 bytes). If optimum alignment is
specified, the maximum size of the user space is 16MB minus one disk page
(current page size is 4096 bytes, giving a maximum space size of 16,773,120
bytes).
Since IBM recommends using Optimum Space Alignment value of '1', I now
create my user spaces with an initial size of 16,773,120 rather than
16,776,704, and the QUSCRTUS API is happy again.
hth.
JJ
As an Amazon Associate we earn from qualifying purchases.