Mostrando entradas con la etiqueta Forms Personalization. Mostrar todas las entradas
Mostrando entradas con la etiqueta Forms Personalization. Mostrar todas las entradas

martes, 22 de septiembre de 2015

Deshabilitar campos desde Forms Personalization

Usando Forms Personalization, podemos bloquear ciertos campos que queremos que los usuarios no modifiquen o ingresen datos erroneamente. Por ejemplo damos el caso de la pantalla de transacciones misceláneas donde se requiere que el campo fecha no deba ser modificado y  cualquier tipo de transacción por esta pantalla debe de indicar su fecha y hora correcta.

Primero debemos  agregar un menú en la opción de  Herramientas. Para personalizar debemos ir a Ayuda >> Diagnóstico >> Código Personalizado >> Personalizar. Crearemos una primera personalización a nivel de Función y usaremos el Evento Trigger WHEN-NEW-FORM-INSTANCE. 

En la pestaña Acciones. Debemos escoger como Tipo de Acción Propiedad. Colocar como tipo Objeto Artículo y agregar en Objeto Objetivo el campo fecha en este caso MISC_TRX.TRANSACTION_DATE y como Propiedad colocar INSERT_ALLOWED  y valor FALSE.


Al colocar esta configuración estamos indicando que el campo Fecha no puede ser editado. Para comprobar debemos cerrar la pantalla para que se actualicen los cambios. Abrir el formulario y se podrá apreciar que el campo fecha ya está bloqueado para el usuario. 


martes, 19 de mayo de 2015

Agregar un icono por Forms Personalization

Una característica adicional cuando uno crear  la opción de Menú por Forms Personalization, es poder también mostrar un icono en la Barra de Herramientas. Al crear un icono en la barra de herramientas este va a realizar la misma acción que cuando el usuario esta utilizando el menú. 

Agregar Icono en Personalizaciones
Para agregar un icono en la barra de  Herramientas, primero deben tener un menu desde Forms Personalization.  Para personalizar el formulario,  debemos ir a Ayuda >> Diagnóstico >> Código Personalizado >> Personalizar. Primero debemos ir  al registro donde tenemos la etiqueta del Menú. Ir a la pestaña AccionesMarcar la casilla   Presenta Lín antes de menú. y establecer un valor en Nombre Icono. 


El icono que se especifica debe existir en el directorio $OA_MEDIA en el servidor de aplicaciones, y escribimos el nombre del icono sin la extensión cuando definimos en la personalización. Guardar el registro.

Para comprobar debemos cerrar cualquier ventana abierta y asegurarse de que estás en la responsabilidad correcta. Abrir el formulario donde se le ha colocado la personalización. Se debe poder ver el nuevo icono , si le damos clic debe realizar la misma funcionalidad que la opción de menú
 

miércoles, 29 de abril de 2015

Raise Form_Trigger_Failure en Forms Personalization

La  declaración Raise Form_Trigger_Failure  es el uso para congelar un  programa cada vez que sea necesario. Normalmente, en las formurlarios de Oracle utilizamos esta declaración para congelar el formulario cada vez que se produjo un error. Esta declaración mayormente es útil cuando se hace  validaciones de por medio.

Podemos usar esta declaración para manejar un error si durante una validación falla y no queremos que se continúe el proceso.  Siempre se recomienda usar junto a esta excepción un mensaje para informar al usuario que se produjo un erro ya que de lo contrario no se mostrara mensaje alguno.

Agregar en forms Personalization
Primero debemos  agregar un menú en la opción de  Herramientas. Para personalizar debemos ir a Ayuda >> Diagnóstico >> Código Personalizado >> Personalizar. Crearemos una primer personalización a nivel de Función y usaremos el Evento Trigger WHEN-VALIDATE-RECORD


Luego debemos indicar un bloque a validar porl ocual debemos seleccionar uno en Objeto Trigger. Si fuera necesario podemos indicar una Condición para nuestra personalización. Pues bien ahora que tenemos creado nuestra condición antes de crear la excepción  podemos crear en Acciones un mensaje para mostrar en caso valida el evento en verdadero.

