Mostrando entradas con la etiqueta Application Object Library. Mostrar todas las entradas
Mostrando entradas con la etiqueta Application Object Library. Mostrar todas las entradas

viernes, 27 de abril de 2018

Administrar carpetas

La opción Administrar Carpetas realiza la asignación de una definición predeterminada de la gestión de información a un usuario específico o a una responsabilidad. Esta formar de definir sera asignadas a nuevos propietarios, determinando qué definiciones de carpeta deben ser públicas (a las que puede acceder cualquiera) y estableciendo el comportamiento de AutoQuery  o Consulta Automatica de las carpetas.

Puede realizar diferentes tareas según cómo busque carpetas o asignaciones de carpetas en la ventana Encontrar carpetas.


Para asignar una carpeta a una responsabilidad:


Primero navegar a Administrador de Sistemas >> Aplicación >> Administrar Carpetas al ingresar saldrá la pantalla de búsqueda Encontrar Carpetas. Marcar la opción Asignaciones carpeta por defecto por responsabilidad para ver las responsabilidades para las cuales asignar carpetas predeterminadas.

Puede asignar carpetas por defecto para cada responsabilidad. Cuando los usuarios de esta responsabilidad navegan a este bloque de carpetas, ven la carpeta predeterminada que se ha especificado, a menos que sea reemplazada por un valor predeterminado a nivel de usuario.


En el campo Carpeta, ingrese el nombre de la carpeta predeterminada. El nombre de la carpeta establecerá automáticamente el campo Juego Carpetas. Si no conoce el nombre de la Carpeta, primero ingrese el Juego Carpetas y luego vea las carpetas que pertenecen a ese grupo.

Después de guardar una asignación de carpeta predeterminada para un Juego de carpetas, ese Juego de carpetas ya no aparece en la lista de valores.


Para asignar una carpeta a un usuario:

Marcar la opción Asignaciones carpeta por defecto por usuario para ver una lista de usuarios elegibles.Puede asignar carpetas predeterminadas para cada usuario.  Cuando los usuarios navegan a este bloque de carpeta, ven la carpeta predeterminada que especifique.


En el campo Carpeta, ingrese el nombre de la carpeta predeterminada. El nombre de la carpeta establecerá automáticamente el campo Juego Carpetas.Si no conoce el nombre de la Carpeta, primero ingrese el Juego Carpetas y luego vea las carpetas que pertenecen a ese grupo.

Después de guardar una asignación de carpeta predeterminada para un  Juego de carpetas,  ese Juego de carpetas ya no aparece en la lista de valores.

Para Asignar propietarios de una carpeta:

Marcar la opción Carpetas para ver información general sobre las carpetas. Seleccione la(s) carpeta(s) que requieren un cambio de propietario.Elegir Cambiar Propietario e ingresar el nuevo propietario para las carpetas seleccionadas, o cambie el valor en el campo Propietario para cambiar el propietario de una sola carpeta.


jueves, 8 de septiembre de 2016

El proposito del perfil GL_MJE_FIND_WINDOW_STATE

En Oracle existe el nombre de perfil Asientos Contables: Último Estado de Ventana Encontrar o también ubicado con el código GL_MJE_FIND_WINDOW_STATE. Este perfil tiene la particularidad de no poder ser actualizado.


Esto se debe a que este perfil se crea mediante cierta programación y se actualiza cada vez que se utiliza. Esto permite el ahorro de la ventana de búsqueda  Encontrar Asientos. Para entender su funcionalidad trabaja de manera que cuando se inicia la aplicación en el formulario de Asientos, la primera vez se podrá visualizar el botón Más. Internamente en base de datos se graba a nivel del usuario con el valor MORE.


Si le damos clic al botón saldrá mas campos y aparecerá el botón MenosInternamente en base de datos se graba a nivel del usuario con el valor LESS. Si salimos del formulario y volvemos a ingresar, de acuerdo al estado que pusimos en la pantalla antes de salir, este almacena el valor que se grabo en el perfil. De esta forma guarda  la ultima opción de búsqueda de este formulario.

