I had worked on creating a Delphix virtual copy of our production PeopleTools 8.53 database and wanted to use ENCRYPT_PASSWORD in Datamover to change a user’s password. But I got this ugly error:
Error: Process aborted. Possibly due to JVM is not available or missing java class or empty password.
What the heck! I have used Datamover to change passwords this way for 20 years and never seen this error. Evidently in PeopleTools 8.53 they increased the complexity of the encryption by adding a “salt” component. So, now when Datamover runs the ENCRYPT_PASSWORD command it calls Java for part of the calculation. For those of you who don’t know, Datamover is a Windows executable, psdmt.exe. But, now it is calling java.exe to run ENCRYPT_PASSWORD.
I looked at Oracle’s support site and tried the things they recommended but it didn’t resolve it. Here are a couple of the notes:
E-SEC: ENCRYPT_PASSWORD Error: Process aborted. Possibly due to JVM is not available or missing java class or empty password. (Doc ID 2001214.1)
E-UPG PT8.53, PT8.54: PeopleTools Only Upgrade – ENCRYPT_PASSWORD Error: Process aborted. Possibly due to JVM is not available or missing java class or empty password. (Doc ID 1532033.1)
They seemed to focus on a situation during an upgrade when you are trying to encrypt all the passwords and some have spaces in their passwords. But that wasn’t the case for me. I was just trying to change one user’s password and it wasn’t spaces.
Another recommendation was to put PS_HOME/jre/bin in the path. This totally made sense. I have a really stripped down PS_HOME and had the least number of directories that I need to do migrations and tax updates. I only have a 120 gig SSD C: drive on my laptop so I didn’t want a full multi-gigabyte PS_HOME. So, I copied the jre directory down from our windows batch server and tried several ways of putting the bin directory in my path and still got the same error.
Finally, I ran across an idea that the Oracle support documents did not address, probably because no one else is using partial PS_HOME directories like me. I realized that I needed to download the class directory. I found a cool documentation page about the Java class search path for app servers in PeopleTools 8.53(updated with current version). It made me guess that psdmt.exe would search the PS_HOME/class directory for the classes it needed to do the ENCRYPT_PASSWORD command. So, I copied class down from the windows batch server and put the jre/bin directory back in the path and success!
Password hashed for TEST
Ended: Tue Oct 11 16:36:55 2016
Successful completion
Script Completed.
So, I thought I would pass this along in the unusual case that someone like myself needs to not only put the jre/bin directory in their path but is also missing the class directory.
Bobby
Another reason for this error is hinted at the end of the error message: “or empty password”. You’ll get this error if you have empty passwords with encrypted = 0. Data Mover will then try to encrypt an empty password and fail. To fix this run the following SQL: UPDATE PSOPRDEFN SET ENCRYPTED = 1 WHERE OPERPSWD = ‘ ‘;
Thanks. I saw that but in my case we didn’t have any empty passwords.
thanks this solved my issue
I am glad that it was helpful to you. Thank you for your comment.
Bobby
Hi Bobby, we are currently facing the same issue.
Can you please elaborate if you still remember what helped you.
Did you set the environment variable again or was it class files which helped.
Thanks
Thank you for your question!
My PeopleSoft home is C:\pt853. I put C:\pt853\jre\bin in my path on my Windows laptop. Then I run C:\pt853\bin\client\winx86\psdmt.exe to run Data Mover. Then I can run ENCRYPT_PASSWORD MYUSER; within Data Mover.
This is what I do in a command prompt:
(save current path in p.bat)
C:\temp>path > p.bat
(add C:\pt853\jre\bin to front of path)
C:\temp>notepad p.bat
(set path for command prompt window)
C:\temp>p.bat
(notice that C:\pt853\jre\bin is front of path)
C:\temp>PATH=C:\pt853\jre\bin;C:\app\p1c1227\product\11.2.0\client_1\bin;…
(run data mover. should be able to run ENCRYPT_PASSWORD)
C:\temp>C:\pt853\bin\client\winx86\psdmt.exe
If you have a full PS_HOME then the class directory should be there along with jre and jre64. If not then make sure they are there.
Let me know if you need further clarification.