Vous êtes sur la page 1sur 10

Apuntes Forms

CSAR

TRIGGERS EN FORMS

WHEN_BUTTON_PRESSED acta cuando un PUSH BUTTON es activado. A nivel de FORM, BLOCK, ITEM. WHEN_CHECKBOX_CHANGED acta siempre que el estado de un check box cambia, ya sea por medio del mouse o por teclado. A nivel de FORM, BLOCK. ITEM. WHEN_CLEAR_BLOCK acta justo antes de que FORMS limpie los datos del bloque actual. NO acta cuando FORMS limpia los datos durante el evento CLEAR_FORM. A nivel de FORM, BLOCK. WHEN_CREATE_RECORD acta siempre que FORMS crea un nuevo registro. Por ejemplo, cuando el usuario presiona la tecla INSERT, o navega al ltimo registro de un bloque, FORMS dispara el trigger. A nivel de FORM, BLOCK. WHEN_CUSTOM_ITEM_EVENT acta siempre que un VBX enva un evento a FORMS. A nivel de FORM, BLOCK,ITEM. WHEN_DATABASE_RECORD acta cuando FORMS califica un registro como insertado o actualizado. El trigger acta tan pronto como FORMS determine a travs de la validacin que el registro debe ser procesado en el siguiente COMMIT como un registro insertado o actualizado. Esto ocurre generalmente slo cuando el usuario modifica el primer TEM de un registro, y despus el usuario intente navegar fuera del ITEM. A nivel de FORM, BLOCK. WHEN_FORM_NAVIGATE acta siempre que cualquier navegacin en el formulario tenga lugar. A nivel de FORM. WHEN_IMAGE_ACTIVATED acta cuando un usuario hace doble click con el ratn en un IMAGE ITEM. A nivel de FORM, BLOCK, ITEM. WHEN_IMAGE_PRESSED acta cuando un usuario utiliza el ratn haciendo click o doble click en un IMAGE ITEM. A nivel de FORM, BLOCK, ITEM. WHEN_LIST_ACTIVATED acta cuando un usuario hace doble click en un elemento de la lista de un LIST ITEM que est definido como T-LIST. A nivel de FORM, BLOCK, ITEM. WHEN_LIST_CHANGED acta cuando un usuario selecciona un elemento diferente de un LIST ITEM o deselecciona el actual. Adicionalmente, si el trigger est asociado a un COMBO BOX, actuar cada vez que el usuario introduzca o modifique algn elemento de la lista. A nivel de FORM, BLOCK, ITEM.

WHEN_MOUSE_CLICK acta despus de que el usuario haga click siempre que ocurra uno de los siguientes eventos: Si est a nivel de FORM, acta cuando se hace click dentro de cualquier CANVAS o ITEM del formulario. Si est a nivel de BLOCK, acta cuando se hace click dentro de cualquier ITEM de dicho bloque. Si est a nivel de ITEM, acta cuando se hace click dentro de dicho ITEM.. Cualquier trigger que est asociado con alguno de estos eventos actuar antes de que se dispare el WHEN_MOUSE_CLICK.

WHEN_MOUSE_DOUBLECLICK acta despus de el usuario haga doble click siempre que ocurra uno de los siguientes eventos: Si est a nivel de FORM, acta cuando se hace doble click dentro de cualquier CANVAS o ITEM del formulario. Si est a nivel de BLOCK, acta cuando se hace doble click dentro de cualquier ITEM de dicho bloque. Si est a nivel de ITEM, acta cuando se hace doble click dentro de dicho ITEM. Cualquier trigger que est asociado con alguno de estos eventos actuar antes de que se dispare el WHEN_MOUSE_DOUBLECLICK.

WHEN_MOUSE_DOWN acta despus de que el usuario presiona el botn del ratn y lo mantiene presionado siempre que ocurra uno de los siguientes eventos: Si est a nivel de FORM, acta cuando se hace click y arrastra dentro de cualquier CANVAS o ITEM del formulario. Si est a nivel de BLOCK, acta cuando se hace click y arrastra dentro de cualquier ITEM de dicho bloque. Si est a nivel de ITEM, acta cuando se hace doble click y arrastra dentro de dicho ITEM. WHEN_MOUSE_ENTER acta cuando el ratn se introduce dentro de un ITEM o CANVAS siempre que ocurra uno de los siguientes eventos: Si est a nivel de FORM, acta cuando el ratn se introduce en cualquier CANVAS o ITEM del formulario.

Pgina - 1 -

Apuntes Forms

CSAR
Si est a nivel de BLOCK, acta cuando el ratn se introduce en cualquier ITEM de dicho bloque. Si est a nivel de ITEM, acta cuando el ratn se introduce en dicho ITEM.

WHEN_MOUSE_LEAVE - acta cuando el ratn sale de un ITEM o CANVAS siempre que ocurra uno de los siguientes eventos: Si est a nivel de FORM, acta cuando el ratn abandona cualquier CANVAS o ITEM del formulario. Si est a nivel de BLOCK, acta cuando el ratn abandona cualquier ITEM de dicho bloque. Si est a nivel de ITEM, acta cuando el ratn abandona dicho ITEM. WHEN_MOUSE_MOVE - acta cuando el ratn se mueve dentro de un ITEM o CANVAS siempre que ocurra uno de los siguientes eventos: Si est a nivel de FORM, acta cuando el ratn se mueve dentro de cualquier CANVAS o ITEM del formulario. Si est a nivel de BLOCK, acta cuando el ratn se mueve dentro de cualquier ITEM de dicho bloque. Si est a nivel de ITEM, acta cuando el ratn se mueve dentro de dicho ITEM. WHEN_MOUSE_UP - acta cuando el botn es presionado y soltado siempre que ocurra uno de los siguientes eventos:

