You are on page 1of 13

ktc6ky3r 3y5oetra Apuntes Forms CSAR TRIGGERS EN FORMS WHEN_BUTTON_PRESSED acta cuando un PUSH BUTTON es activado.

. A nivel de FORM, BLOC K, ITEM. WHEN_CHECKBOX_CHANGED acta siempre que el estado de un check box cambia, ya sea p or 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, cu ando el usuario presiona la tecla INSERT, o navega al ltimo registro de un bloque, FORMS dispara el trigge r. 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 actu alizado. El trigger acta tan pronto como FORMS determine a travs de la validacin que el registro debe ser p rocesado 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, BL OCK. WHEN_FORM_NAVIGATE acta siempre que cualquier navegacin en el formulario tenga lug ar. A nivel de FORM. WHEN_IMAGE_ACTIVATED acta cuando un usuario hace doble click con el ratn en un IMA GE ITEM. A nivel de FORM, BLOCK, ITEM. WHEN_IMAGE_PRESSED acta cuando un usuario utiliza el ratn haciendo click o doble c lick 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 L IST 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 d e 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 ocur ra 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 mantie e 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 siemp re 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 encuent ra 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 d el primer bloque que encuentra. Este trigger acta despus despus de que finalicen satisfactoriamente todo s los triggers navegables que se disparan durante la secuencia inicial de navegacin. NO se dispara cuando el control es dev uelto 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 regi stro 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 h aba 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 tecla do. A nivel de FORM, BLOCK, ITEM. WHEN_REMOVE_RECORD acta cuando la aplicacin o el usuario limpian o eliminan un reg istro. 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. Concreta mente, acta como la ltima parte de la validacin para registros con estado NEW o CHANGED. A nivel de FO RM, BLOCK. Pgina - 2 Apuntes Forms CSAR WHEN_WINDOW_ACTIVATED acta cuando una ventana se convierte en ventana activa. Est o 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 independien temente de la navegacin. A nivel de FORM. WHEN_WINDOW_CLOSED acta cuando un usuario cierra una ventana usando el comando es pecfico 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 real izado por el usuario con SET_WINDOW_PROPERTY o RESIZE_WINDOW. Incluso si la ventana se encuentra inac tiva, 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 t rata de INSERTS, UPDATES o DELETES. El trigger NO se dispara cuando hay un intento de commit, sino que la validacin d etermina 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 qu e 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 du rante 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 inic io 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 ap licacin. 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 satisfac en los criterios de bsqueda. A nivel de FORM, BLOCK. PRE_RECORD acta durante el proceso de entrada de registros, tambin durante la nave gacin 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 le yendo el valor de la variable del sistema SYSTEM.LAST_QUERY. PRE_TEXT_ITEM - acta durante el proceso de entrada de ITEMS, tambin durante la nav egacin 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 d atos, despus de que se produzca la validacin en la Base de Datos. Es de sealar que el POST_FORMS_COMMIT a cta despus de cualquier

sentencia DML que haya sido enviada a la Base de Datos, pero antes de que la tra nsaccin haya finalizado emitiendo el mensaje correspondiente. El POST_DATABASE_COMMIT acta despus de que FORMS haya hec ho 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 dato s. 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 hec ho 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 n ivel de FORM. POST_FIELD acta durante el proceso de salida de ITEMS en TEXT ITEMS. Concretament e, el trigger se dispara cuando el foco se desplaza de un TEXT ITEM a cualquier otro ITEM. A nivel de FORM, BLOC K, 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 despu de que un registro sea insertado. Se dispara una vez por cada registro insertado en la Base de Datos du rante 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 tri gger se dispara siempre que el usuario o la aplicacin desplazan el foco de un registro a otro. El proceso de sal ida de registros puede ocurrir como resultado de muchas operaciones, incluyendo INSERT_RECORD, DELETE_RECORD, NEXT_RECORD, NEX T_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 cons ulta, o despus de la ejecucin satisfactoria del trigger ON_SELECT. Se dispara antes de que ningn registro sea d evuelto 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. Concre tamente, se dispara cuando el foco se desplaza de un TEXT ITEM a cualquier otro ITEM. A nivel de FORM, BLOC K, ITEM. POST_UPDATE acta durante los procesos de envo y validacin de los datos, despus de q e 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 un a relacin maestrodetalle