lunes, 11 de abril de 2016

Usando la opción de Herramienta de diagnóstico de Oracle

La responsabilidad de Herramienta de diagnóstico de Oracle nos facilita en la recopilación y análisis de la información de  EBS al diagnosticar un problema de datos existente, problema transaccional o error de configuración a través de un análisis  completo de la responsabilidad.

Por ejemplo, para utilizar fácilmente esta opción vayamos la responsabilidad; para ello debemos dar clic a cualquier aplicación, en este caso damos clic a Payables. Cada aplicación tendrá sus propias actividades de pruebas. Estas actividades se enumeran en el lado izquierdo, donde el área derecho tendrá los parámetros para ejecutar el informe como figura a continuación:



En cada actividad de prueba debemos colocar sus parámetros respectivos y una vez que este completo debemos dar clic al botón Ejecutar Prueba o Run Test. Si los datos fueron los correctos se mostraran los resultados y debemos dar clic al icono de Reporte.



Se mostrará un informe de lo analizado indicando por secciones todo lo revisado, por ejemplo de la siguiente manera:


Si se desea imprimir el informe, haga clic en el botón imprimir, o en todo caso puede guardar el informe en su computador. Normalmente estos informes son utilizados por Oracle cuando revisa o analiza problemas de un cliente que tiene problemas de información en el EBS.


lunes, 22 de febrero de 2016

Aplicaciones en Oracle EBS

Cuando se define una Aplicación personalizada, se suministran varias piezas de información para las aplicaciones de Oracle. Debe registrar el nombre de la aplicación, el nombre corto, la ruta base de aplicaciónes, y la descripción de la aplicación con la biblioteca de objetos de aplicaciones de Oracle. Oracle utiliza esta información para identificar los objetos de aplicación tales como las responsabilidades y las formas que pertenece a su aplicación. 

Un dato importante es la ruta  base de aplicaciones con el cual se puede encontrar los archivos asociados con la aplicación personalizada. Puede utilizar la aplicación personalizada para nombrar sus menús personalizados, programas concurrentes, responsabilidades, y muchos otros componentes personalizados. Para algunos objetos, la parte de aplicación del nombre sólo garantiza singularidad a través de las aplicaciones de Oracle. Para otros componentes, la aplicación que elija tiene un efecto sobre la funcionalidad del objeto personalizado.

Tener en cuenta que previamente se debe definir una variable de entorno que se traduce en un camino base de la aplicación (Base Path)


Cuando se registra una aplicación personalizada, Oracle utiliza la información para identificar la aplicación cada vez que se hace referencia a ella. Aunque puede cambiar el nombre de una aplicación, puede producirse un cambio en el código de la aplicación en la que se codifica el nombre de la aplicación. Por ejemplo, si pasa argumentos del programa a través del menú que tiene nombre de aplicación codificado, tendrá también que actualizarla.

Tener en cuenta que no debe cambiar el nombre de cualquier aplicación que no se desarrolló, como no se puede estar seguro de las consecuencias. Nunca se debe cambiar el nombre de cualquier aplicación, ya que estas aplicaciones pueden contener referencias codificadas de forma rígida al nombre de la aplicación.



Para agregar una aplicación debemos ir a la responsabilidad Administrador de Sistema >> Aplicación >> Registrar. Ingresar la Aplicación, este nombre será visto por los usuarios de la aplicación.

Un Nombre corto o Abreviatura  sirve para la identificación de formularios, menús, programas concurrentes y otros componentes de la aplicación. El nombre corto se almacena en campos ocultos mientras que el nombre se muestra para usuarios.


Su nombre corto no debe incluir espacios. Se utiliza un nombre corto de aplicación cuando se solicita un proceso simultáneo de un formulario, y cuando se invoca una subrutina de un menú.


El nombre corto puede ser de hasta 50 caracteres, se recomienda que utilice sólo cuatro o cinco caracteres para la facilidad en el mantenimiento de su aplicación y en llamar a las rutinas que utilizan su nombre corto. Para reducir el riesgo de que su aplicación personalizada podría entrar en conflicto con las aplicaciones de Oracle, se recomienda que el nombre corto comience con "XX".