Si est a nivel de FORM, acta cuando el evento se produce dentro de cualquier CANVAS o ITEM del formulario. Si est a nivel de BLOCK, acta cuando el evento se produce dentro de cualquier ITEM de dicho bloque. Si est a nivel de ITEM, acta cuando el evento se produce dentro de dicho ITEM.

WHEN_NEW_BLOCK_INSTANCE acta cuando el foco se mueve hacia un ITEM que se encuentra en un bloque distinto al que anteriormente conservaba el foco. Especficamente, acta despus de la navegacin al ITEM, cuando FORMS est preparado para aceptar la entrada en el nuevo bloque. A nivel de FORM, BLOCK. WHEN_NEW_FORM_INSTANCE al comienzo de la aplicacin, FORMS navega al primer ITEM del primer bloque que encuentra. Este trigger acta despus despus de que finalicen satisfactoriamente todos los triggers navegables que se disparan durante la secuencia inicial de navegacin. NO se dispara cuando el control es devuelto de un formulario al formulario que lo llam. En aplicaciones multi_form, el trigger no se dispara cuando el foco cambia de una a otra. A nivel de FORM. WHEN_NEW_ITEM_INSTANCE acta cuando el foco se mueve hacia un ITEM. Especficamente, acta despus de la navegacin hacia dicho ITEM, cuando FORMS est preparado para aceptar la entrada en un ITEM que es diferente al ITEM en que estaba situado el foco anteriormente. A nivel de FORM, BLOCK, ITEM. WHEN_NEW_RECORD_INSTANCE acta cuando el foco se desplaza hacia un ITEM en un registro diferente al que anteriormente capturo el foco. Concretamente, acta despus de la navegacin a un ITEM de un registro, cuando FORMS est preparado para aceptar la entrada en un registro diferente del que previamente haba capturado el foco. A nivel de FORM, BLOCK.

WHEN_RADIO_CHANGED acta cuando un usuario selecciona un RADIO BUTTON diferente de un RADIO GROUP, o deselecciona el RADIO BUTTON actual, ya sea por medio de ratn o de teclado. A nivel de FORM, BLOCK, ITEM.

WHEN_REMOVE_RECORD acta cuando la aplicacin o el usuario limpian o eliminan un registro. A nivel de FORM, BLOCK, ITEM. WHEN_TAB_PAGE_CHANGED acta siempre que hay un ITEM explcito o cuando se navega de una TAB PAGE a otra en un TAB CANVAS. A nivel de FORM. WHEN_TIMER_EXPIRED acta cuando el tiempo determinado como duracin de un TIMER. A nivel de FORM. WHEN_VALIDATE_ITEM acta durante el proceso de validacin de un ITEM. Concretamente, acta como la ltima parte de la validacin para ITEMS con estado NEW o CHANGED. A nivel de FORM, BLOCK, ITEM. WHEN_VALIDATE_RECORD acta durante el proceso de validacin de un registro. Concretamente, acta como la ltima parte de la validacin para registros con estado NEW o CHANGED. A nivel de FORM, BLOCK.

Pgina - 2 -

Apuntes Forms

CSAR

WHEN_WINDOW_ACTIVATED acta cuando una ventana se convierte en ventana activa. Esto ocurre siempre que el foco pasa a una ventana diferente de la actual. Ntese que las ventanas pueden ser activadas haciendo click sobre ellas. Esta operacin es independiente de la navegacin a ITEMS de dicha ventana. De este modo, la navegacin a un ITEM de una ventana diferente siempre activar la ventana, pero esto puede ocurrir independientemente de la navegacin. A nivel de FORM.

WHEN_WINDOW_CLOSED acta cuando un usuario cierra una ventana usando el comando especfico para ello. A nivel de FORM. WHEN_WINDOW_DESACTIVATED acta cuando un usuario desactiva una ventana enviando el foco a otra. A nivel de FORM. WHEN_WINDOW_RESIZED acta cuando una ventana es redimensionada, incluso si es realizado por el usuario con SET_WINDOW_PROPERTY o RESIZE_WINDOW. Incluso si la ventana se encuentra inactiva, el trigger se disparar. El trigger tambin acta en la entrada a la aplicacin, cuando la ventana es dibujada por primera vez. A nivel de FORM.