y la propiedad de la relacin Delete Record Behavior est en Non Isolated. Se dispar a cuando hay un intento de borrar un registro del bloque maestro de una relacin maestro-detalle. A nivel de FORM, B LOCK. ON_CHECK_UNIQUE durante el proceso de validacin, el trigger se dispara cuando FOR MS 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. Reempla za el proceso de comprobacin por defecto de la exclusividad de los registros. Cuando un bloque tiene la propiedad Enforce Pr imary 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 algu na fila duplicada, FORMS visualiza este mensaje: FRM-40600: Record has already been inserted. Para un registro que haya sido catalo gado 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 F ORM, 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 maes tro de una relacin maestro-detalle. Un evento de coordinacin es cualquier evento que modifique el re gistro 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 ha n sido devueltos, o cuando el usuario o la aplicacin abortan la consulta. Este trigger implementa el normal funcionamiento d e 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 e l 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 co nsultando a la Base de Datos para determinar las columnas de las tablas de la Base de Datos sobre las que el usuar io actual tiene privilegio de UPDATE. Para las columnas que el usuario no est autorizado a actualizar, FORMS convierte los c orrespondientes ITEMS en noactualizables, situando la propiedad Update Alowed a OFF dinmicamente. FORMS ejecuta esta accin a l 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 FO RM. ON_COUNT acta cuando FORMS debe ejecutar normalmente el proceso de COUNT_QUERY po r defecto para

determinar el nmero de filas que satisfacen los criterios de bsqueda. Cuando el tr igger completa su ejecucin, FORMS visualiza el mensaje siguiente: FRM-40355: Query will retrieve <n> records . El tri gger reemplaza el proceso de seleccin de FORMS para identificar las filas que satisfacen los criterios de bsqueda. A ni vel de FORM, BLOCK. ON_DATABASE_RECORD acta cuando FORMS califica un registro como insertado o actual izado. El trigger acta tan pronto como FORMS determine a travs de la validacin que el registro debe ser proce sado 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 POS T_DELETE, reemplazando el DELETE actual en la Base de Datos para una fila dada. Se dispara una vez por cad a registro catalogado como DELETE en la Base de Datos. Reemplaza el proceso de manejo de registros borrados durante el e nvo 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. Reem plaza 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 inmediatamen te despus de que el trigger ON_SELECT acte, cuando los primeros registros son cargados dentro del bloque. Mie ntras la consulta permanece abierta, acta de nuevo cada vez que un conjunto de filas deban ser cargadas dentro del blo que. Reemplaza el normal funcionamiento del proceso de carga de registros dentro del bloque durante la operacin de consul ta. 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 def ecto durante el envo de los datos. A nivel de FORM, BLOCK. ON_LOCK acta siempre que FORMS intenta bloquear normalmente una fila, as como cuan do el usuario presiona una tecla para modificar el dato de un ITEM. El trigger se dispara entre la puls acin de la tecla y la visualizacin del dato modificado. Reemplaza el proceso por defecto de FORMS para bloquear filas. A niv el de FORM, BLOCK. ON_LOGON acta una vez en la conexin cuando FORMS inicia el proceso de conexin. Reem plaza al proceso de conexin por defecto. A nivel de FORM. ON_LOGOUT - acta cuando FORMS inicia el proceso de desconexin. Reemplaza al proces o 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 e scritura 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, s e dispara despus de la navegacin a un ITEM, cuando FORMS est preparado para aceptar la entrada en un I TEM 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, cuand o el usuario presiona la tecla INSERT, o navega al ltimo registro de un bloque, FORMS dispara el trigger. A nive l de FORM, BLOCK. Pgina - 5 Apuntes Forms CSAR ON_POPULATE_DETAILS FORMS crea implcitamente este trigger cuando se define una re lacin 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 regis tro. 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 d efecto, FORMS emite SAVEPOINTS al comienzo de la aplicacin y al comienzo de cada proceso de envo y val idacin 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 d e 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 un a 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 catalogad o 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. Concretame nte, acta como la ltima parte de la validacin para registros con estado NEW o CHANGED. A nivel de FO RM, BLOCK. VARIABLES DE SISTEMA SYSTEM.BLOCK_STATUS representa el estado del bloque en el que est situado el curs or, 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 ti

