


/***************************************
* FUNCTION f_calcDestOdette
*
* Compongo il primo campo delle odette ( campo_2 ) x il destinatario/molo
*
* Steamware, S.E.L.
* mod: 14/05/2013
*
****************************************/
CREATE FUNCTION [dbo].[f_odetteCalcDest] (@INEND VARCHAR(50) , @CCDMOL VARCHAR(50), @CCDPTR VARCHAR(50), @CDINB VARCHAR(50),
                   @CRAGCL VARCHAR(50) , @TELND VARCHAR(50) 

)
RETURNS NVARCHAR(50) AS
BEGIN

    DECLARE @answ          NVARCHAR(50) = ''
    DECLARE @destP1A       NVARCHAR(50) = ''
    DECLARE @destP2A       NVARCHAR(50) = ''
    DECLARE @destP1        NVARCHAR(50) = ''
    DECLARE @destP2        NVARCHAR(50) = ''
    DECLARE @destP3        NVARCHAR(50) = ''

    IF GETDATE() < '20140101'  -- 06/12/2013 Hard Coded x Modifica Anagrafica Articoli 
        BEGIN
            -- Se il campo INEND è vuoto devo prendere sempre gli altri campi CCDMOL e CCDPTR
            SET @destP1A    = CASE WHEN (SUBSTRING(@INEND,1,30)) = '' THEN (@CCDMOL) ELSE dbo.f_trim(SUBSTRING(@INEND,16,15)) END
            SET @destP2A    = CASE WHEN (SUBSTRING(@INEND,1,30)) = '' THEN (@CCDPTR) ELSE dbo.f_trim(SUBSTRING(@INEND,1,15))  END
        END
    ELSE
        BEGIN
            -- Se il campo INEND è vuoto devo prendere sempre gli altri campi CCDMOL e CCDPTR
            SET @destP1A    = CASE WHEN (SUBSTRING(@INEND,1,20)) = '' THEN (@CCDMOL) ELSE dbo.f_trim(SUBSTRING(@INEND,16,5)) END
            SET @destP2A    = CASE WHEN (SUBSTRING(@INEND,1,20)) = '' THEN (@CCDPTR) ELSE dbo.f_trim(SUBSTRING(@INEND,1,15))  END
        END
   
    SET @destP1	= CASE WHEN (@CDINB) <> '' THEN @destP1A ELSE (@CCDMOL) END
    SET @destP2	= CASE WHEN (@CDINB) <> '' THEN @destP2A ELSE (@CCDPTR) END
    
    -- solo se BMW metto /S
    SET @destP3     = CASE WHEN @CRAGCL = '13' OR ( @CDINB <> '' AND SUBSTRING(@TELND,19,2) = '13') THEN '/S' ELSE '' END

    IF @destP1 + @destP2 <> ''
       SET @answ =  @destP1 + '/' + @destP2 + @destP3
    ELSE 
       SET @answ = ''

RETURN @answ

END