PRE_BLOCK acta durante el proceso de entrada al bloque, durante la entrada de un bloque a otro. A nivel de FORM, BLOCK. PRE_COMMIT acta durante los procesos de envo y validacin de los datos, antes de que FORMS procese cualquier registro a modificar. El trigger se dispara despus de que FORMS determine si se trata de INSERTS, UPDATES o DELETES. El trigger NO se dispara cuando hay un intento de commit, sino que la validacin determina que no existe ningn cambio en los registros del formulario. A nivel de FORM. PRE_DELETE acta durante los procesos de envo y validacin de los datos, antes de que una fila sea borrada. FORMS crea implcitamente un trigger PRE_DELETE para cualquier relacin maestro-detalle que tenga la propiedad DELETE RECORD BEHAVIOR en Cascading. A nivel de FORM, BLOCK. PRE_FIELD ( PRE_TEXT_ITEM ) acta durante el proceso de entrada de ITEMS, tambin durante la navegacin de un ITEM a un TEXT ITEM. A nivel de FORM, BLOCK, ITEM. PRE_FORM acta durante la entrada del formulario (form event), en la carga de inicio de la aplicacin. A nivel de FORM. PRE_INSERT acta durante los procesos de envo y validacin de los datos, antes de que una fila sea insertada. Se dispara una vez por cada registro pendiente para insertar. A nivel de FORM, BLOCK. PRE_LOGON acta justo antes de que FORMS inicie el procedimiento de conexin a la aplicacin. A nivel de FORM. PRE_LOGOUT - acta justo antes de que FORMS inicie el procedimiento de desconexin a la aplicacin. A nivel de FORM. PRE_QUERY acta durante el proceso de EXECUTE QUERY o COUNT QUERY, inmediatamente antes de que FORMS construya y haga pblica la sentencia SELECT que identificar las filas que satisfacen los criterios de bsqueda. A nivel de FORM, BLOCK. PRE_RECORD acta durante el proceso de entrada de registros, tambin durante la navegacin a un registro diferente. A nivel de FORM, BLOCK. PRE_SELECT acta durante los procesos de EXECUTE QUERY y COUNT QUERY, despus de que FORMS construya la sentencia SELECT para ser emitida. La sentencia SELECT puede ser examinada leyendo el valor de la variable del sistema SYSTEM.LAST_QUERY. PRE_TEXT_ITEM - acta durante el proceso de entrada de ITEMS, tambin durante la navegacin de un ITEM a un TEXT ITEM. A nivel de FORM, BLOCK, ITEM. PRE_UPDATE acta durante los procesos de envo y validacin de los datos, antes de que una fila sea actualizada. Se dispara una vez por cada fila pendiente de actualizacin. A nivel de FORM, BLOCK. POST_BLOCK acta durante la salida del bloque. A nivel de FORM, BLOCK. POST_CHANGE acta cuando se cumple cualquiera de las condiciones siguientes: El proceso de validacin de ITEMS determina que el ITEM est etiquetado como CHANGED y no es nulo. Un operador devuelve un valor dentro de un ITEM mediante una LISTA DE VALORES y ese valor no es nulo. FORMS carga un valor no nulo dentro de un ITEM. En este caso, el trigger WHEN_VALIDATE_ITEM no se dispara. Si se quiere evitar esta situacin y librarse eficazmente del trigger POST_CHANGE, es

Pgina - 3 -

Apuntes Forms

CSAR
necesario incluir un POST_QUERY adems del WHEN_VALIDATE_ITEM. A nivel de FORM, BLOCK, ITEM.

POST_DATABASE_COMMIT acta una vez durante los procesos de envo y validacin de los datos, despus de que se produzca la validacin en la Base de Datos. Es de sealar que el POST_FORMS_COMMIT acta despus de cualquier sentencia DML que haya sido enviada a la Base de Datos, pero antes de que la transaccin haya finalizado emitiendo el mensaje correspondiente. El POST_DATABASE_COMMIT acta despus de que FORMS haya hecho pblico el commit finalizando la transaccin. A nivel de FORM. POST_FORMS_COMMIT acta una vez durante los procesos de envo y validacin de los datos. Si hay algn registro en el formulario que haya sido clasificado como INSERT, UPDATE o DELETE, el trigger se disparar despus de que los cambios hayan sido escritos en la ase de Datos, pero antes de que FORMS haya hecho pblico el commit finalizando la transaccin. Si el usuario inicia un commit cuando no hay registros pendientes de validacin, FORMS dispara el POST_FORMS_COMMIT inmediatamente, sin enviar los cambios a la Base de Datos. A nivel de FORM. POST_FIELD acta durante el proceso de salida de ITEMS en TEXT ITEMS. Concretamente, el trigger se dispara cuando el foco se desplaza de un TEXT ITEM a cualquier otro ITEM. A nivel de FORM, BLOCK, ITEM. POST_FORM acta durante la salida del formulario. A nivel de FORM. POST_INSERT acta durante los procesos de envo y validacin de los datos, justo despus de que un registro sea insertado. Se dispara una vez por cada registro insertado en la Base de Datos durante el proceso de validacin. A nivel de FORM, BLOCK. POST_LOGON acta a nivel de FORM despus de cualquiera de los siguientes eventos: La finalizacin satisfactoria del proceso de conexin de FORMS por defecto. La ejecucin satisfactoria del trigger ON_LOGON. POST_LOGOUT acta a nivel de FORM despus de cualquiera de los siguientes eventos: La desconexin satisfactoria de ORACLE. La ejecucin satisfactoria del trigger ON_LOGOUT. . POST_QUERY cuando una consulta est siendo ejecutada en el bloque, el trigger acta cada vez que FORMS carga un registro dentro del bloque. El trigger acta una vez por cada registro cargado en la lista de registros del bloque. A nivel de FORM, BLOCK. POST_RECORD acta durante el proceso de salida de registros. Concretamente, el trigger se dispara siempre que el usuario o la aplicacin desplazan el foco de un registro a otro. El proceso de salida de registros puede ocurrir como resultado de muchas operaciones, incluyendo INSERT_RECORD, DELETE_RECORD, NEXT_RECORD, NEXT_BLOCK, CREATE_RECORD, PREVIOUS_BLOCK, etc. A nivel de FORM, BLOCK. POST_SELECT acta despus de que la etapa de seleccin por defecto del proceso de consulta, o despus de la ejecucin satisfactoria del trigger ON_SELECT. Se dispara antes de que ningn registro sea devuelto por la consulta en el proceso de carga. A nivel de FORM, BLOCK. POST_TEXT_ITEM acta durante el proceso de salida de un ITEM en TEXT ITEMS. Concretamente, se dispara cuando el foco se desplaza de un TEXT ITEM a cualquier otro ITEM. A nivel de FORM, BLOCK, ITEM. POST_UPDATE acta durante los procesos de envo y validacin de los datos, despus de que una fila sea actualizada. Se dispara una vez por cada fila actualizada en la Base de Datos durante el proceso de validacin. A nivel de FORM, BLOCK. ON_CHECK_DELETE_MASTER FORMS crea este trigger automticamente cuando se define una relacin maestrodetalle y la propiedad de la relacin Delete Record Behavior est en Non Isolated. Se dispara cuando hay un intento de borrar un registro del bloque maestro de una relacin maestro-detalle. A nivel de FORM, BLOCK. ON_CHECK_UNIQUE durante el proceso de validacin, el trigger se dispara cuando FORMS normalmente comprueba que los valores de la clave primaria son nicos antes de insertar o actualizar un registro de una tabla de la Base de Datos. Se dispara una vez por cada registro que haya sido insertado o actualizado. Reemplaza el proceso de comprobacin por defecto de la exclusividad de los registros. Cuando un bloque tiene la propiedad Enforce Primary Key a Yes, FORMS, por defecto, comprueba la exclusividad de un registro construyendo y ejecutando la sentencia SELECT correspondiente para seleccionar las filas de valores de clave primaria del actual registro. Si se encuentra alguna fila duplicada, FORMS visualiza este mensaje: FRM-40600: Record has already been inserted. Para un registro que haya sido catalogado como INSERT, FORMS siempre comprueba los valores nicos de la clave primaria. En el caso de un UPDATE, FORMS chequea los valores de clave primaria slo si uno o ms ITEMS que tengan la propiedad PRIMARY KEY modificada. A nivel de FORM, BLOCK.

