CREATE FUNCTION [C6Staging].[RP_Info_DaProdottoCSaCatalogo]
(
	@TipoProdotto varchar(5),
	@CodInterno varchar(13),
	@CodMAF varchar(13),
	@CodISIN varchar(16),
	@CodSottoprodotto varchar(13)
)
RETURNS varchar(63)
AS
BEGIN
		DECLARE @ResultVar  VARCHAR(63)
	IF @TipoProdotto in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC')--,'ASU2' )    -- TRINGALI inseriti CC --V Inseriti ASU"
	BEGIN
		IF	@CodSottoprodotto not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15')
--inizio intervento MIGRAZIONE ASU3			
--inizio INTERVENTO 'RE' - 20161223						
			--and @CodInterno not in ('RS','RB','RM','RV')
			and @CodInterno not in ('RS','RB','RM','RV','RE')
--fine INTERVENTO 'RE' - 20161223
--fine intervento MIGRAZIONE ASU3					
			SELECT TOP 1 @ResultVar = CATALOGUEID 
			--select top 1 *
			FROM C6Staging.RP_CATALOGOPRODOTTI CAT
			where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) 
			and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end)
			ORDER BY VISIBILITA DESC
--inizio intervento MIGRAZIONE ASU3	
		ELSE IF
	--inizio INTERVENTO 'RE' - 20161223						
			--@CodInterno in ('RS','RB','RM','RV')
			@CodInterno in ('RS','RB','RM','RV','RE')
	--fine INTERVENTO 'RE' - 20161223	
			SELECT TOP 1 @ResultVar = CATALOGUEID 
			FROM C6Staging.RP_CATALOGOPRODOTTI CAT
			where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) 
			and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end)
			and cat.codisin = @CodISIN
			ORDER BY VISIBILITA DESC		
--fine intervento MIGRAZIONE ASU3				
		ELSE
		  	SELECT TOP 1 @ResultVar = CATALOGUEID 
			--select top 1 *
			FROM C6Staging.RP_CATALOGOPRODOTTI CAT
			where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) 
			and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end)
			and cat.TIPOPRODOTTO = @TipoProdotto
			ORDER BY VISIBILITA DESC
    END
	/*
	IF @TipoProdotto in ('ASU2')    -- TRINGALI inseriti CC --V Inseriti ASU"
	SELECT TOP 1 @ResultVar = CATALOGUEID 
	FROM C6Staging.CATITEMREF cat
	where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) 
	and cat.COD_SOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end)
	and cat.cod_isin = @CodISIN
	ORDER BY ISVISIBLE DESC
	*/
	--Inizio intervento Omnia
	--IF @TipoProdotto in ('ASU2')    -- TRINGALI inseriti CC --V Inseriti ASU"
	IF @TipoProdotto in ('ASU2', 'GP')
	--Fine intervento Omnia
	SELECT TOP 1 @ResultVar = CATALOGUEID 
	FROM C6Staging.RP_CATALOGOPRODOTTI CAT
	where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) 
	and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end)
	and cat.codisin = @CodISIN
	ORDER BY VISIBILITA DESC
	/*
	IF @TipoProdotto in ('DT','ASD' ) 
	SELECT TOP 1 @ResultVar = CATALOGUEID 
	FROM C6Staging.CATITEMREF cat
	where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end)
	ORDER BY ISVISIBLE DESC
	*/	
	IF @TipoProdotto in ('DT','ASD' ) 
	SELECT TOP 1 @ResultVar = CATALOGUEID 
	FROM C6Staging.RP_CATALOGOPRODOTTI CAT
	where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end)
	ORDER BY VISIBILITA DESC
/*
	IF @TipoProdotto in ('GES' ) 
	SELECT TOP 1 @ResultVar = CATALOGUEID 
	FROM C6Staging.CATITEMREF cat
	where 1=1 
	and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) 
	and cat.COD_MAF=(case rtrim(isnull(@CodMAF,'')) when '' then '$' else @CodMAF end)
	ORDER BY ISVISIBLE DESC
*/
	IF @TipoProdotto in ('GES' ) 
	SELECT TOP 1 @ResultVar = CATALOGUEID 
	FROM C6Staging.RP_CATALOGOPRODOTTI CAT
	where 1=1 
	and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) 
	and cat.CODMAF=(case rtrim(isnull(@CodMAF,'')) when '' then '$' else @CodMAF end)
	ORDER BY VISIBILITA DESC
	-- Return the result of the function
	RETURN @ResultVar
END