35 lines
1.4 KiB
Transact-SQL
35 lines
1.4 KiB
Transact-SQL
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 |