ON_CLEAR_BLOCK acta justo antes de que FORMS limpie los datos del bloque actual. NO se dispara cuando FORMS limpia el bloque mediante el evento CLEAR_FORM. A nivel de FORM, BLOCK.

Pgina - 4 -

Apuntes Forms

CSAR

ON_CLEAR_DETAILS acta cuando el evento de coordinacin se produce en un bloque maestro de una relacin maestro-detalle. Un evento de coordinacin es cualquier evento que modifique el registro actual en el bloque maestro. A nivel de FORM, BLOCK.

ON_CLOSE acta cuando la aplicacin o el usuario provocan el cierre de una consulta. Por defecto, FORMS cierra la consulta cuando todos los registros identificados por los criterios de bsqueda han sido devueltos, o cuando el usuario o la aplicacin abortan la consulta. Este trigger implementa el normal funcionamiento de FORMS en la fase de cierre de la consulta. A nivel de FORM.

ON_COLUMN_SECURITY - acta cuando FORMS normalmente debera forzar la seguridad en el nivel de columnas para cada bloque que tenga la propiedad Enforce Column Security a ON. Reemplaza el proceso de comprobacin en la seguridad de columnas. Por defecto, FORMS fuerza la seguridad de las columnas consultando a la Base de Datos para determinar las columnas de las tablas de la Base de Datos sobre las que el usuario actual tiene privilegio de UPDATE. Para las columnas que el usuario no est autorizado a actualizar, FORMS convierte los correspondientes ITEMS en noactualizables, situando la propiedad Update Alowed a OFF dinmicamente. FORMS ejecuta esta accin al comienzo de la aplicacin, procesando cada bloque secuencialmente. A nivel de FORM, BLOCK.

ON_COMMIT acta siempre que FORMS deba hacer pblica la confirmacin del commit en la Base de Datos para finalizar la transaccin. Por defecto, esta operacin tiene lugar despus de que todos los registros catalogados como INSERTS, UPDATES y DELETES hayan sido enviados a la base de Datos. A nivel de FORM.

ON_COUNT acta cuando FORMS debe ejecutar normalmente el proceso de COUNT_QUERY por defecto para determinar el nmero de filas que satisfacen los criterios de bsqueda. Cuando el trigger completa su ejecucin, FORMS visualiza el mensaje siguiente: FRM-40355: Query will retrieve <n> records. El trigger reemplaza el proceso de seleccin de FORMS para identificar las filas que satisfacen los criterios de bsqueda. A nivel de FORM, BLOCK.

ON_DATABASE_RECORD acta cuando FORMS califica un registro como insertado o actualizado. El trigger acta tan pronto como FORMS determine a travs de la validacin que el registro debe ser procesado en el siguiente COMMIT como un registro insertado o actualizado. Esto ocurre generalmente slo cuando el usuario modifica el primer TEM de un registro, y despus el usuario intente navegar fuera del ITEM. A nivel de FORM, BLOCK.

