-- =============================================
-- AUTHOR:		<VALERIO COLAIANNI,ANDREA NOBILI>
-- alter DATE:  10/05/2010
-- Description:	<Description,,>
-- =============================================
CREATE procedure [C6StagingPeriodico].[zzzRP_CREA_POSITIONID_CONSULENZA]
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;
	-- Log esecuzione
	INSERT INTO LOG_ESECUZIONE
		(Nome, Inizio, Nota)
	VALUES (
		'RP_CREA_POSITIONID_CONSULENZA',
		GETDATE(),
		'Elaborazione giornaliera'
	)
--select top 1 * from C6StagingPeriodico.consulenza
	UPDATE    
C6StagingPeriodico.RP_CONSULENZA
	SET       
		POSITION_ID = 
             [C6StagingPeriodico].[RP_INFO_DAPRODOTTOCSACATALOGO] --DBO.INFO_DAPRODOTTOCSACATALOGO
				(
				TIPOPRODOTTO, 
				CODINTERNO, 
				CODMAF, 
				--V ISIN per ASU2
				--controllare se gli ASU2 vengono gestiti bene
				CASE
					WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'')
					ELSE ''
				END,
				CODSOTTOPRODOTTO
				) 
		--END
       + 
			DBO.CREA_POSITIONID
				(
				TIPOPRODOTTO, 
				CODINTERNO, 
				CODMAF, 
				'', 
				CODSOTTOPRODOTTO, 
				CODCONF, -- VERIFICARNE LA CORRETTEZZA
				NUMPOLIZZA, 
				CONTO,
                RUBRICATO, 
				CUSTGAR,
				TERMID,
				cast(ANNO as decimal(3,0)),
				cast(PROG as decimal(9,0))
				--'',0,0
				/* decommentare dopo che nello ci da le regole per la ricostruzione del pctkey => anno + prog + termid
				, 
				CASE
					WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN ''
					ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8))
				END, 
				CASE
					WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0
					ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0))
				END, 
				CASE
					WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0
					ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0))
				END
*/
			)
	-- Log esecuzione
	UPDATE
		LOG_ESECUZIONE
	SET
		Fine = GETDATE(),
		Tipo = 'UPDATE',
		Righe = @@ROWCOUNT
	WHERE
		Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND
		Inizio = (
			SELECT
				MAX(Inizio)
			FROM
				LOG_ESECUZIONE
			WHERE
				Nome = 'RP_CREA_POSITIONID_CONSULENZA'
		)
END