PDC_REPORT_CreazioneDB/sql/storedCollaudo/C6Mart_DM_CREA_POSITIONID.sql
2025-06-09 17:09:11 +02:00

77 lines
1.9 KiB
SQL

-- =============================================
-- AUTHOR: <ALESSANDRO TRINGALI,,NAME>
-- CREATE DATE: 10/05/2010
-- Description: <Description,,>
-- =============================================
CREATE procedure [C6Mart].[DM_CREA_POSITIONID]
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 (
'DM_CREA_POSITIONID',
GETDATE(),
'Elaborazione giornaliera'
)
UPDATE
C6Staging.SPB_CONTR_SINTESI
SET
POSITIONID =
[C6STAGING].[INFO_DAPRODOTTOCSACATALOGO] --DBO.INFO_DAPRODOTTOCSACATALOGO
(
TIPOPRODOTTO,
CODICEINTERNO,
CODICEMAF,
--V ISIN per ASU2
ISNULL(ISIN,''),
CODICESOTTOPRODOTTO
)
--END
+
DBO.CREA_POSITIONID
(
TIPOPRODOTTO,
CODICEINTERNO,
CODICEMAF,
'',
CODICESOTTOPRODOTTO,
CODICECONTRATTO, -- VERIFICARNE LA CORRETTEZZA
NUMEROPOLIZZA,
CONTO,
RUBRICATO,
CUSTODIAGARANZIA,
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 = 'DM_CREA_POSITIONID' AND
Inizio = (
SELECT
MAX(Inizio)
FROM
LOG_ESECUZIONE
WHERE
Nome = 'DM_CREA_POSITIONID'
)
END