ON_DELETE acta durante los procesos de envo y validacin de los datos. Concretamente, el trigger se dispara despus de que acte el trigger PRE_DELETE, y antes de que se dispare el trigger POST_DELETE, reemplazando el DELETE actual en la Base de Datos para una fila dada. Se dispara una vez por cada registro catalogado como DELETE en la Base de Datos. Reemplaza el proceso de manejo de registros borrados durante el envo de los datos a la Base de datos. A nivel de FORM, BLOCK.

ON_ERROR acta siempre que FORMS deba emitir normalmente un mensaje de error. Reemplaza la escritura del mensaje de error en la lnea de mensajes. A nivel de FORM, BLOCK, ITEM. ON_FETCH cuando una consulta es abierta por primera vez, se dispara inmediatamente despus de que el trigger ON_SELECT acte, cuando los primeros registros son cargados dentro del bloque. Mientras la consulta permanece abierta, acta de nuevo cada vez que un conjunto de filas deban ser cargadas dentro del bloque. Reemplaza el normal funcionamiento del proceso de carga de registros dentro del bloque durante la operacin de consulta. A nivel de FORM, BLOCK.

ON_INSERT acta durante los procesos de envo y validacin de los datos. Concretamente, se dispara cuando FORMS deba insertar normalmente un registro en la Base de Datos. Acta una vez por cada registro catalogado como INSERT en la Base de Datos. Reemplaza el proceso de insercin de registros por defecto durante el envo de los datos. A nivel de FORM, BLOCK.

ON_LOCK acta siempre que FORMS intenta bloquear normalmente una fila, as como cuando el usuario presiona una tecla para modificar el dato de un ITEM. El trigger se dispara entre la pulsacin de la tecla y la visualizacin del dato modificado. Reemplaza el proceso por defecto de FORMS para bloquear filas. A nivel de FORM, BLOCK.

ON_LOGON acta una vez en la conexin cuando FORMS inicia el proceso de conexin. Reemplaza al proceso de conexin por defecto. A nivel de FORM. ON_LOGOUT - acta cuando FORMS inicia el proceso de desconexin. Reemplaza al proceso de desconexin de FORMS y de RDBMS por defecto. A nivel de FORM. ON_MESSAGE acta siempre que FORMS origina un mensaje a visualizar. Reemplaza la escritura de un mensaje en la lnea de mensajes. A nivel de FORM, BLOCK, ITEM. ON_NEW_FIELD_INSTANCE acta cuando el foco se desplaza a un ITEM. Concretamente, se dispara despus de la navegacin a un ITEM, cuando FORMS est preparado para aceptar la entrada en un ITEM diferente al que anteriormente haba capturado el foco. A nivel de FORM, BLOCK, ITEM.

ON_NEW_RECORD - acta siempre que FORMS crea un nuevo registro. Por ejemplo, cuando el usuario presiona la tecla INSERT, o navega al ltimo registro de un bloque, FORMS dispara el trigger. A nivel de FORM, BLOCK.

Pgina - 5 -

Apuntes Forms

CSAR

ON_POPULATE_DETAILS FORMS crea implcitamente este trigger cuando se define una relacin maestro-detalle. Se dispara cuando FORMS necesita hacer pblico el bloque detalle de una relacin maestr-detalle. A nivel de FORM, BLOCK.

ON_REMOVE_RECORD acta cuando la aplicacin o el usuario limpian o eliminan un registro. A nivel de FORM, BLOCK, ITEM. ON_ROLLBACK acta cuando FORMS emite normalmente una sentencia ROLLBACK. Reemplaza el proceso de ROLLBACK por defecto. A nivel de FORM. ON_SAVEPOINT - acta cuando FORMS emite normalmente una sentencia SAVEPOINT. Por defecto, FORMS emite SAVEPOINTS al comienzo de la aplicacin y al comienzo de cada proceso de envo y validacin de datos. Reemplaza el proceso de emisin de SAVEPOINTS por defecto. A nivel de FORM.

ON_SELECT acta cuando FORMS ejecuta normalmente la fase de seleccin de la consulta, para identificar los registros de la Base de Datos que satisfacen los criterios de bsqueda. Reemplaza las apertura de cursor, anlisis y ejecucin de la consulta. A nivel de FORM, BLOCK.

ON_SEQUENCE_NUMBER acta cuando FORMS ejecuta normalmente el proceso por defecto de generacin de nmeros secuenciales para asignarlos como valores de ITEMS. Reemplaza la serie de eventos que tienen lugar por defecto cuando FORMS interacta con la Base de Datos para obtener el siguiente valor de una secuencia definida en la Base de Datos. A nivel de FORM, BLOCK, ITEM.

ON_UPDATE acta durante los procesos de envo y validacin de los datos. Concretamente, se dispara despus de que el trigger PRE_UPDATE acte, y ates de que el trigger POST_UPDATE se dispare, cuando FORMS debe actualizar un registro en la base de Datos. El trigger acta una vez por cada registro catalogado como UPDATE. Reemplaza el proceso por defecto de actualizacin de registros durante el envo de transacciones. A nivel de FORM, BLOCK.

