Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Null on Null Input | False |
| Schema Bound | False |
| Assembly |
Parameters
4| Name | Data Type | Length | Description |
|---|---|---|---|
| (Result) | TABLE | max | |
| @informe_padre | int | 4 | |
| @idTipoIforme | int | 4 | |
| @tarea | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE OR ALTER FUNCTION dbo.TareasDependientes(@informe_padre INT,@idTipoIforme INT,@tarea INT)
RETURNS TABLE
AS
RETURN
(
SELECT
LN_informe_design.idElem,
informes.estado_informe,
informes.ready_to_start,
informes.informe,
LN_informe_design.dependency_tree,
(
SELECT
COUNT(*)
FROM informes
WHERE
informe_padre = @informe_padre
AND estado_informe NOT IN ('K','N')
AND idTarea IN (SELECT item FROM dbo.DelimitedSplit8K(LN_informe_design.dependency_tree,','))
) AS pend_aprobar
FROM LN_informe_design
INNER JOIN informes ON ln_informe_design.idElem = informes.idTarea
WHERE
idTipoInforme=@idTipoIforme
AND LN_informe_design.tipo_elem='T'
AND LN_informe_design.activo=1
AND informes.informe_padre = @informe_padre
AND idelem IN (
SELECT DISTINCT
LN_informe_design.idElem
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre = iPPAL.informe
INNER JOIN LN_informe_design ON (
LN_informe_design.idTipoInforme=iPPAL.id_tipo_informe
AND LN_informe_design.tipo_elem='T'
AND LN_informe_design.activo=1
)
CROSS APPLY dbo.DelimitedSplit8K(LN_informe_design.dependency_tree, ',') LISTOSPARAINICIAR
WHERE
informes.informe = @tarea
AND LISTOSPARAINICIAR.Item = informes.idtarea
)
);
GO
GO
CREATE OR ALTER FUNCTION dbo.TareasDependientes(@informe_padre INT,@idTipoIforme INT,@tarea INT)
RETURNS TABLE
AS
RETURN
(
SELECT
LN_informe_design.idElem,
informes.estado_informe,
informes.ready_to_start,
informes.informe,
LN_informe_design.dependency_tree,
(
SELECT
COUNT(*)
FROM informes
WHERE
informe_padre = @informe_padre
AND estado_informe NOT IN ('K','N')
AND idTarea IN (SELECT item FROM dbo.DelimitedSplit8K(LN_informe_design.dependency_tree,','))
) AS pend_aprobar
FROM LN_informe_design
INNER JOIN informes ON ln_informe_design.idElem = informes.idTarea
WHERE
idTipoInforme=@idTipoIforme
AND LN_informe_design.tipo_elem='T'
AND LN_informe_design.activo=1
AND informes.informe_padre = @informe_padre
AND idelem IN (
SELECT DISTINCT
LN_informe_design.idElem
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre = iPPAL.informe
INNER JOIN LN_informe_design ON (
LN_informe_design.idTipoInforme=iPPAL.id_tipo_informe
AND LN_informe_design.tipo_elem='T'
AND LN_informe_design.activo=1
)
CROSS APPLY dbo.DelimitedSplit8K(LN_informe_design.dependency_tree, ',') LISTOSPARAINICIAR
WHERE
informes.informe = @tarea
AND LISTOSPARAINICIAR.Item = informes.idtarea
)
);
GO