Introduzca el Base Path o Camino Base como el nombre de una variable de entorno que representa el directorio de las aplicaciónes. Oracle realiza una búsqueda en directorios específicos debajo de este Camino Base para los archivos y secuencias de comandos cuando se definen las acciones que residen en archivos ejecutables externos de la aplicación.

En general, un Camino Base de la aplicación debe ser única para que las aplicaciones específicas no escriban en los mismos directorios. Sin embargo, es posible definir aplicaciones personalizadas que serán utilizados sólo para nombrar sus responsabilidades, menús y otros componentes. En este caso, se puede utilizar un  Camino Base de la aplicación de Oracle que utiliza los mimos formularios como su aplicación. Por ejemplo, si se está definiendo una aplicación personalizada GL, se utilizaría la ruta de la base GL_TOP para su aplicación personalizada.

jueves, 14 de enero de 2016

Asignando parametros por defecto en juegos de solicitudes

Cuando se crea un juego de solicitudes es para apoyarnos en algún proceso que consta de varias ejecuciones de programas concurrentes. Esto es de mucha ayuda sin embargo si este programa contiene parámetros durante la ejecución debemos ingresar los valores para su ejecución. Dado el caso es posible que se tenga parámetros fijos por lo que la ventana de parámetros de solicitud le permite personalizar los valores de los parámetros de una solicitud en concreta en un juego de solicitudes.

Para colocar los parámetros a un juego de solicitudes se debe ir a la responsabilidad de Administrador de sistema >> Concurrente >> Juego. Seleccionar o crear el juego de solicitudes e ir a Definir Etapas >> Solicitudes >> Parámetros. Esta ventana contiene campos en la parte superior que son la información general del juego y etapa de la solicitud. La parte inferior muestra varias filas donde se muestran los parámetros para la solicitud.


Tendrá como campos la secuencia el cual muestra el orden de cada parámetro que tiene y se despliega en la solicitud al momento de ejecutar el concurrente.

 El campo Prompt es un campo de sólo lectura que muestra los parámetros del concurrente. Debe marcar  la casilla Desplegar para especificar que se puede ver un parámetro de concurrente en el momento de su ejecución, caso contrario no se mostrará. Marcar  la casilla Modificar para especificar que se puede insertar o cambiar el valor de un parámetro en el concurrente en el momento de su ejecución, caso contrario no se podrá cambiar.


El campo Parámetro Compartido es establecer un valor predeterminado para un parámetro que se produce en más de un programa concurrente dentro del juego de solicitudes. Una vez que ingresa el mismo valor en el Parámetro Compartido para cada ocurrencia del mismo parámetro, el valor que se asigna a la primera ocurrencia del parámetro se convierte en el valor predeterminado. Luego tendrá los campos por defecto, especifique un Tipo predeterminado y Valor para el parámetro y guardar los cambios.

martes, 22 de diciembre de 2015

Activar el parámetro MOAC "Unidad Operativa" para un programa concurrente

En la versión  R12 de Oracle se  puede visualizar un nuevo campo  llamado Unidad Operativa cuando uno desea ejecutar una solicitud. Al inicio este campo esta desactivado.



Con la opción de R12 de Control deAcceso Multi-Organización puede acceder a múltiples unidades operativas. Algunos programas concurrentes se han mejorado para procesar múltiples unidades operativas al mismo tiempo, mientras que para otras solicitudes se debe especificar la unidad operativa cuando se ejecute algún programa.

Para apoyar esto, los programas concurrentes se definen con un modo de unidad operativa de S para la unidad operativa simple o M (Los programa concurrente estarán en este modo por defecto) para múltiples unidades operativas. Si el Modo Unidad Operativa no está configurado para el programa concurrente se producirá un error.

El campo o parámetro Unidad Operativa se conoce como Contexto de reporte en MOAC.

Para un programa concurrente aunque puede haber una necesidad de ejecutar sólo por una unidad, cada responsabilidad tiene acceso a los datos de múltiples unidades operativas basado en el perfil  MO: Perfil de seguridad

