PDC_REPORT_CreazioneDB/sql/Collaudo/funzioni/C6MartPeriodico_getDESPRODCAT.sql
2025-06-10 15:29:00 +02:00

87 lines
3.6 KiB
Transact-SQL

-- select a=[C6MartPeriodico].[getDESPRODCAT]('04863590',NULL)
CREATE FUNCTION [C6MartPeriodico].[getDESPRODCAT]
(
@CODPROD as varchar(8),
@SUBPROD as varchar(5)
)
RETURNS varchar(128)
AS
BEGIN
DECLARE @DESPROD as varchar(128)
DECLARE @conta as smallint
SET @DESPROD = ''
if @SUBPROD is null
BEGIN
SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO IS NULL AND visibilita = 1
IF @conta = 1
SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO IS NULL AND visibilita = 1
ELSE
BEGIN
SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD AND visibilita = 1
IF @conta = 1
SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD AND visibilita = 1
ELSE
BEGIN
SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO IS NULL
IF @conta = 1
SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO IS NULL
ELSE
BEGIN
SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD
IF @conta = 1
SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD
END
END
END
END
ELSE
SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @SUBPROD AND visibilita = 1
IF @conta = 1
SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @SUBPROD AND visibilita = 1
ELSE
BEGIN
SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD AND visibilita = 1
IF @conta = 1
SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD AND visibilita = 1
ELSE
BEGIN
SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @SUBPROD
IF @conta = 1
SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @SUBPROD
ELSE
BEGIN
SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD
IF @conta = 1
SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD
ELSE
BEGIN
IF @SUBPROD in ('L191', 'L192','V301','V302')
BEGIN
SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @SUBPROD AND CODISIN IS NULL
IF @conta = 1
SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @SUBPROD AND CODISIN IS NULL
END
END
END
END
END
RETURN @DESPROD
END