Posterior al mensaje creamos otra acción  y debemos escoger el Tipo de Acción Incorporado. Como Tipo Incorporado podemos seleccionar RAISE_FORM_TRIGGER_FAILURE. Con esto el formulario se congela al validar.


jueves, 26 de marzo de 2015

Activar y Desactivar Librería Custom y Forms Personalization

La Librería CUSTOM  y las personalizaciones permiten realizar extensiones  en Oracle E-Business  Suite. Sin embargo hay ocasiones que para validar o seguir un proceso debemos desactivar estas extensiones.


La forma de desconexión del código personalizado  es utilizando Ayuda >> Diagnóstico >> Codigo Personalizado >> Desactivado. Para ello debe posicionarse en la pantalla o formulario donde desea desactivar las personalizaciones.


Al usar Desactivado todos  los códigos escritos en la librería Custom o en las mismas personalizaciones estarán desactivadas. Esto no afecta las funcionalidades estándar.



Esta opción se hace por sesión de usuario, es decir si con un usuario se desactiva una personalización esto no afectara a otro usuario que entra a la misma pantalla ya que esta conectada a otra sesión. Elegir la opción usar Normal  para volver a activar las extensiones.

Ahora, es posible desactivar funcionalidades para ciertos usuario, por Personalizaciones podemos poner dentro de las condiciones que para cierto usuario no se activa como :

fnd_profile.value('USER_ID') !=1318

Por medio de la Librería custom podemos usar el siguiente código:

IF event_name = 'WHEN-NEW-FORM-INSTANCE' THEN
   IF fnd_profile.value('USER_ID') =1318 THEN
    copy ( 'OFF' , 'GLOBAL.APP_CUSTOM_MODE' ) ;
   ELSE
     copy ( 'NORMAL' , 'GLOBAL.APP_CUSTOM_MODE' ) ;
   END IF ;

 END IF ;

martes, 24 de marzo de 2015

Envió de parámetros de formulario por personalización

Los desarrolladores pueden definir parámetros que se pueden pasar al formulario y se utilizan  para pasar los datos que nos pueden ayudar a realizar acciones basadas en esos datos. En este caso, se ha creado un formulario donde se ha creado un parámetro Vendor_id. Si el parámetro se rellena con un valor, se realizara la acción que deseamos ejecutar dentro del formulario, como por ejemplo consultar información.




Creación de un parámetro
Ahora vamos a crear un parámetro en el formulario para que podamos pasar el Vendor_id en el formulario. Esto permitirá poder usar el parámetro  en el formulario y consultar automáticamente la información.

Para crear un parámetro, vaya a Parámetros en el Navegador de Objetos. Establezca las siguientes propiedades :

Nombre: P_PERSON_ID
Parámetro Tipo de datos: Number

Podemos añadir tantos parámetros como queramos en un formulario. Estos se pueden utilizar para pasar información en el formulario.




Enviar parámetro por Personalización
Usando Forms Personalization podemos enviar los valores de parámetros a nuestros formularios personalizados. Para ello debemos crear un Acción de Tipo Incorporado.  Debe haber creado una función para llamar al formulario personalizado, Para ello debe escoger el Tipo Incorporado Iniciar una Función.

Ingresar el código de Función del formulario, por defecto se completara el nombre de la función. En parámetros  el formato para enviar un parámetro al formulario es la siguiente.

=‘PARAM1=’ || ${item.<block>.<item>.value}

En este caso PARAM1 seria el nombre del parámetro y luego debemos colocar el Elemento del bloque al cual se dará como valor al parámetro. Tal cual podemos ver en la siguiente pantalla:





Finalmente Dar Aplicar Ahora y podrá pasar los valores como parámetros al formulario personalizado.

sábado, 17 de enero de 2015

Ejecutar Concurrente desde Forms Personalization

Usando Forms Personalization, podemos ejecutar programas concurrentes desde un menú especial. Para ello debemos usar la acción del Tipo Incorporado para poder ejecutar un concurrente. La forma de su creación es muy parecida a cuando uno desea agregar un formulario por el Menú.