Ejecutando un programa concurrente en particular para sólo una unidad operativa individual se puede lograr mediante una sentencia de cómo por ejemplo:

UPDATE fnd_concurrent_programs
   SET multi_org_category = 'S'

 WHERE concurrent_program_name = '&PROGRAM_NAME';

Ahora vamos a ver cómo podemos lograr desde el ambiente de aplicaciones del Oracle.
Para ello ir a la responsabilidad de Administración de sistema >> Concurrente >> Programa. Consulta por el nombre abreviado del programa concurrente. Hacer clic en el icono Actualizar del programa.



Consultar la pestaña Solicitud , luego se debe ubicar en la región opciones de solicitud, seleccione Individual en el menú desplegable de Modo Unidad Operativa.  Guardar los cambios haciendo clic en el botón Aplicar.




Cambiar de responsabilidad y ejecutar su Programa Concurrente donde se pueda ejecutar, al seleccionar el Programa concurrente de la Ventana de Solicitudes, ahora se puede ver que el campo Unidad Operativa está habilitado y se puede ver las unidades operativas  que operan en la lista de valores.


Este valor Unidad Operativa en particular se puede acceder usando la API estándar MOAC: MO_GLOBAL.get_current_org_id

Tener en cuenta que el valor de retorno del contexto de informes o Unidad Operativa se corresponde al  ORG_ID para ser seleccionado  como nombre de Unidad operativa.

lunes, 14 de diciembre de 2015

Como crear y agregar un segmento calificador

Cuando agregamos valores a nuestros juegos de valores que pertenecen a la configuración del plan de cuentas podemos observar que de acuerdo al tipo de cuenta podemos seleccionar segmentos Calificadores.  Dentro de las opciones que nos brinda  Oracle podemos definir calificadores  de segmentos adicionales que son utilizados con la finalidad de brindar una calificación específica para la organización.

Pongamos en siguiente ejemplo: Un centro de costos representa un emplazamiento claramente delimitado donde se producen costos, agrupando estos en unidades de decisión, control y responsabilidad. Un departamento que cuente con un responsable y con un presupuesto es un centro de costos. Los centros de costos se utilizan para la imputación diferenciada de los gastos generales, siendo posible asignar clases de actividad a un centro de costo en particular.

Podemos clasificar los centros de costos entre principales y auxiliares, siendo los principales los que intervienen directamente en la fabricación o construcción y los centros auxiliares los costos indirectos.


Ahora si se requiere crear esta clasificación en Oracle, primero debemos crear un Lookup llamado XX_PRUEBA para ello debemos ir a la responsabilidad de Desarrollador de Aplicaciones >> Aplicación >> Consultas >> Biblioteca de Objetos de Aplicación. Acá debemos crear nuestra consulta con los valores de Principal y Auxiliar.



Para agregar este tipo de clasificador primero debemos empezar a ir a la responsabilidad de Desarrollador de Aplicaciones >> Flexfield >> Clave >> Registrar. Debemos buscar el flexfield clave titulado Accounting Flexfield utilizando la opción de búsqueda o con F11.


Una vez ubicado dar clic al botón Calificadores. Después de hacer clic en el botón Calificador. Consultar el Segmento al cual se requiere en este caso el Segmento Centro de Costo. En la región Calificadores de segmento dar clic al botón nuevo, agregar un nombre para el nuevo calificador, el prompt en este caso llamado tipo. Una descripción que de una referencia al calificador. Se especifica el nombre de una columna derivada al definir un calificador segmento.


En el campo Tipo QuickCode debemos agregar el lookup que se ha definido con anterioridad. Finalmente escoger el Valor por defecto en este caso Principal. Grabar los cambios.



Para revisar los cambios debemos nuevamente verificar los valores de los segmentos de los juego de valores. En el campo Calificadores se puede visualizar el nuevo calificador tipo tal cual se ha configurado.

viernes, 27 de noviembre de 2015

Acceso a Herramientas de Diagnóstico Oracle