po 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 blo que. SYSTEM.MASTER_BLOCK representa el nombre del bloque maestro, y SYSTEM.COORDINATION_OPERATION representa el even to provocado en el bloque maestro. El proceso de CLEAR_ALL_MASTER_DETAILS el cual es generado automticament e cuando una relacin es creada, comprueba el valor de SYSTEM.COORDINATION_OPERATION para proveer un espe cial manejo de los eventos CLEAR_RECORD y SYNCHRONIZE, los cuales pueden ser diferentes dependiendo del eve nto. El proceso de CLEAR_ALL_MASTER_DETAILS tambin comprueba el valor de SYSTEM.MASTER_BLOCK para ve rificar que mientras est procesando el bloque maestro de la relacin, est buscando slo bloques qu e contengan cambios. Los valores de estas dos variables de sistema slo tienen valor dentro del trigger ON_CLEAR_DETAI LS, 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 val or es de tipo CHAR con el siguiente formeto: DD-MON-YYYY HH24:MI:SS. Reemplaza a $$DATE$$, evitando consul tar a la Base de Datos Pgina - 6 Apuntes Forms CSAR SYSTEM.CURRENT_FORM representa el nombre del formulario que se est ejecutando act ualmente. 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 navegac in: 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 lug ar, 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.CU RRENT_TEM, es decir, el valor actual del tem que actualmente tiene capturado el foco. Es un val or de tipo carcter. Esta variable est incluida por compatibilidad con versiones anteriores. En su lugar, es recomendable utiliz ar las variables SYSTEM.CURSOR_TEM o SYSTEM.CURSOR_VALUE. SYSTEM.CURSOR_BLOCK - el valor que representa depende de la actual unidad de nav

egacin: 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 t iene lugar, al contrario de lo que sucede con SYSTEM.TRIGGER_TEM, la cual conserva el mismo valor desde el principio hasta el f inal del trigger. SYSTEM.CURSOR_RECORD representa el nmero de registro sobre el que est situado el c ursor. 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 s ea un tem, puesto que esta variable contendr el valor del tem desde el que naveg, y no el del tem hacia el que haya nave gado. SYSTEM.CUSTOM_TEM_EVENT almacena el nombre del evento disparado por un control VB X. 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$$, $$DBTI ME$$ 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 consu ltas frecuentes a la DBMS pueden afectar al rendimiento, es mejor mantener este valor razonablemente alto. No obstante, s i 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 aadien do al valor devuelto por la consulta a la RDBMS la cantidad de tiempo transcurrido (medida por el sis tema 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 d e 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 sistem a es apropiada para hacer pruebas. Dado que puede utilizarse para conseguir una hora especfica, la hora en la pantal la 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 acc in 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 CSAR Parmetro. Variable. tem, incluyendo tems con canvas nulo. SYSTEM.FORM_STATUS representa el estado del formulario actual. El valor puede se r 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 form ulario 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 utiliza do 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_OP ERATION para ayudar a que el trigger ON_CLEAR_DETAILS determine qu tipo de operacin de coordina cin dispar el trigger, y en qu bloque maestro de qu relacin maestro-detalle. Los valores de estas dos variables d e sistema permanecen constantes durante toda la fase de limpieza de cualquier sincronizacin de bloques. SYSTEM.MASTER_BLO CK representa el nombre del bloque maestro, y SYSTEM.COORDINATION_OPERATION representa el evento de coordina cin que ocurri en el bloque maestro. SYSTEM.MESSAGE_LEVEL representa uno de los siguientes mensajes de niveles de rig or: 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 c on la sintaxis normal de PL/SQL. FORMS no suprime Prompts o mensajes de error, sin importar el nivel seleccionado.. por de fecto 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 sop orte de los botones del ratn est limitado a dos botones (1 y 2). El valor de la variable es siempre una ca dena de caracteres. SYSTEM.MOUSE_BUTTON_SHIFT_STATE indica la tecla que fue presionada durante el cl ick del ratn, como por ejemplo SHIFT, ALT o CTRL. El valor es siempre una cadena de caracteres. La cade na 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 de l canvas como un CHAR, si el ratn se encuentra en un tem, representa el nombre del canvas que contiene a dicho t em. 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 represent a 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 nombr e 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 re gistro de ese registro como un CHAR. Esta variable tiene valor 0 cuando el ratn no est dentro de ningn tem ( y p or tanto, de ningn registro). SYSTEM.MOUSE_RECORD_OFFSET si el ratn est dentro de un registro, representa la pos icin 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 formu lario 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 for mulario 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 e l 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 l 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 a ctual 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 t em sobre el que el cursor estaba situado cuando se dispar el trigger. El valor es siempre una cadena de caracteres. El val or 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. s te nmero representa el orden fsico del registro actual en la lista de registros del bloque. El valor de s ta variable es siempre una cadena de caracteres. Pgina - 9 Apuntes Forms CSAR Pgina - 10 -

You might also like