Our GUI client-server application (Windows clients, CICS/DB2 servers) currently has a "logon" client that passes the logon ID and password from the client to the server for validation. Validation is actually performed within the TCP/IP Direct Connect middleware using the TIRSLEXT exit. Once the user is verified, other parts of the application are made available. This code was originally written to replace the Client Manager signon a number of years ago.
We want to enhance the functionality of this validation to include changing the user's password if it is expired, and are wondering if anyone else is doing this today.
We know that we can capture the EXPIRED return code (907) from the middleware exit, but are not sure how to pass in the new password so that we can do the EXEC CICS CHANGE PASSWORD command.
Any hints, tips, successes, or gotchas are welcome.
My understanding is that the exit does not support the additional field (new Password) necessary to invoke the EXEC CICS CHANGE PASSWORD function – essentially it is only accepting the current Password. So, to deliver what you are seeking I believe you’ll need to:
1. Support the change-password functionality in the client so that a password change can be either initiated at Logon, or auto-initiated if the client receives the notification that the PW is expired
2. Package and wrap the EAB containing the EXEC CICS CHANGE PASSWORD command in a Pstep that is invoked by the new client functionality (change of password)
3. Provide a mechanism in the current exit that allows a bypass of the 907 return code, where the requested server is a password change ☺…
What I’m not clear on is what is returned to the client, from the exit, when the password has expired. @Williams, Lynn<mailto:Lynn.Williams@ca.com> may be able to shed some more light on that.
Hope that helps somewhat,
I will check the above with our z/OS SMEs
Apologies for the delay.
After speaking to the developer, the XERR buffer containing the 907 error code should be visible in the client side exit for the server flow error handling i.e. “WRSRVRERROR - Server Flow Error Exit (Windows)”