a6d7ea0b2f
versione TK 2.4 inclusione schema voc x tabella lingue e vocabolario
62 lines
2.2 KiB
Transact-SQL
62 lines
2.2 KiB
Transact-SQL
/***************************************
|
|
* STORED stp_LP_exportToAs400
|
|
*
|
|
* esporta la lista di prelievo (e le relative righe) verso AS400 andando a copaire nelle relative tabelle _AS
|
|
*
|
|
* Steamware, S.E.L.
|
|
* mod: 2010.07.19
|
|
*
|
|
****************************************/
|
|
CREATE PROCEDURE stp_LP_exportToAs400
|
|
(
|
|
@CodLista NVARCHAR(12)
|
|
)
|
|
AS
|
|
|
|
BEGIN TRAN
|
|
|
|
-- inizio con un controllo se devo processare verso AS400 la lista di prelievo...
|
|
DECLARE @toAs400 BIT
|
|
SET @toAs400 = (SELECT ISNULL(tlp.toAs400, 0) as valore
|
|
FROM TipoListaPrelievo AS tlp INNER JOIN ElencoListePrelievo AS elp ON tlp.CodTipoLista = elp.CodTipoLista
|
|
WHERE (elp.CodLista = @CodLista)
|
|
)
|
|
|
|
IF(@toAs400 > 0)
|
|
BEGIN
|
|
-- copio la lista (intestazione)
|
|
INSERT INTO ElencoListePrelievo_AS(CodLista, CodTipoLista, CodCS, DataCreaz, CodCliente, RagSociale, CodSoggetto, Particolare, DescParticolare,
|
|
DisegnoGrezzo, Esponente, Figura, CodImballo, QtaTot, CodStatoLista, Destinatario)
|
|
SELECT CodLista, CodTipoLista, CodCS, DataCreaz, CodCliente, RagSociale, CodSoggetto, Particolare, DescParticolare,
|
|
DisegnoGrezzo, Esponente, Figura, CodImballo, QtaTot, CodStatoLista, Destinatario
|
|
FROM ElencoListePrelievo
|
|
WHERE (CodLista = @CodLista)
|
|
|
|
-- copio le righe lista di dettaglio
|
|
INSERT INTO RigheListePrelievo_AS(CodLista, UDC, Qta, Proposto, Prelevato)
|
|
SELECT CodLista, UDC, Qta, Proposto, Prelevato
|
|
FROM RigheListePrelievo
|
|
WHERE (CodLista = @CodLista) AND Prelevato = 1
|
|
|
|
-- aggiorno le quantità passate ad AS...
|
|
UPDATE ElencoListePrelievo_AS
|
|
SET QtaTot = ( SELECT SUM(Qta) AS QtaTot FROM RigheListePrelievo WHERE (CodLista = @CodLista) AND Prelevato = 1 )
|
|
WHERE (CodLista = @CodLista)
|
|
END
|
|
|
|
|
|
COMMIT TRAN
|
|
|
|
-- IMPORTANTE: in caso siano rimasti riferimenti ad un UDC scaricato in AS in altre liste di prelievo li tolgo in modo da "ripulirle" ed evitare che lo stesso UDC venga prelevato 2 volte...
|
|
DELETE RLP
|
|
FROM RigheListePrelievo RLP
|
|
INNER JOIN ElencoListePrelievo ELP
|
|
ON RLP.CodLista = ELP.CodLista
|
|
WHERE ELP.CodStatoLista < 4 AND RLP.CodLista <> @CodLista AND RLP.UDC IN (
|
|
SELECT UDC
|
|
FROM RigheListePrelievo
|
|
WHERE (CodLista = @CodLista) AND Prelevato = 1
|
|
)
|
|
|
|
RETURN
|