Primero debemos  agregar un menú en la opción de  Herramientas. Para personalizar debemos ir a Ayuda >> Diagnóstico >> Código Personalizado >> Personalizar. Crearemos una primer personalización a nivel de Función y usaremos el Evento Trigger WHEN-NEW-FORM-INSTANCE.  


Luego debemos ir a la pestaña Acciones  y escoger el tipo Menú, en esta opción debemos escoger cualquier Elemento Menú que este disponible. Luego dar una Etiqueta para mostrar para visualizar el Menú.


Ahora debemos crear otra personalización para ejecutar el concurrente. Para ello debemos seleccionar el Evento Trigger Menu.


En Acciones debemos escoger el Tipo de Acción Incorporado. Ahora para ejecutar concurrentes, ya existe una función predeterminada para ello como Tipo Incorporado seleccionamos Iniciar Pantalla SRS. Luego debemos seleccionar El nombre del Programa concurrente al cual se desea ejecutar por el Menú.


Aplicamos los cambios y debemos probar nuestra configuración. Al ingresar nuevamente al formulario debemos Ir a Herramientas >> Ejecutar Concurrente. La función del menu ya esta activa así que le damos clic.


Al hacer clic en él, se abre el formulario de Solicitudes Concurrentes con su programa concurrente, listo para su ejecución.



viernes, 16 de enero de 2015

Agregar un menu desde Forms Personalization

En Forms Personalization tenemos un tipo de Acción llamado menú el cual  se utiliza para activar menús especiales disponibles en el menú Herramientas. Aplicaciones Oracle proporciona 45 menús especiales bajo el menú Herramientas que pueden ser utilizados por los clientes en función de sus necesidades. Los menús están organizados en 3 grupos de 15 cada uno bajo las herramientas, informes y acciones de los menús desplegables. Si selecciona un menú el cual ya esta en uso, su funcionalidad anterior se anulará siendo reemplazado por la nueva.


Para agregar un menú debe seleccionar este tipo de acción y escoger la Entrada de Menú el cual puede ser :
  • Menu1 al 15
  • special1 al 45
Por lo general se utiliza el Trigger WHEN_NEW_FORM_INSTANCE para que el formulario tenga ya activado los menús especiales.

Agregando Menú en Personalizaciónes
Para agregar un menú en la opción de  Herramientas, primero deben crear un Formulario y ingresar una Función de Menú en el Oracle.  Para personalizar el formulario,  debemos ir a Ayuda >> Diagnóstico >> Código Personalizado >> Personalizar. Debemos crear dos Personalizaciones. 

El primero debe ser a nivel de Función y usaremos el Evento Trigger WHEN-NEW-FORM-INSTANCE.  Este evento se aplicara ni bien ingresemos al formulario, es decir el menú estará activo desde que empezamos a trabajar en el formulario.




Luego debemos ir a la pestaña Acciones  y escoger el tipo Menú, en esta opción debemos escoger cualquier Elemento Menú que este disponible. Luego dar una Etiqueta o el texto a mostrar para visualizar el Menú


Hasta aquí, ya podemos tener un Menú en la opción Herramientas. Ahora para poder abrir el formulario del Menú debemos crear un a segunda personalización el cual tendrá como Evento Trigger el Menú que hemos seleccionado. 



Luego debemos ir a Acciones y colocar una Acción de Tipo Incorporado. Al colocar de tipo Incorporado podremos indicar que el tipo sea Iniciar una Función, llegado a este punto debemos seleccionar el código de nuestra Función de Formulario, el nombre de Función se pondrá automáticamente. Si es necesario colocar parámetros para iniciar el formulario.



Aplicados los cambios, salimos de la pantalla de personalizaciones y del formulario. Damos un clic en la opción de Herramientas y podremos visualizar el Menú que hemos creado.



Al dar clic podremos visualizar el formulario que esta registrado en el EBS. Con esta opción podemos reemplazar la funcionalidad del Zoom e incluso hacer mas dinámico las opciones entre formularios de los diferentes módulos y pantallas.


martes, 11 de noviembre de 2014

Colocar el cursor en un campo especifico por Personalización

