-- 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