ON_VALIDATE_FIELD - acta durante el proceso de validacin de un ITEM. Concretamente, acta como la ltima parte de la validacin para ITEMS con estado NEW o CHANGED. A nivel de FORM, BLOCK, ITEM. ON_VALIDATE_RECORD acta durante el proceso de validacin de un registro. Concretamente, acta como la ltima parte de la validacin para registros con estado NEW o CHANGED. A nivel de FORM, BLOCK. VARIABLES DE SISTEMA

SYSTEM.BLOCK_STATUS representa el estado del bloque en el que est situado el cursor, o del bloque actual durante el tratamiento de triggers. El valor puede ser uno de estos tres: CHANGED indica que el bloque contiene al menos un registro cambiado. NEW indica que el bloque contiene slo registros nuevos.

QUERY indica que el bloque contiene slo registros vlidos que han sido recuperados de la Base de Datos. SYSTEM.COORDINATION_OPERATION esta variable de sistema trabaja en compaa de SYSTEM.MASTER_BLOCK para ayudar a que el trigger ON_CLEAR_DETAILS determine qu tipo de operacin de coordinacin activ el trigger, y en qu bloque maestro de la relacin maestro-detalle. Los valores de las dos variables de sistema permanecen constantes a lo largo de la fase de limpieza de cualquier bloque. SYSTEM.MASTER_BLOCK representa el nombre del bloque maestro, y SYSTEM.COORDINATION_OPERATION representa el evento provocado en el bloque maestro. El proceso de CLEAR_ALL_MASTER_DETAILS el cual es generado automticamente cuando una relacin es creada, comprueba el valor de SYSTEM.COORDINATION_OPERATION para proveer un especial manejo de los eventos CLEAR_RECORD y SYNCHRONIZE, los cuales pueden ser diferentes dependiendo del evento. El proceso de CLEAR_ALL_MASTER_DETAILS tambin comprueba el valor de SYSTEM.MASTER_BLOCK para verificar que mientras est procesando el bloque maestro de la relacin, est buscando slo bloques que contengan cambios. Los valores de estas dos variables de sistema slo tienen valor dentro del trigger ON_CLEAR_DETAILS, o dentro de un PROGRAM_UNIT llamado por ste. SYSTEM.CURRENT_BLOCK el valor que SYSTEM.CURRENT_BLOCK representa depende de la unidad actual de navegacin. Si la unidad actual de navegacin es un bloque, registro o tem (como en los triggers PRE y POST TEM, RECORD y BLOCK), el valor de sta variable es el nombre del bloque que FORMS est procesando o sobre el cual se encuentra el cursor. Si la unidad actual de navegacin es un formulario (como en los triggers PRE y POST FORM), el valor de la variable es NULL. SYSTEM.CURRENT_DATETIME representa la fecha actual del sistema operativo. El valor es de tipo CHAR con el siguiente formeto: DD-MON-YYYY HH24:MI:SS. Reemplaza a $$DATE$$, evitando consultar a la Base de Datos

Pgina - 6 -

Apuntes Forms

CSAR

SYSTEM.CURRENT_FORM representa el nombre del formulario que se est ejecutando actualmente. El valor es siempre una cadena de caracteres. Puede utilizarse GET_APPLICATION_PROPERTY para obtener el nombre del formulario actual.

