-- Schema: C6MartPeriodico
-- Stored Procedure: RP_TCPTAB


CREATE procedure [C6MartPeriodico].[RP_TCPTAB]
AS
BEGIN
--		-- Log esecuzione
--	INSERT INTO LOG_ESECUZIONE
--		(Nome, Inizio, Nota)
--	VALUES (
--		'RP_CREA_POSITIONID_CONSULENZA',
--		GETDATE(),
--		'Elaborazione Trimestrale'
--	)
	
SELECT distinct
		TIPOPRODOTTO,
		CODINTERNO,
		CODMAF,
		CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN,
		CODSOTTOPRODOTTO,
		position_id
INTO #TAB1
FROM #tcptab	

UPDATE  #TAB1
	SET position_id = 	  
				 --DBO.INFO_DAPRODOTTOCSACATALOGO (       
				   C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO (
						TIPOPRODOTTO, 
						CODINTERNO, 
						CODMAF, 			
						CODISIN,
						CODSOTTOPRODOTTO
				) 
 
	UPDATE 	#tcptab
			SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID (
								c.TIPOPRODOTTO, 
								c.CODINTERNO, 
								c.CODMAF, 
								'', 
								c.CODSOTTOPRODOTTO, 
								c.CODCONF, 
								c.NUMPOLIZZA, 
								c.CONTO,
								c.RUBRICATO, 
								c.CUSTGAR,
								c.TERMID,
								cast(c.ANNO as decimal(3,0)),
								cast(c.PROG as decimal(9,0))
		)	
	 FROM   #tcptab c
			left join #TAB1 t 
			ON  isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'')
			AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'')
			AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'')
			AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END 
			AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'')
	 --WHERE c.position_id = '' and  t.position_id is not null
  
    
drop table 	#TAB1	

END