Normalmente cuando trabajamos con formularios estandares del Oracle, por comodidad de los usuarios finales se desean trabajar de cierta forma.  Por ejemplo, en ciertas pantallas la posición del cursor puede no ser en el campo deseado o, a veces cuando uno ingresa datos prefiere saltear ciertos campos opcionales que no se usan. 

Podemos personalizar el comportamiento de las formularios mediante el uso de Forms personalization. Como ejemplo, vamos a tomar un formulario donde por defecto pondremos el cursor en un campo que el usuario desea trabajar directamente. Para este ejemplo usaremos la pantalla de del modulo de Treasury Dinero a Plazo Mayorista, donde el usuario por defecto no desea cambiar el Representante, sino que defrente se ubique en  el campo Compañia.



Para personalizar un formulario,  debemos ir Ayuda >> Diagnóstico >> Código Personalizado >> PersonalizarDefinir la Personalización, dando una secuencia y un nombre para la personalización. Para este caso debemos usar un evento que cuando el usuario en entre al formulario empiece a funcionar la personalización para ello usamos el evento WHEN-NEW-ITEM-INSTANCE, usamos como objeto Trigger el campo con el que inicia la pantalla en este caso D.DEALER_CODE



Haga clic en la ficha Acciones y definir la acción. Dar un número de secuencia para la Acción y seleccione el tipo como Incorporado. En el lado derecho, seleccione el tipo de Incorporado como GO_ITEM y en argumento el campo D.COMPANY_CODE.



Guarde los cambios y haga clic en Aplicar. Ahora el cursor se colocará en el campo deseado de acuerdo a nuestra configuración.


martes, 22 de julio de 2014

Librería Custom.pll



La Librería CUSTOM permite realizar extensiones en Oracle E-Business  Suite. Se puede utilizar la librería para las personalizaciones como Zoom (como mover a otra formulario y consultar a  registros específicos), la aplicación de reglas de negocio (por ejemplo, nombre del proveedor debe estar en letras mayúsculas), y desactivación de campos que no son aplicables para su organización. 

Se  escribe el  código en esta librería personalizada, dentro de los procedimientos que se proporcionan. Toda la lógica debe ramificarse en base a los formularios y los bloques donde  se desea ejecutar. Oracle E-Business Suite envía eventos a la librería CUSTOM. El código personalizado trabaja en base a estos eventos. 

Escribiendo código en la librería CUSTOM 
La libreria CUSTOM es una  librería PL/SQL de Oracle Forms Developer. Que le permite aprovechar al máximo todas las capacidades de Oracle Forms Developer, e integrar su código directamente con Oracle E-Business Suite. La Librería se ubica en el directorio el directorio $AU_TOP/resource.  Descargar el archivo con extensión .pll y abrir la librería por el Form Builder. Supongamos que se agrega el siguiente codigo:

procedure event(event_name varchar2) is
form_name varchar2(30) := name_in('system.current_form');
block_name varchar2(30) := name_in('system.cursor_block');
begin
if form_name='FNDCPMPE' then
if event_name='WHEN-NEW-FORM-INSTANCE' then
apps_set.set_property('FND_EXEC.USER_NAME',CASE_RESTRICTION,UPPERCASE);
end if;
end if;

end event;

Grabar los cambios y agregar la librería CUSTOM nuevamente  bajo la ruta donde se obtuvo el archivo para compilar y generar el archivo .plx el cual sera leído por el EBS. Al ingresar nuevamente al EBS los cambios surtirán efectos bajo el bloque y formulario donde se ejecutan los codigos agregados en la Librería.

Comandos de Compilación:
Para realizar la compilación utilizar el siguiente código:

11i:
f60gen userid=apps/<pws> module=CUSTOM.pll module_type=library batch=no compile_all=special

R12:
frmcmp_batch module=CUSTOM.pll userid=apps/<pwd> output_file=CUSTOM.plx module_type=LIBRARY batch=yes compile_all=special

usando letras minúsculas.

lunes, 21 de abril de 2014

Llamar a un procedimiento PL/SQL desde una Personalización