SYSTEM.CURRENT_TEM el valor que representa depende de la unidad actual de navegacin: Si la unidad actual de navegacin es un tem (como en los triggers PRE y POST TEM), el valor de la variable es el nombre del tem que FORMS est procesando, o sobre el que se encuentra el cursor actualmente. El nombre del tem devuelto NO incluye el prefijo del nombre del bloque al que pertenece. Si la unidad actual de navegacin es un registro, bloque o formulario (como en los triggers PRE y POST RECORD, BLOCK o FORM), el valor de la variable es NULL. Esta variable est incluida por compatibilidad con versiones anteriores. En su lugar, es recomendable utilizar las variables SYSTEM.CURSOR_TEM o SYSTEM.TRIGGER_TEM. SYSTEM.CURRENT_VALUE representa el valor del tem que est registrado como SYSTEM.CURRENT_TEM, es decir, el valor actual del tem que actualmente tiene capturado el foco. Es un valor de tipo carcter. Esta variable est incluida por compatibilidad con versiones anteriores. En su lugar, es recomendable utilizar las variables SYSTEM.CURSOR_TEM o SYSTEM.CURSOR_VALUE. SYSTEM.CURSOR_BLOCK - el valor que representa depende de la actual unidad de navegacin: Si la unidad actual de navegacin es un bloque, registro o tem (como en los triggers PRE y POST TEM, RECORD, BLOCK), el valor de la variable es el nombre del bloque en el que el cursor est situado. Si la unidad actual de navegacin es un formulario (como en los triggers PRE y POST FORM), el valor de la variable es NULL. SYSTEM.CURSOR_TEM representa el nombre del bloque e tem sobre el que se encuentra actualmente el foco o cursor. El valor de esta variable dentro de un trigger dado, cambia cuando la navegacin tiene lugar, al contrario de lo que sucede con SYSTEM.TRIGGER_TEM, la cual conserva el mismo valor desde el principio hasta el final del trigger. SYSTEM.CURSOR_RECORD representa el nmero de registro sobre el que est situado el cursor. Este nmero representa el actual orden fsico del registro en la lista de registros del bloque. El valor es siempre una cadena de caracteres. SYSTEM.CURSOR_VALUE representa el valor del tem sobre el que est situado el cursor (foco). El valor es siempre una cadena de caracteres. Cuidado en los triggers en los que la navegacin actual NO sea un tem, puesto que esta variable contendr el valor del tem desde el que naveg, y no el del tem hacia el que haya navegado. SYSTEM.CUSTOM_TEM_EVENT almacena el nombre del evento disparado por un control VBX. SYSTEM. CUSTOM_TEM_EVENT_PARAMETERS almacena los argumentos suplementarios de un evento disparado por un control VBX. SYSTEM.DATE_THRESHOLD esta variable trabaja conjuntamente con $$DBDATE$$, $$DBTIME$$ y $ $DBDATETIME$$, y controla con qu frecuencia FORMS sincroniza la fecha de la Base de Datos con la RDBMS. El valor de sta variable debe ser especificado en el formato MI:SS. Debido a que las consultas frecuentes a la DBMS pueden afectar al rendimiento, es mejor mantener este valor razonablemente alto. No obstante, si este valor no se sincroniza bastante a menudo, es posible que se produzca alguna discrepancia de tiempo. Por defecto es de 1 minuto, pero esto no quiere decir que FORMS consulte a la RDBMS cada minuto, sino que cuando FORMS necesite generar un valor para alguna de las variables $ $DATE$$, $$TIME$$, $$DATETIME$$ o SYSTEM.EFECTIVE_DATE, actualizar la fecha aadiendo al valor devuelto por la consulta a la RDBMS la cantidad de tiempo transcurrido (medida por el sistema operativo local ). Si la cantidad de tiempo transcurrido excede el umbral (THRESHOLD), se producir una nueva consulta a la Base de Datos, y el contador de intervalos se resetear. Si un formulario nunca referencia a la fecha de la Base de Datos, FORMS nunca ejecuta una consulta para devolver la fecha de la RDBMS, sin tener en cuenta el valor de SYSTEM.DATE_THRESHOLD. SYSTEM.EFFECTIVE_DATE representa la fecha efectiva de la Base de Datos. El valor de sta variable debe estar siempre en el siguiente formato: DD-MON-YYYY HH24:MI:SS. Esta variable de sistema es apropiada para hacer pruebas. Dado que puede utilizarse para conseguir una hora especfica, la hora en la pantalla durante una aplicacin no causar la aparicin de resultados diferentes de los ya conocidos y tomados como vlidos. SYSTEM.EVENT_WINDOW representa el nombre de la ltima ventana afectada por una accin que provoc la ejecucin de uno de los siguientes triggers: WHEN_WINDOW_ACTIVATED WHEN_WINDOW_CLOSED WHEN_WINDOW_DESACTIVATED WHEN_WINDOW_RESIZED Desde dentro de estos triggers, puede asignarse el valor de la variable a uno de los siguientes : Variable global.

Pgina - 7 -

Apuntes Forms
Parmetro. Variable. tem, incluyendo tems con canvas nulo.

CSAR

SYSTEM.FORM_STATUS representa el estado del formulario actual. El valor puede ser uno de los siguientes: CHANGED indica que el formulario contiene al menos un bloque con un registro Changed. Este valor se vuelve Changed slo despus de que al menos un registro de la aplicacin haya sido cambiado y la unidad de navegacin asociada tambin haya cambiado. NEW indica que el formulario contiene slo registros nuevos. QUERY indica que la consulta est abierta. El formulario contiene al menos un bloque con registros Query, y ningn bloque con registros Changed. Cada vez que ste valor es referenciado, debe ser construido por FORMS. Si el formulario contiene un gran nmero de bloques con muchos registros, el uso de sta variable puede afectar al rendimiento de la aplicacin. SYSTEM.LAST_QUERY representa la sentencia SELECT ms reciente que FORMS ha utilizado para cargar un bloque durante la actual ejecucin. El valor es siempre una cadena de caracteres. SYSTEM.LAST_RECORD indica si el registro actual es el ltimo registro de la lista de registros del bloque actual. El valor puede ser uno de los siguientes: TRUE indica que el registro actual es el ltimo registro de la lista de registros del bloque actual. FALSE - indica que el registro actual NO es el ltimo registro de la lista de registros del bloque actual. SYSTEM.MASTER_BLOCK sta variable trabaja conjuntamente con SYSTEM.COORDINATION_OPERATION para ayudar a que el trigger ON_CLEAR_DETAILS determine qu tipo de operacin de coordinacin dispar el trigger, y en qu bloque maestro de qu relacin maestro-detalle. Los valores de estas dos variables de sistema permanecen constantes durante toda la fase de limpieza de cualquier sincronizacin de bloques. SYSTEM.MASTER_BLOCK representa el nombre del bloque maestro, y SYSTEM.COORDINATION_OPERATION representa el evento de coordinacin que ocurri en el bloque maestro. SYSTEM.MESSAGE_LEVEL representa uno de los siguientes mensajes de niveles de rigor: 0, 5, 10, 15, 20, 25. El valor es siempre una cadena de caracteres. Durante una misma sesin, FORMS suprime todos los mensajes con un nivel de rigor igual o inferior que el nivel indicado. Puede asignarse un valor a la variable con la sintaxis normal de PL/SQL. FORMS no suprime Prompts o mensajes de error, sin importar el nivel seleccionado.. por defecto es 0. SYSTEM.MODE indica tanto si la aplicacin se encuentra en modo NORMAL, ENTER_QUERY o FETCH_PROCESSING. El valor es siempre una cadena de caracteres. NORMAL indica que el formulario se encuentra actualmente en modo normal. ENTER_QUERY indica que el formulario se encuentra actualmente en modo Enter_Query. QUERY indica que el formulario se encuentra actualmente en modo de carga, lo que significa que una consulta est siendo procesada actualmente. SYSTEM.MOUSE_BUTTON_PRESSED indica el nmero de botn que ha sido presionado. El soporte de los botones del ratn est limitado a dos botones (1 y 2). El valor de la variable es siempre una cadena de caracteres. SYSTEM.MOUSE_BUTTON_SHIFT_STATE indica la tecla que fue presionada durante el click del ratn, como por ejemplo SHIFT, ALT o CTRL. El valor es siempre una cadena de caracteres. La cadena en s misma puede depender de la plataforma del usuario. Por ejemplo, en WINDOWS 3.1 o WINDOWS 95, las cadenas de caracteres devueltas estn en el idioma del sistema operativo. SHIFT valor: SHIFT+. (lo representa como MAYSCULAS+) CTRL valor: CTRL+. ALT valor: ALT+. SHIFT+CTRL valor: SHIFT+CTRL+. CTRL+ALT valor: CTRL+ALT+. SYSTEM.MOUSE_CANVAS si el ratn se encuentra en un Canvas, representa el nombre del canvas como un CHAR, si el ratn se encuentra en un tem, representa el nombre del canvas que contiene a dicho tem. Esta variable es NULL si el ratn no est en ningn Canvas o si la plataforma NO es una plataforma GUI. SYSTEM.MOUSE_FORM si el ratn se encuentra en un formulario, la variable representa el nombre del formulario como un CHAR. Esta variable es NULL si la plataforma NO es una plataforma GUI. SYSTEM.MOUSE_TEM si el ratn se encuentra en un tem, la variable representa el nombre del tem como un CHAR. Esta variable es NULL si el ratn no est dentro de ningn tem o si la plataforma NO es una plataforma GUI.

