﻿CREATE FUNCTION [dbo].[Crea_positionIDProposta]
(
	@ChiaveCatalogo VARCHAR(35)='',
	@CodiceContratto VARCHAR(11)='',
	@Conto VARCHAR(12)= '',
	@Rubricato VARCHAR(4)='',
	@TipoProdotto VARCHAR(20)='',
	@NumeroPolizza VARCHAR(11)= ''
)
RETURNS VARCHAR(123)
AS
BEGIN
	DECLARE @ResultVar VARCHAR(123)
	DECLARE @CatalogueID VARCHAR(128)
	DECLARE @TitoloPCT VARCHAR(1)
	DECLARE @PCTKEY VARCHAR(20)
	SET @TitoloPCT = '0'
	SET @PCTKEY = REPLICATE('0',20)
	SELECT @CatalogueID = ISNULL(CatalogueID,'CHIAVE CATALOGO NON TROVATA') 
	FROM  c6staging.CATITEMREF catalogo
	WHERE catalogo.OID$  = @ChiaveCatalogo
	IF LEN(RTRIM(ISNULL(@CodiceContratto, ''))) <11 
		SET @CodiceContratto= REPLICATE ( '0' ,11-LEN(RTRIM(ISNULL(@CodiceContratto, ''))) ) + RTRIM(ISNULL(@CodiceContratto, ''))
	IF LEN(RTRIM(ISNULL(@Conto, ''))) <12 
		SET @Conto= REPLICATE ( '0' ,12-LEN(RTRIM(ISNULL(@Conto, ''))) ) + RTRIM(ISNULL(@Conto, ''))
	IF LEN(RTRIM(ISNULL(@Rubricato, ''))) <3 
		SET @Rubricato= REPLICATE ( '0' ,3-LEN(RTRIM(ISNULL(@Rubricato, ''))) ) + RTRIM(ISNULL(@Rubricato, ''))
	IF RTRIM(@TipoProdotto) = 'DT'
		SET @TitoloPCT = '1'
	IF LEN(RTRIM(ISNULL(@NumeroPolizza, ''))) <11 
		SET @NumeroPolizza= REPLICATE ( '0' ,11-LEN(RTRIM(ISNULL(@NumeroPolizza, ''))) ) + RTRIM(ISNULL(@NumeroPolizza, ''))
	SET @ResultVar = @CatalogueID + @CodiceContratto + @Conto + @Rubricato + @TitoloPCT + @NumeroPolizza + @PCTKEY
	-- Return the result of the function
	RETURN @ResultVar
END