Diferencia entre revisiones de «Categoría:DEV AUXILIARES»

De Pragma Wiki
Ir a la navegación Ir a la búsqueda
Sin resumen de edición
Línea 62: Línea 62:


===Asociar un auxiliar a una clase===
===Asociar un auxiliar a una clase===
Estando en cualquier clase, por ejemplo  
Estando en cualquier clase, por ejemplo [[ASIENTOS CONTABLES/DETALLE]] desde el menú de opciones:
[[Archivo:20250404 1110 ASOCIAR AUXILIAR A CLASE.png|miniaturadeimagen|no|Definir auxiliares en una clase.]]


===Asociar un auxiliar
===Asociar un auxiliar a un campo de una clase===
Estando en los campos cualquier clase, por ejemplo [[ASIENTOS CONTABLES/DETALLE]] desde el menú de opciones:
 
===Asociar un auxiliar a un argumento de una consulta===
Estando en xxxxx


=Runtime=
=Runtime=

Revisión del 16:14 4 abr 2025

Introducción

Diagrama de auxiliares.

Los auxiliares permiten agregar funcionalidad a las clases (tablas) y a los campos.

En este artículo se describe cómo definir auxiliares, la definición de cada auxiliar en particular se define más adelante.

Auxiliares que aplican a las clases

Los siguientes auxiliares aplican exclusivamente a las clases (o tablas):

Auxiliares que aplican a campos o a argumentos de consultas

Los siguientes auxiliares aplican a los campos o argumentos de consultas:

Auxiliares obsoletos

El siguiente auxiliar, que aplica sobre clases no debería ser usado. Las definiciones en uso son casi de prueba y sin efectos en el sistema:

En su lugar deberían usarse triggers.

Los siguientes auxiliares, que debían aplicar sobre campos y argumentos de consultas, jamás se usaron ni se usarán y no se documentan:

  • EVALUACIONS: Evaluaciones de clases, suscripción.
  • ONEXIT: Evento ONEXIT de un campo.

Tablas requeridas para definir los tipos de auxiliares

Antes de definir auxiliares deben definirse los tipos, las tablas son:

Tablas requeridas para definir auxiliares

Finalmente pueden definirse los auxiliares usando:

Consultas relacionadas con los auxiliares

Existen muchos auxiliares en el sistema.

Además de las explicaciones de esta sección a veces el mejor ejemplo es consultar casos de aplicación real.

Para eso están las siguientes consultas.

Cómo asociar auxiliares a los objetos del sistema

Los auxiliares finalmente se definen en los objetos del sistema, los objetos posibles son:

Asociar un auxiliar a una clase

Estando en cualquier clase, por ejemplo ASIENTOS CONTABLES/DETALLE desde el menú de opciones:

Definir auxiliares en una clase.

Asociar un auxiliar a un campo de una clase

Estando en los campos cualquier clase, por ejemplo ASIENTOS CONTABLES/DETALLE desde el menú de opciones:

Asociar un auxiliar a un argumento de una consulta

Estando en xxxxx

Runtime

Todos los cambios hechos a los auxiliares se reflejan de inmediato en una vista denominada pAUX_RUNTIME_VISTA.

Por un tema de performance esa vista se vuelca en una tabla denominada Auxiliares de objetos, tabla de runtime (pAUX_RUNTIME_TABLA).

El refresco de esta tabla se hace dentro de la aplicación sin que el desarrollador deba participar. Ante la situación de que esa tabla no se haya refrescado (por ejemplo, si se ingresaron auxiliares 'por afuera') la rutina que debe ejecutarse es:

DELETE FROM pAUX_RUNTIME_TABLA
GO
INSERT INTO pAUX_RUNTIME_TABLA
(
FOBJETO
, FCLASE
, FCAMPO
, FTIPO
, FCODIGO
, FLINEA
, FANCESTRO
, FDESCRIPCION
, FCOMANDO
)
SELECT
pAUX_RUNTIME_VISTA.FOBJETO
, pAUX_RUNTIME_VISTA.FCLASE
, pAUX_RUNTIME_VISTA.FCAMPO
, pAUX_RUNTIME_VISTA.FTIPO
, pAUX_RUNTIME_VISTA.FCODIGO
, pAUX_RUNTIME_VISTA.FLINEA
, pAUX_RUNTIME_VISTA.FANCESTRO
, pAUX_RUNTIME_VISTA.FDESCRIPCION
, pAUX_RUNTIME_VISTA.FCOMANDO
FROM pAUX_RUNTIME_VISTA
GO
GRANT SELECT, INSERT, UPDATE, DELETE ON pAUX_RUNTIME_TABLA TO public
GO