La responsabilidad de Herramientas de Diagnóstico Oracle es una herramienta gratuita proporcionada por Oracle para facilitar la recopilación y análisis de información de un problema especifico del E-Business Suite o de alguna configuración existente. La herramienta de diagnóstico de Oracle es proporcionada para facilitar la recopilación y análisis de la información de a través de una prueba completa por responsabilidad.

Cuando se crea un nuevo usuario y se le da la opción de acceder a esta responsabilidad, recibe un error al intentar ejecutar una prueba de diagnostico:

Testgroup is secured and requires execution privileges




Un TestGroup es un Grupo de prueba relacionado, el cual puede tener una sensibilidad asignado (baja, media, alta) y las responsabilidades pueden tener los siguientes roles:

Super User: El Super Usuario puede ejecutar, configurar, visualizar informes y configurar la seguridad para todos los grupos de todas las aplicaciones

Aplicación Super User: El Super Usuario de Aplicaciones puede ejecutar, configurar los parámetros y ver los informes de todos los grupos de su aplicación. Puede ejecutar, configurar los ingresos y ver informes de los grupos de baja sensibilidad de otras aplicaciones


Application End UserEl Usuario Final de Aplicaciones puede ejecutar, configurar los parámetros y ver los informes de los grupos de baja sensibilidad de todas las aplicaciones

El acceso de un usuario en particular para las pruebas de diagnóstico se determina por las responsabilidades asignadas a ese usuario y los roles otorgados a las responsabilidades. Por lo general un usuario quien tiene la responsabilidad de Administrador del sistema puede acceder a realizar diagnósticos ya que contiene los privilegios necesarios. En caso se requiera dar acceso a una nueva responsabilidad se debe  configurar por un usuario que tenga la responsabilidad de el Administrador de Sistema.

Configuración de acceso a Herramientas de Diagnóstico Oracle 
Ingresar al Oracle y navegar a la responsabilidad de Herramienta de Diagnóstico de Oracle >> Herramienta de Diagnostico.  Una vez situado en el ambiente web Oracle Diagnostics ir a la opción Configuration y dar luego a la opción Security.



A continuación la región inferior le mostrara tres opciones a escoger. Para ello debe dar clic a la opción Application Super User.


A continuación la región inferior se actualizará mostrando una lista de valores el cual se debe escoger la aplicación System Administration (Es la aplicación donde se encuentra la responsabilidad a agregar permisos de Super Usuario).



Se actualizará la pagina web donde de la lista de Available Responsibilities debemos transferir una responsabilidad dentro de la lista Selected Responsibilities, para ello seleccionamos la responsabilidad a la que se quiere dar acceso y damos clic en el botón con el símbolo >.


Una vez que la  responsabilidad este dentro de la lista Selected Responsibilities, una vez confirmado dar clic al botón Save amos clic en el botón con el símbolo >.
Cerrar sesión y consultar con el usuario y la responsabilidad con la que se dio el acceso. Se podrá verificar que ya se puede ingresar los parámetros respectivos por por diagnostico.

lunes, 9 de noviembre de 2015

Calificadores Flexfields



Un Calificador FlexField identifica un segmento particular de un FlexField clave. Por lo general, una aplicación necesita algún método de identificación de un segmento particular para algún propósito como la seguridad. Sin embargo, desde un FlexField clave puede ser personalizado de manera que los segmentos aparecen en cualquier orden, la aplicación necesita un mecanismo que no sea el nombre del segmento u orden segmento de utilizar para la identificación de segmento.

Por ejemplo, Oracle General Ledger tiene que ser capaz de identificar qué segmento en el FlexField Contable contiene información de balance y qué segmento contiene información de la cuenta natural. Ya que se puede personalizar el FlexField Contable de modo que los segmentos aparecen en cualquier orden con las instrucciones, Oracle General Ledger necesita el calificador FlexField para determinar qué segmento está utilizando para la información de cuenta natural. Al definir su FlexField Contable, debe especificar qué calificadores FlexField se aplican a qué segmentos.

