If I am encountering a PIEHP0002 error, then the environment has some storage limitations. This can be related to the job class definition or a problem with LE options or HEAP options which are being used. What can I specifically do to resolve this?
We recommend that you run with the following values for your //CEEOPTS DD statement for the LE options:
//CEEOPTS DD *
ALL31(ON), STACK(,,ANYWHERE,KEEP,,), HEAP(,,,FREE,,)
Here are the HEAP options for your reference which we have in effect, and we are not getting the PIEHP0002 error:
IBM-supplied default HEAPZONES(0,ABEND,0,ABEND)
Please check if you are using a default for the HEAP() option .. which is HEAP(,,,KEEP,,).
This means that even if you call the free routine to release memory, it isn’t actually freed.
There are a variety of bugs that occur if the memory is really freed. So IBM recommends using the KEEP option to avoid these.