You sound frustrated but I'm only the messenger.
If you can reproduce the error at will you need to call IBM. Their documentation implies you will receive error message ID CPF22E4 in the error code parameter when calling QSYGETPH with an expired password.
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of James H. H. Lampert
Sent: Tuesday, July 08, 2014 4:07 PM
To: Midrange Systems Technical Discussion
Subject: Re: Expired password change anomaly
Monnier, Gary wrote:
Seems to me if you are obtaining a handle for a profile with an
expired password and are not using *NOPWDCHK or *NOPWDSTS for the
password parameter you may have found a serious bug.
Seems to me that we're using the call to QSYGETPH only to determine whether the password is (1) correct, and (2) expired. Since we spawn off jobs, rather than doing profile-swaps, we don't actually use the profile handle; we only care about the exception (or lack thereof).
Therefore, using *NOPWDCHK or *NOPWDSTS would defeat our whole purpose of calling QSYGETPH. Besides, if we KNEW whether the password was correct, and whether or not it was expired, we wouldn't have any reason to call QSYGETPH in the first place.