Un segmento calificador  identifica un tipo particular de valor en un solo segmento de un FlexField clave. Cuando se define un valor de segmento para su segmento de cuenta natural en la ventana de valores de segmento, también debe asignar calificadores que determinan el tipo de cuenta (activos, pasivos, gastos, ingresos o propiedad), si se permite el presupuesto, si se permite la contabilización y otra información específica para el valor del segmento. 

Cuando cambia las Autorizaciones de Presupuesto o de Contabilización para los valores de segmento que ya se han definido, también debe hacer un cambio correspondiente a todas las cuentas que incluyen el valor en las combinaciones contables.

Puede ejecutar el Programa - Heredar Atributos de Valores de Segmentos para propagar estos cambios en todas las cuentas que contienen el valor del segmento modificado en lugar de cambiar todas las combinaciones individualmente en la ventana Cuentas contables.


Puede definir los siguientes calificadores de segmento para su FlexField Contable:

Tipo de cuenta: Define el tipo de cuenta para el valor de segmento de cuenta natural. Puede ingresar tipos de cuenta como Activo, Gasto, Pasivo, Propiedad e Ingresos

Autorizar Presupuestación: Indica si General Ledger debería permitir presupuesto detallado de las cuentas con este valor de segmento.

Autorizar Contabilización: Indica si General Ledger debería permitir la contabilización detallada del Flexfield contable con este valor de segmento.

Reconciliación: Indica si General Ledger debería permitir la reconciliación de cuentas naturales que deben equilibrar a cero. Puede activar o desactivar la reconciliación para un valor de segmento de cuenta o por combinaciones específicas.

Control de cuentas: Control de cuentas  son las cuentas de General Ledger  accede desde Oracle Payables, Receivablese Inventory, para  mostrar los saldos detallados. El calificador permite indicar que valores de segmento representan control de cuentas.


Otro Calificadores de Segmento: Puede definir calificadores  de segmentos adicionales que son utilizados por otras aplicaciones de Oracle y sus programas personalizados.

lunes, 14 de septiembre de 2015

Menus de Procesos AZN

Los menús AZN fueron introducidos en la versión 11.5.3 de Oracle E-Business Suite para una implantación más rápida de los procesos del negocio. Esto menús proporcionan a los usuarios una representación gráfica del flujo del proceso y permiten acceder a las funciones directamente desde el gráfico.

Cuando un menú AZN está asociado a un menú, la pestaña Procesos aparece en el navegador de la siguiente manera:



Cuando un usuario hace clic en la pestaña Procesos podrá ver cada flujo del proceso asociado al menú AZN. Por ejemplo si se asocia el Menú AZN_PR_PAYABLES  podrá ver los flujos de Proceso que intervienen en Payables.


Ahora si damos clic en uno de los iconos que estan dentro de cada flujo, lo que ocurre es que accedemos directamente a un formulario, por ejemplo si le damos clic al icono Ingresar Proveedores, podremos ingresar al formulario de proveedores. 


Los menús AZN proporcionan otra manera para que un usuario pueda navegar a diferentes funciones. El menú AZN_PR_PAYABLES es un menú oculto en la que no tiene ningún prompt. Sin embargo, este realiza que el sistema pueda visualizar la pestaña Procesos que ilustramos anteriormente. 

Como agregar un Menú AZN a una responsabilidad.
Para ello ir a Administrador de Sistema >> Aplicación >> Menú. Buscar su Responsabilidad y agregar un registro con un Menú AZN. Estos menús tiene al inicio AZN como nombre para poder reconocerlo.


Problemas de seguridad con los Menús AZN.
¿Cuál es el problema? Pues que normalmente por razones de seguridad esto genera el acceso no autorizado que afecta negativamente a la seguridad de datos y por lo general al incumplimiento de las regulaciones (SOX, PCI DSS/PA DSS, HIPPA, etc.). Damos el siguiente ejemplo el usuario que ingresa facturas no debe poder registrar pagos por tanto si no desactivamos estos menús nos estaremos saltando las reglas de seguridad.

Excluir menú AZN
Para eliminar el menú AZN debemos hacerlo mediante la creación de una exclusión de menú para la responsabilidad. Para ello debemos navegar a la responsabilidad Administrador de Sistema >> Seguridad >> Responsabilidad >> Definir.


