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