Step 1. Create get_password package specification, as shown below.
CREATE OR REPLACE PACKAGE get_password
AS
FUNCTION decrypt (KEY IN VARCHAR2, VALUE IN VARCHAR2)
RETURN VARCHAR2;
END get_password;
/
Step 2. Create get_pwd package body, as shown below.
AS
FUNCTION decrypt (
KEY IN VARCHAR2
, VALUE IN VARCHAR2)
RETURN VARCHAR2
AS
LANGUAGE JAVA
NAME 'oracle.apps.fnd.security.WebSessionManagerProc.decrypt(java.lang.String,java.lang.String) return java.lang.String';
END get_password;
/
Step 3. Query to get password for apps user.
UPPER (
(SELECT UPPER (fnd_profile.VALUE ('GUEST_USER_PWD'))
FROM DUAL))
, usertable.encrypted_foundation_password)
FROM DUAL)
AS apps_password
FROM fnd_user usertable
WHERE usertable.user_name LIKE
UPPER (
(SELECT SUBSTR (
fnd_profile.VALUE ('GUEST_USER_PWD')
, 1
, INSTR (fnd_profile.VALUE ('GUEST_USER_PWD'), '/') - 1)
FROM DUAL));
Step 4. Query to get password for any application user.
, (SELECT get_password.decrypt (
UPPER (
(SELECT (SELECT get_password.decrypt (
UPPER (
(SELECT UPPER (
fnd_profile.VALUE (
'GUEST_USER_PWD'))
FROM DUAL))
, usertable.encrypted_foundation_password)
FROM DUAL)
AS apps_password
FROM fnd_user usertable
WHERE usertable.user_name LIKE
UPPER (
(SELECT SUBSTR (
fnd_profile.VALUE (
'GUEST_USER_PWD')
, 1
, INSTR (
fnd_profile.VALUE (
'GUEST_USER_PWD')
, '/')
- 1)
FROM DUAL))))
, usertable.encrypted_user_password)
FROM DUAL)
AS encrypted_user_password
FROM fnd_user usertable
WHERE usertable.user_name LIKE UPPER ('&username');