viernes, 1 de abril de 2011

Project Status Inquiry (PSI) Consulta de estado de Proyecto.

Proyectos : es el modulo encargado del manejo de costos, ingresos, recursos , tareas, etc  de un proyecto.

Brinda información detallada sobre el estado del mismo por medio de una pantalla muy practica donde te permite dar información de una manera tan flexible que asusta, y digo asusta por que con los conocimientos adecuados de la estructura del modulo de Proyectos y conocimientos de el lenguaje PL/SQL le pueden ahorrar tanto trabajo al usuario de una manera casi ilimitada. La pantalla de la que hablo maravillas es una pantalla que en algún momento mi amigo Jose de Jesús Martinez Cañas, tuvo a bien explicarme el funcionamiento de la pantalla PSI.

El PSI tiene una peculiaridad que  pocas pantallas de la aplicación tienen, y esto es : Es una pantalla que pueden modificarse la forma en la que se entregan los  datos de prácticamente todas las columnas, esto quiere decir, que si uno desea puede reconstruir todos los datos que te presenta la pantalla, las etiquetas, promedios, sumatorias, minería de datos a otros módulos que tengan que ver con el proyecto o hasta lo que no tenga que ver con el proyecto se puede pintar en esta pantalla.

Las pantallas de configuración de esta pantalla nos dejan muy claro a los desarrolladores que la persona que hizo esta pantalla seguramente le cambiaron la definición de lo que querían que se viera en esta pantalla , que el decidió dejarle a los funcionales la tarea de definir que pintara la pantalla con la información disponible del modulo.

ejemplo:
Flexibilidad en cada columna.

La etiquetas del reporte también son edita bles desde esta pantalla 

Son 33 columnas para el nivel Proyecto

Y esto se puede configurar tanto para el nivel proyecto como para tarea y Recursos.
 Ahora como es tan mágico esta pantalla, como permite tal cosa, acaso las pantallas del psi se construyen en tiempo de ejecución?

No es magia ni algo remotamente parecido, lo que sucede es que genera vistas en la base de datos cuando uno le da generar visualización, vistas que como su nombre lo dicen son genéricas.

PA_STATUS_PROJ_GENERIC_V

PA_STATUS_TASK_GENERIC_V

PA_STATUS_RSRC_GENERIC_V

Estas 3 vistas contienen permiten extraer los datos como los solicito el usuario en la configuración en cada uno de los niveles del reporte, sin embargo cuando uno trata de ejecutarlas en la base de datos estas no regresan nada. como inicializar las vistas del PSI para que nos regresen valores es el  reto.

Para que no se quiebren la cabeza recordemos como funciona la aplicación.

La seguridad desde R11 y ahora en r12 se maneja por medio de los perfiles de las responsabilidades y para poder emular lo que hacen las pantallas de la aplicación para restringir el acceso a los usuarios se tienen que ejecutar siempre las funciones que inicializan los valores de la responsabilidad del usuario, y a partir de la R12 se implemento la seguridad por medio de los perfiles por lo que ahora se agregan las funciones MO.
BEGIN
 FND_GLOBAL.APPS_INITIALIZE(1117,50719,275);
/*FND_GLOBAL.APPS_INITIALIZE(user_id,resp_id,resp_appl_id);*/
MO_GLOBAL.init('PA');
 /*MO_GLOBAL.init(application short name);*/
pa_budget_utils.set_entry_level_code('A');
pa_security.SET_VALUE('ALLOW_QUERY','Y');

APPS.PA_STATUS.pa_status_driver(38,NULL
,NULL,NULL,'AC','AR'
,TRUNC(SYSDATE,'MM'),LAST_DAY(SYSDATE),1);
/*PROCEDURE pa_status_driver (
  x_project_id =>Id Proyecto  
  , x_task_id => Id tarea
  , x_resource_list_id => Id lista de recursos
  , x_resource_list_member_id =>  id miembro
  , x_cost_budget_code  =>codigo del tipo de presuspuesto de costos
  , x_rev_budget_code IN => codigo del tipo de presupuesto de Ingresos
  , x_start_date IN DATE =>Fecha inicial de periodo  a analizar
  , x_end_date IN DATE =>Fecha final de periodo  a finalizar
  , x_factor IN NUMBER=>Factor entre el que se dividirán las operaciones
);
*/ 

END;
 /

 Este procedimiento anónimo estaría inicializando las variables de ambiente suficientes para que te permita realizar consultas sobre las vistas estándar del proyecto y podemos realizar toda la minería de datos que queramos.

Espero les sea útil.

No hay comentarios:

Publicar un comentario