Hay ocasiones en que durante un evento dentro un formulario debemos realizar actualizaciones o ejecuciones donde utilizaremos bastantes lineas de código. Dependiendo de las reglas y acciones que pongamos en una personalización podemos activar un proceso especifico que cumpla con nuestras necesidades. En este caso podemos usar la opción de Ejecutar un Procedimiento del tipo de acción Incorporado.

En este ejemplo ponemos el caso de que dependiendo de una condición actualizaremos la descripción de un articulo de Inventarios.

Condición:
Evento Trigger: WHEN-VALIDATE-RECORD
Objeto Trigger: Cual Corresponda
Condición: Cual Corresponda

Acción:
SEC: 10
Tipo:Incorporado
Descripción: Update
Idioma: All
Tipo Incorporado: Ejecutar un procedimiento
Argumento: 
='declare
begin
XX_INV_UPD_ITEMS.P_Update_descp_item('||:MTL_SYSTEM_ITEMS.INVENTORY_ITEM_ID||');
end'

jueves, 10 de abril de 2014

Visión General Oracle Forms Personalization


Oracle E -Business Suite versión 11.5.10 introdujo un mecanismo que revoluciona la forma en que los formularios se pueden personalizar para satisfacer las necesidades del cliente. Durante muchos años , las aplicaciones de Oracle ha proporcionado una librería personalizada mediante el aspecto y el comportamiento de los formularios estándar se pueden modificar , pero las modificaciones de la librería personalizada precisa un trabajo en SQL y PL / SQL. 

En la versión 11.5.10 , Oracle ha proporcionado una característica simple y fácil de implementar para las necesidades específicas sin modificar el código estándar. Esta funcionalidad se le conoce como Oracle Forms Personalization. Aunque la librería  CUSTOM todavía se puede utilizar para personalizar e implementar las complejas lógicas de negocio , la función de personalización proporciona una forma más fácil , más rápida y requiere de un esfuerzo de desarrollo mínimo .

Características
Como característica las personalizaciones de formularios le permite modificar de forma declarativa el comportamiento de las pantallas basadas en formularios, incluyendo cambio de las propiedades, la ejecución de las órdenes internas, la visualización de mensajes, y el ingreso a los  menús.

Para cada función, se puede especificar una o más reglas . Cada regla se compone de un evento, una condición opcional, la posibilidad de que se aplique, y una o más acciones a realizar. Un evento es un punto de activación dentro de un formulario, como el arranque (WHEN-NEW-FORM-INSTANCE), o cuando se desplaza a un nuevo registro (WHEN-NEW-RECORD-INSTANCE).

El ámbito se evalúa en función del contexto de ejecución actual para determinar si una regla se debe procesar o no. El alcance puede ser de Sucursal, Responsabilidad, Usuario, o el nivel de la industria. Cada regla puede tener uno o más ámbitos asociados.



NOTA: el alcance de la "industria" se reserva para su uso futuro.

La condición es un fragmento de código SQL opcional que se evalúa cuando se produce el evento; si se evalúa como TRUE entonces se procesan las acciones.

Cada acción consta de uno de los siguientes:
  • Propiedad;  como hacer un campo requerido u ocultar una página Tab
  • Incorporado, funcionalidades de  GO_BLOCK, DO_KEY o FND_FUNCTION
  • Mensaje; mostrar  errores o mensajes de advertencia
  • Menú; permitir una entrada de menú especial 
Una vez que las reglas son definidas, cuando la función  se ejecuta entonces las reglas se aplican automáticamente a medida que se producen los eventos dentro del formulario.

Como Ingresar a la pantalla
Para crear personalizaciones para una función determinada, primero invocar esa función desde el menú de navegación. Mientras se ubica en el formulario, elija en el en el menú desplegable Ayuda>> Diagnóstico>> Codigo Personalizado>> Personalizar.




El formulario de Personalizaciones se abrirá automáticamente y consultar las Reglas existentes para esa función. Después de hacer los cambios, guárdelos a continuación, cierre y vuelva a ejecutar la función para que ellos tomen efecto. También puede validar o Aplicar ciertos cambios en forma inmediata para ponerlos a prueba, sin tener que volver a ejecutar el formulario pulsando  los botones  'Validar' o 'Aplicar ahora ".