AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Attention : Esta es la versión% 1 de esta página de documentación. Es posible que esta función se haya cambiado o eliminado en una versión superior
Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Management of databases / Management of triggers / WLanguage functions
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Otros
Procedimientos almacenados
HDescribeTrigger_55 (Función)
 
Advertencia
La función HDescribeTrigger_55 es equivalente a la función HDescribeTrigger disponible en las versiones anteriores.
Esta función se mantiene para la compatibilidad con versiones anteriores (esta función seguirá siendo soportada en la próxima versión).
Disparador HDescribeTrigger ha evolucionado y ahora propone una gestión avanzada de los desencadenantes. Para beneficiarse de estas nuevas características, utilice la nueva sintaxis de HDescribeTrigger.
La documentación disponible en WINDEV 5.5 es la siguiente.
 
Propósito
Agregar o modificar una trigger en Hyper File. Una trigger es un procedimiento WLanguage llamado automáticamente por el Hyper File cada vez que se ejecuta una función de Hyper File.
Sintaxis
  • Sintaxis 1: Añadiendo una trigger
    <ErrorCode>=HDescribeTrigger_55(<ListLogicalNameHFFile>, <ListNameHFFunction>, <NameWLanguageProcedure>, <Type>)
    • <ErrorCode> es un número entero usado para comprobar la acción de HDescribeTrigger
    • <ListLogicalNameHFFile> es una cadena de caracteres que contiene el nombre lógico de uno o más archivos Hyper File.. Para especificar varios nombres, los nombres de los archivos deben estar separados por una coma (","). Para especificar todos los archivos de análisis, indique "*" ".
    • <ListNameHFFunction> es una cadena de caracteres que contiene el nombre de una o más funciones Hyper File (HAdd, HModify, HDelete). Para especificar varios nombres de función, deben estar separados por una coma (",").
  • Sintaxis 2: Habilitar/inhabilitar una trigger
    <ErrorCode>=HDescribeTrigger_55(<ListLogicalNameHFFile>, <ListNameHFFunction>, <Type>, <bEnable>)
    • <ErrorCode> es un número entero usado para comprobar la acción de HDescribeTrigger
    • <ListLogicalNameHFFile> es una cadena de caracteres que contiene el nombre lógico de uno o más archivos Hyper File.. Para especificar varios nombres, los nombres de los archivos deben estar separados por una coma (","). Para especificar todos los archivos de análisis, indique "*" ".
    • <ListNameHFFunction> es una cadena de caracteres que contiene el nombre de una o más funciones Hyper File (HAdd, HModify, HDelete). Para especificar varios nombres de función, deben estar separados por una coma (",").
  • Sintaxis 3: Destruir una trigger
    <CódigoError>=HDescribeTrigger_55(<ListaNombreLógicoArchivoHF>, [<ListaNombreFunciónHF> [, <Tipo>]])
    • <ErrorCode> es un número entero usado para comprobar la acción de HDescribeTrigger
    • <ListLogicalNameHFFile> es una cadena de caracteres que contiene el nombre lógico de uno o más archivos Hyper File.. Para especificar varios nombres, los nombres de los archivos deben estar separados por una coma (","). Para especificar todos los archivos de análisis, indique "*" ".
    • <ListNameHFFunction> es una cadena de caracteres que contiene el nombre de una o más funciones Hyper File (HAdd, HModify, HDelete). Para especificar varios nombres de función, deben estar separados por una coma (",").
    • <NombreProcedimientoWLangage> es una cadena de caracteres que contiene el nombre de un procedimiento WLanguage
    • <Type> es una de las siguientes constantes de WLanguage:
      • hTriggerAntes de ejecutar el procedimiento WLanguage antes de la función Hyper File
      • hTriggerDespués de ejecutar el procedimiento WLanguage después de la función Hyper File
    • <bEnable> es un conjunto booleano a True para habilitar la trigger y a False para deshabilitarla.
Detalles
  • Tiene la capacidad de definir desencadenantes en las siguientes funciones de Hyper File: HModify, HAdd, HDelete, HWrite, HCross
  • Los triggers son creados dinámicamente por HDescribeTrigger_55. Una trigger siempre está asociada a un archivo lógico. Los parámetros de una trigger son:
    • el nombre lógico del archivo al que se aplica la trigger
    • el nombre de la propiedad WLanguage a llamar (debe ser un procedimiento global sin parámetros)
    • el nombre de la función Hyper File a la que se aplica la trigger
    • el tipo de trigger (ANTES o DESPUÉS)
  • La existencia de un procedimiento global no se verifica cuando se llama HDescribeTrigger_55. Se produce un error de WLanguage si esta función no existe cuando se inicia la trigger.
  • Los posibles códigos de error para <ErrorCode> son:
    • 0: ningún error
    • 1: archivo lógico desconocido
    • 2: no hay ningún análisis
    • 3: desconocido trigger
    • 4: Función Hyper File desconocida
    • 5: La función Hyper File no se puede utilizar con triggers
    • 6: tipo desconocido
    • 7: nombre vacío del procedimiento WLanguage (si el nombre del procedimiento es una cadena vacía)
  • No se pueden definir varios procedimientos para el mismo fichero lógico, la misma función Hyper File, la misma clase. Si ya existe una trigger, se reemplaza.
  • Si <ListLogicalNameHFFile>=" ", el*comando se aplica a todos los archivos encontrados en el análisis actual (los archivos creados por HDescribeFile y HAliasExternal son ignorados)
  • Un procedimiento de trigger no acepta ningún parámetro. Sin embargo, un número de variables de estado de Hyper File se posicionan antes de cada llamada:
    • h.filename es una cadena que contiene el nombre lógico del archivo cuya trigger está activada
    • h.action es un carácter inicializado a "A" para un Antes de trigger y a "P" para un Después de trigger.
    • h.TriggerFunction es una cadena que contiene el nombre de la función Hyper File que inició la trigger
  • Cuando se ejecuta un antes de trigger, la ejecución de la función actual de Hyper File puede ser cancelada asignando "A" a la variable de estado Hyper File h.todo: h.todo = "A"
  • Si un ANTES DE trigger y un DESPUÉS DE trigger están definidos para una función de HiperArchivo y si el ANTES DE trigger cancela la función (H.ToDo está en "A"), entonces el DESPUÉS DE trigger no se inicia.
Notas
  • En un procedimiento Trigger, las funciones Hyper File se pueden llamar en cualquier otro archivo, incluido el actual (excepto para realizar la misma operación).
  • Atención: No se recomienda ninguna acción sobre el registro actual en un proceso iniciado por una trigger sobre HDelete, HModify o HCross.
  • Durante la ejecución del procedimiento llamado por trigger, si también se activa una función de Hiper Fichero, la trigger correspondiente será liberada. Debe tomar precauciones en tales casos para evitar bloqueos.
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 21/08/2020

Señalar un error o enviar una sugerencia | Ayuda local