Pgina - 8 -

Apuntes Forms

CSAR

SYSTEM.MOUSE_RECORD si el ratn est dentro de un registro, representa el nmero de registro de ese registro como un CHAR. Esta variable tiene valor 0 cuando el ratn no est dentro de ningn tem ( y por tanto, de ningn registro). SYSTEM.MOUSE_RECORD_OFFSET si el ratn est dentro de un registro, representa la posicin del primer registro visible como un CHAR. Por ejemplo, si el ratn se encuentra en el segundo registro de cinco registros visibles en un bloque multi-registro, la variable tendr valor 2. Esta variable tiene valor 0 cuando el ratn no est dentro de ningn tem ( y por tanto, de ningn registro). SYSTEM.MOUSE_X_POS representa la coordenada del eje de las x del ratn en el formulario actual. Si el ratn est dentro de un tem, el valor es relativo a la esquina superior izquierda del tem en cuestin. Si el ratn se encuentra en un canvas, el valor es relativo a la esquina superior izquierda del canvas. SYSTEM.MOUSE_Y_POS - representa la coordenada del eje de las x del ratn en el formulario actual. Si el ratn est dentro de un tem, el valor es relativo a la esquina superior izquierda del tem en cuestin. Si el ratn se encuentra en un canvas, el valor es relativo a la esquina superior izquierda del canvas. SYSTEM.RECORD_STATUS representa el estado del registro sobre el que est situado el cursor. El valor de sta variable puede ser uno de los siguientes: CHANGED indica que el estado de validacin del registro consultado es Changed. INSERT indica que el estado de validacin del registro consultado es Changed y el registro no existe en la Base de Datos. NEW indica que el estado de validacin del registro consultado es New. QUERY indica que el estado de validacin del registro consultado es Valid y que ha sido recuperado de la Base de Datos. SYSTEM.SUPPRESS_WORKING suprime el mensaje de Working en ejecucin, para prevenir la actualizacin de la pantalla causada normalmente por el despliegue en pantalla del mensaje Working. El valor de sta variable puede ser uno de los siguientes: TRUE impide que FORMS despliegue el mensaje Working. FALSE permite que FORMS contine mostrando el mensaje Working. SYSTEM.TRIGGER_BLOCK representa el nombre del bloque sobre el que se encontraba situado el cursor (foco) cuando el trigger actual fue disparado. El valor de sta variable es NULL si el trigger actual es un PRE o POST FORM. El valor es siempre una cadena de caracteres. SYSTEM.TRIGGER_TEM representa el tem (bloque.tem) que ha capturado el foco y por el cual el trigger est actualmente activo. Cuando se referencia en un trigger de teclado , representa el tem sobre el que el cursor estaba situado cuando se dispar el trigger. El valor es siempre una cadena de caracteres. El valor permanece constante desde el principio hasta el final del trigger. Esto difiere de la variable de sistema SYSTEM.CURSOR_TEM, la cual puede cambiar durante la ejecucin de un trigger dado cuando la navegacin tiene lugar. SYSTEM.TRIGGER_RECORD - representa el nmero de registro que FORMS est procesando. ste nmero representa el orden fsico del registro actual en la lista de registros del bloque. El valor de sta variable es siempre una cadena de caracteres.

Pgina - 9 -

Apuntes Forms

CSAR

Pgina - 10 -

Vous aimerez peut-être aussi