Skip to main content

Ayuda sobre productos BOLD:

WPXMLFORM_TB

< Volver

Tabla base de los objetos de tipo fomulario, basados en esquemas de datos XML. La tabla de formularios WPXMLFORM_TB contiene otros objetos aparte de los formularios del portal y para diferenciarlos se utiliza el campo CLASSSUBTYPE. Los valores posibles son:

   0: Anotaciones o banderas en el Gantt (sobre contratos)
   1: reservado
   2: Anotaciones sobre una necesidad (ej.: ignorar deficit)
   3: reservado
   4: Anotaciones sobre un empleado (Comentarios de bolsa de trabajo)
   5: Formularios de permisos
   6: Formularios de contratación
   7: Formularios de anulación

ATENCIÓN: El siguiente contenido es de uso avanzado y su utilización puede ocasionar daños irreparables en la configuración del sistema

Trigger de ejemplo para materializar algunos campos en otra tabla

Como la tabla WPXMLFORM_TB utiliza muchos campos de tipo XML que son lentos de consultar, en ocasiones interesa materializar los campos más utilizados en tablas secundarias. Aqui un ejemplo:

USE [workplanner]
GO

/****** Object:  Trigger [dbo].[keepFechaRealUpdated]    Script Date: 17/02/2026 18:27:29 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO


ALTER TRIGGER [dbo].[keepFechaRealUpdated]
   ON  [dbo].[WPXMLFORM_TB]
   AFTER  INSERT,UPDATE
AS 
BEGIN
    SET NOCOUNT ON;

    -- Update existentes
    UPDATE m
    SET        
		m.FechaReal =  dbo.fn_GetFechaReal(i.CustomProps)

    FROM dbo.WPXMLFORM_MaterialicedFields_tb m
    JOIN inserted i ON m.IdForm = i.ID and i.CLASSSUBTYPE=11;

    -- Insert nuevos
    INSERT INTO dbo.WPXMLFORM_MaterialicedFields_tb (IdForm, FechaReal)
    SELECT 
        i.ID,
		dbo.fn_GetFechaReal(i.CustomProps)
    FROM inserted i
    WHERE NOT EXISTS (
        SELECT 1
        FROM dbo.WPXMLFORM_MaterialicedFields_tb m
        WHERE m.IdForm = i.ID
    )
	and i.CLASSSUBTYPE=11
	;
END
GO

Was this article helpful?
0 out Of 5 Stars
5 Estrellas 0%
4 Estrellas 0%
3 Estrellas 0%
2 Estrellas 0%
1 Estrellas 0%
5
How can we improve this article?
How Can We Improve This Article?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Contenido