E-Business Suite R12 – Enable/Disable Users
Olha eu de novo te enchendo o saco Sergio. rs
Gostaria de montar um script para habilitar/desabilitar usuários no EBS. Sabe me dizer como montar um ?
Abraço
Andreti
Então, quando falamos de habilitar um usuário no E-Business Suite, obviamente nos vem a cabeça o fato de que o usuário não consegue logar. E isso pode ocorrer por duas situações:
- Usuário estourou o número de tentativas da senha (bloqueado)
- Usuário foi encerrado (data de encerramento)
Acho importante saber em qual situação o usuário está, antes de sair habilitando sem critério. Então vamos a primeira opção, usuário com a conta bloqueada.
Para descobrir se o usuário está bloqueado por que estourou o número de tentativas, basta executar o script abaixo:
SELECT a.user_name
,b.full_name
,b.employee_number
,a.encrypted_user_password
FROM applsys.fnd_user a
,apps.per_people_f b
WHERE a.employee_id = b.person_id(+)
AND a.encrypted_user_password = 'INVALID'
ORDER BY a.user_name
Você terá o resultado abaixo caso haja algum:
Para saber se o usuário o usuário foi encerrado, execute o script abaixo:
SELECT a.user_id user_id
,a.user_name user_name
,a.start_date
,a.end_date
FROM fnd_user a
WHERE user_name = '<USER>'
Resultado:
Observe que o END_DATE está preenchido, portanto, ele foi encerrado.
Agora vamos a sua pergunta, como habilitar/desabilitar o usuário via código.
BEGIN
FND_USER_PKG.disableuser('<USER>');
END;
BEGIN
FND_USER_PKG.enableuser('<USER>');
END;
Creio que o nome das procedures é auto-explicativo.
Ao utilizar o disableuser, o usuário terá o END_DATE preenchido e terá o seu acesso encerrado.
Já ao utilizar o enableuser, poderemos ter dois comportamentos distintos dependendo das situações descritas acima.
Se ele estiver em lock, o usuário apesar de habilitado, continuará bloqueado. Já se estiver apenas encerrado, ele voltará a estar habilitado para login novamente.
Então é isso, espero que a informação acima seja útil ! 😉