Consultar la responsabilidad que tiene la pestaña de procesos la cual se va a quitar. En la parte inferior de las Responsabilidades ir a la pestaña Exclusiones de menú.  Seleccione el Tipo como Menú y en el campo Nombre de seleccionar el nombre del Menú a excluir y grabar.

miércoles, 26 de agosto de 2015

Juego de Valores tipo Par

Los Juegos de Valores Tipo Par proporcionan un mecanismo que permite seleccionar campos de una estructura Flexfield. Estos juegos de valores se utilizan principalmente para la ejecución de solicitudes al momento de colocar los parámetros y no se utilizan como campos flexfields normales. Para un juego de valores Par, se ofrece un rango de valores válidos.




Para entender mejor este tipo de juegos valores recordemos que son los Flexfields Claves. Sabemos que son combinaciones de diferentes valores de segmento que se almacenan en una tabla de combinación separada. Dependiendo de la estructura puede tener de uno a más campos de segmentos validos. Esto nos ayuda a ejecutar como parámetro de un programa concurrente una combinación de Flexfield Clave el cual puede codificar su propia validación de los valores a escoger.

Creando Juego de Valores Tipo Par
Para crear un  Juego de valores tipo Par  debe tener en cuenta  que se usa User Exit para el ingreso, validación y consulta de  segmentos de Flexfield Clave. Con la validación especial, usted será capaz de entrar en uno o más valores de segmento para un FlexField clave. Para introducir valores de segmento, se pueden usar 3 tipos de User Exits :

POPID se utiliza para permitir que el usuario ingresé el valor del segmento FlexField. Se le llama cuando el cursor entra en el campo del valor del segmento. Con esta User Exits, puede decidir que valores de segmento se debe mostrar, y cómo se debe mostrar. Este se usa en el Evento  Editar

VALID se llama cuando el usuario sale del valor de segmento o confirma la combinación FlexField. Valida el valor introducido de acuerdo a los valores existentes en la tabla de FlexFields Claves. Este se usa en el Evento  Validar

LOADID es opcional, y se puede utilizar para elegir qué información se devuelve como valor FlexField. Esto puede ser los segmentos concatenados, o el value_id para la combinación FlexField o segmentos. Este se usa en el Evento Cargar

Ahora para este caso Juego de Valores debemos usar utilizar los User Exit POPIDR y VALIDR. Al colocar  R se crea automáticamente un rango. Por supuesto que necesitamos 2 parámetros para establecer el rango. Sin embargo, necesitamos sólo un juego de valores.

Para dar un ejemplo se ha creado el juego de valores XX_VS_PAIR_GL. Como todo juego de Valores este se crea con el tipo Par.



En Editar Información sólo se crea los eventos de  Editar y Validar. Primero debemos ingresar en el evento Editar, FND POPIDR , este User Exits sirve para que aparezca una pantalla FlexField, y dejar que el usuario introduzca los valores FlexField. Agregamos CODE="GL #", este es el código del FlexField Clave que vamos a utilizar.

NUM="500" Es el id de la estructura FlexField. Si sólo tiene una estructura única FlexField, esto es opcional. Para varias estructuras Flexfields habilitadas es necesario ingresar el número id. O bien puede usar el comando $FLEX$ para traer el valor de un juego de valor anterior que devuelva el id de la estructura flexfield.

APPL_SHORT_NAME="SQLGL" El nombre corto para la aplicación del FlexField el cual pertenece  Junto con el  Código, esto nos ayudara identificar el Flexfield. VALIDATE = "PARTIAL" Esta opción puede ser NONE, PARTIAL o FULL. NONE significa no se valida la combinación. PARTIAL significa solo se valida los segmentos por separados, no hay validación si existe la combinación. FULL significa que los segmentos y la combinación serán validados y si se introduce un nuevo valor, éste se insertará en la tabla de FlexField Claves.

