¿Qué usuario está conectado a mi aplicación Apex?

En muchas ocaciones, en las tablas que utilizamos para almacenar datos, debemos guardar el usuario que realizó una tarea específica, tal como, incluir un nuevo registro, o modificar alguno de los datos existentes.

Tradicionalmente, estamos acostumbrados a utilizar el valor de la variable Oracle USER, sin embargo, si hacemos uso de esta variable en una aplicación Apex, siempre vamos a registrar el mismo valor, sin importar cual usuario estemos utilizando, este valor es “APEX_PUBLIC_USER”.

Ahora bien, cuando definimos estructuras y código, no lo hacemos pensando solo en utilizarlos dentro de Apex, podemos también querer usarlos por ejemplo en sqlplus, Forms, funciones, procedimientos, paquetes, o cualquier otro lugar, por lo que también podemos necesitar el valor de la variable USER.

Para definir una sentencia que siempre nos funcione y guarde el usuario correcto, debemos utilizar el siguiente código:

  • nvl(htmldb_application.g_user,user)
  • Con lo anterior, nos aseguramos de que si estamos realizando una tarea dentro de Apex, vamos a registrar el valor de la variable global htmldb_application.g_user, y si estamos utilizando el código fuera de Apex, entonces registraremos en valor de la variable USER.

    Espero que este tip, les sea de utilidad.

    Los espero en la próxima entrega.

    Tags: ,

    Leave a Reply