CREATE FUNCTION [C6StagingPeriodico].[RP_Info_DaProdottoCSaCatalogo_20190725]
(
	@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')
	BEGIN 
		IF	@CodSottoprodotto not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192')
--inizio intervento MIGRAZIONE ASU3
--inizio INTERVENTO 'RE' - 20161219						
			--and @CodInterno not in ('RS','RB','RM','RV')
				--inizio INTERVENTO 'RF/MP' - 20171204						
					--and @CodInterno not in ('RS','RB','RM','RV','RE')
					and @CodInterno not in ('RS','RB','RM','RV','RE','RF')
				--FINE INTERVENTO 'RF/MP' - 20171204
--fine INTERVENTO 'RE' - 20161219						
--fine intervento MIGRAZIONE ASU3			
			SELECT TOP 1
			 @ResultVar = CATALOGUEID 
			FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT
			where 1=1 
				and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'')
				and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'')
			ORDER BY VISIBILITA DESC
--inizio intervento MIGRAZIONE ASU3	
		ELSE IF
	--inizio INTERVENTO 'RE' - 20161219						
			--@CodInterno in ('RS','RB','RM','RV')
					--inizio INTERVENTO 'RF/MP' - 20171204
						--@CodInterno in ('RS','RB','RM','RV','RE')
						  @CodInterno in ('RS','RB','RM','RV','RE','RF')
					--FINE INTERVENTO 'RF/MP' - 20171204
	--fine INTERVENTO 'RE' - 20161219								
			SELECT TOP 1
			 @ResultVar = CATALOGUEID 
			FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT
			where 1=1 
				and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'')
				and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'')
				and isnull(cat.codisin,'')  = isnull(@CodISIN,'')
			ORDER BY VISIBILITA DESC		
--fine intervento MIGRAZIONE ASU3						
		ELSE	
			SELECT TOP 1 
			@ResultVar = CATALOGUEID 
			FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT
			where 1=1 
				and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'')
				and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'')
				and cat.TIPOPRODOTTO = @TipoProdotto
			ORDER BY VISIBILITA DESC
	END
--	IF @TipoProdotto in ('ASU2')   
  	IF @TipoProdotto in ('ASU2','GP')   
		SELECT TOP 1 @ResultVar = CATALOGUEID 
		FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT
		where 1=1 
		and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'')
		and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'')
		and isnull(cat.codisin,'')  = isnull(@CodISIN,'')
		ORDER BY VISIBILITA DESC
	IF @TipoProdotto in ('DT','ASD' ) 
		SELECT TOP 1 @ResultVar = CATALOGUEID 
		FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT
		where 1=1 
		and isnull(cat.CODINTERNO,'') =  isnull(@CodInterno,'')
		ORDER BY VISIBILITA DESC
	IF @TipoProdotto in ('GES' ) 
		SELECT TOP 1 @ResultVar = CATALOGUEID 
		FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT
		where 1=1 
		and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') 
		and isnull(cat.CODMAF,'') = isnull(@CodMAF,'')
		ORDER BY VISIBILITA DESC
--	IF @CodISIN in ('EURO00000009')   
--		SELECT TOP 1 @ResultVar = CATALOGUEID 
--		FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT
--		where 1=1
--		and isnull(cat.codisin,'')  = isnull(@CodISIN,'')
--		ORDER BY VISIBILITA DESC
	RETURN @ResultVar
END