SEG=":!VALUE" Este es el campo Formulario que se utilizará para almacenar el valor de los segmentos. Al agregar ID=":!ID" esto completara rellenará la  columna ID con el valor ID de la combinación. DESC=":!MEANING" nos ayudara a completar la  columna descripción con el valor descripción de la combinación.

Finalmente añadimos DISPLAY ="2", este parámetro" está por defecto con ALL. Pero también puede especificar los segmentos separados por su número de secuencia o nombres. En nuestro caso, estamos mostrando el segmento 2 de nuestra combinación

Luego debemos crear el evento Validar. Usaremos los mismos códigos que Editar solo que cambiaremos FND POPIDR por FND VALIDR.



El siguiente paso es establecer los parámetros tanto para el segmento Inicial como Final . Ambos parámetros tienen el mismo Juego de Valores de Tipo Par.



Ahora, al ejecutar el programa concurrente, podemos ingresar en un rango los segmentos que queremos consultar. Esto incluye la validación de que el valor final es de hecho superior o igual al valor inicial.


jueves, 2 de julio de 2015

Colocar en modo Lectura los campos Flexfields Descriptivos

La librería Custom.pll puede ser utilizado para una amplia gama de personalizaciones. Por ejemplo, puede ser utilizado para hacer que los segmentos de Flexfields Descriptivos(DFF) estén en modo de solo lectura basado en una condición o varias condiciones.

Para ello vamos a usar el proceso FND_DESCR_FLEX.UPDATE_DEFINITION. Este proceso ya esta dentro de las muchas librerías asociadas a la librería Custom.pll. Este proceso identifica el Flexfield Descriptivo indicando su nombre y el bloque donde se desea realizar una acción. Este proceso tiene la siguiente estructura de parámetros:      

FND_DESCR_FLEX.UPDATE_DEFINITION(
/* Parametros obligatorios */
    BLOCK=>'Nombre del Bloque',
    FIELD=>'Nombre del Campo',
/* Habilitar o Desahabilitar Flexfields*/   
    ENABLED=>'Indicar Y o N',
/* Habilitar modo lectura*/       
    READ_ONLY=>'Indicar Y o N',
/* Parametros opcionales*/       
    VDATE=>'Indicar Fecha',
    TITLE =>'Titulo',
    AUTOPICK=>'Indicar Y o N',
    USEDBFLDS=>'Indicar Y o N',
    LOCK_FLAG=>'Indicar Y o N',
    HELP=>'APPL=application_short_name;
            TARGET=target_name',
    CONTEXT_LIKE=>'WHERE_clause_fragment');

El procedimiento deshabilita todos los segmentos DFF, esto se debe a que un FlexField es un solo campo en un formulario, sin embargo cuando se hace clic en él, se abre la ventana de Flexfields Descriptivos, los múltiples campos que se visualizan es en realidad una salida de usuario con múltiples segmentos el cual no forman campos. Es por ello que no es posible deshabilitar un solo segmento Flexifled sin que los otros sigan habilitados. 

Por ejemplo vamos a deshabilitar los segmentos DFF de la pantalla de Proveedores. En nuestra librería custom debemos ubicarnos  en una Unidad de Programa y podemos colocar el siguiente código:   

IF ( EVENT_NAME = 'WHEN-NEW-BLOCK-INSTANCE' AND  V_FORM_NAME = 'APXVDMVD') THEN
  IF  V_BLOCK_NAME = 'VNDR' AND NAME_IN('VNDR.VENDOR_TYPE_LOOKUP_CODE')='VENDOR' IS NOT NULL THEN
               
 FND_DESCR_FLEX.UPDATE_DEFINITION(BLOCK     => 'VNDR',
                                  FIELD     => 'DESC_FF_MIR',
                                  READ_ONLY  => 'Y');
            
    END IF;
  END IF;     

Compilamos nuestra librería en el servidor de Aplicaciones y nos ubicaremos en la pantalla de Proveedores. Podremos apreciar que los campos DFF estan solo en modo lectura. Tener en cuenta que es necesario conocer el nombre del bloque en esta caso VNDR y el campo DFF al cual desea realizar la deshabilitación.