IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[SPGE_WRAPGETIMPORTOCANONE]') AND type in (N'P', N'PC'))
	DROP PROCEDURE [dbo].[SPGE_WRAPGETIMPORTOCANONE]
GO


SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO


CREATE PROCEDURE [dbo].[SPGE_WRAPGETIMPORTOCANONE]
(
	@DITTA 							decimal(5),
	@DATA_ELABORAZIONE				datetime,
	@CODICE_ARTICOLO				char(25),
	@TIPO_CLIENTE_FORNITORE			decimal(2) = 0,
	@CODICE_CLIENTE_FORNITORE		decimal(8),
	@QUANTITA						DECIMAL(14,3), 
	@CANONE							DECIMAL(17,6)	OUTPUT,
	@ERRORE							VARCHAR(100)	OUTPUT,

	@QTA2							DECIMAL(14,3) = NULL
	--,

	--@INDRECIMP						DECIMAL(2) = NULL OUTPUT, 
	--@INDRECART						DECIMAL(2) = NULL OUTPUT, 
	--@TABPRIORITA					BIGINT = NULL OUTPUT							

) AS 
BEGIN
SET NOCOUNT ON 

DECLARE @IDRECORD INT 

IF OBJECT_ID('tempdb.dbo.##ta_recuperocanone2014') IS NULL
	BEGIN
		create table ##ta_recuperocanone2014
        (
			ID					   INT IDENTITY(1,1)				   NOT NULL
			, DITTA				   DECIMAL(5,0)						   NOT NULL
            , TIPO_CF              DECIMAL(2)                          NOT NULL
            , CLIFOR               DECIMAL(8)                          NOT NULL
            , DATA_ELABORAZIONE    DATETIME                            NOT NULL
            , COD_ARTICOLO         CHAR(25) COLLATE DATABASE_DEFAULT   NOT NULL
			, CODPAG			   CHAR(6) COLLATE DATABASE_DEFAULT    NULL
			, AGENTE			   CHAR(2) COLLATE DATABASE_DEFAULT    NULL
            , QTA                  DECIMAL(14,3)                       NULL
			, QTA2                 DECIMAL(14,3)                       NULL
            , INDRECIMP            DECIMAL(2)                          NULL
            , INDRECART            DECIMAL(2)                          NULL
            , CANONE_UNITARIO      DECIMAL(18, 6)                      NULL
			, ERRORE			   VARCHAR(100)						   NULL
			, TABPRIORITA		   BIGINT							   NULL
        )
	END

INSERT INTO ##ta_recuperocanone2014
	(DITTA, TIPO_CF, CLIFOR, 
		DATA_ELABORAZIONE, COD_ARTICOLO, QTA, QTA2) 
SELECT @DITTA, @TIPO_CLIENTE_FORNITORE, @CODICE_CLIENTE_FORNITORE,
		@DATA_ELABORAZIONE, @CODICE_ARTICOLO, @QUANTITA, @QTA2

SET @IDRECORD = SCOPE_IDENTITY()

declare @nomedb as nvarchar(128)

SELECT @nomedb = GT01_TRASCODIFICHE.GT01_PARALF1 
FROM GT01_TRASCODIFICHE 
WHERE GT01_TIPO = 1 AND GT01_CODICEGE = @DITTA 

declare @stmt as nvarchar(max)
set @stmt = 'EXECUTE ' + @nomedb +'.dbo.SPCT_GETIMPORTOCANONE ##ta_recuperocanone2014'

exec sp_executesql @stmt

SELECT TOP 1 @CANONE = CANONE_UNITARIO, 
	--@INDRECIMP = INDRECIMP, 
	--@INDRECART = INDRECART, 
	--@TABPRIORITA = TABPRIORITA,
	@ERRORE = ERRORE
	FROM ##ta_recuperocanone2014
	WHERE ID = @IDRECORD 

DELETE ##ta_recuperocanone2014 
WHERE ID = @IDRECORD 

RETURN 0

END

GO


