1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
CREATE TRIGGER TG_INS_SIA12_ENTETE_ECH ON [dbo].[F_DOCENTETE]
FOR INSERT
AS
DECLARE @idAuto int, @IdComm int, @NumLiv int
DECLARE @NTiers varchar(17), @NomComm varchar(35), @NCom varchar(12)
DECLARE @dateComm datetime, @DateLivTot datetime, @DateLivTard datetime
BEGIN
-- On récupére les données qui nous interresse sur la ligne que l'on viens d'insérer
SELECT @NCom = DO_Piece, @NTiers = DO_Tiers, @dateComm = DO_Date, @DateLivTot = DO_DateLivr, @DateLivTard = Date_livraison_Maxi, @IdComm = RE_No, @NumLiv = Li_No FROM INSERTED
-- On récupére le nom du commercial grace à son id
SELECT @NomComm = RE_Nom FROM F_REPRESENT WHERE RE_No = @IdComm
-- On insére dans T_Echanges la ligne de l'échange.
INSERT INTO [T_ECHANGES] (NOM, ORIGINE, DESTINATION, DATE_CREATION, STATUT ) VALUES ('COMMANDE', 'SAGE', 'PRODALIA', GetDate(), 'PRET')
-- Permet de récupérer le numéro qui a été incrémenter automatiquement
SELECT @idAuto = @@IDENTITY FROM INSERTED
-- Récupérer les données sur l'adresse de la livraison dans la table F_LIVRAISON
DECLARE @Code_Liv varchar(17), @libelle_Liv varchar(50), @adress_Liv varchar(35), @comple_Liv varchar(35), @cp_Liv varchar(5), @ville_liv varchar(35), @pays_Liv varchar(50), @tel_Liv varchar(15), @fax_Liv varchar(15), @mail_Liv varchar(50)
SELECT @Code_Liv = CT_Num, @libelle_Liv = LI_INTITULE, @adress_Liv = LI_ADRESSE, @comple_Liv = LI_COMPLEMENT, @cp_Liv = LI_CODEPOSTAL, @ville_liv = LI_VILLE, @pays_Liv = LI_PAYS, @tel_Liv = LI_TELEPHONE, @fax_Liv = LI_TELECOPIE, @mail_Liv = LI_EMAIL FROM F_LIVRAISON WHERE LI_No = @NumLiv
-- On insére dans TCOM_CDEE l'entete de la facture
INSERT INTO [TCOM_CDEE] (IDENTIFIANT, ACTION_ECHANGE, NO_COMMANDE, CODE_CLIENT, LIBELLE_CLIENT, ADRESSE_CLIENT, COMPLEMENT_ADRESSE, CODE_POSTAL_CLIENT, VILLE_CLIENT, PAYS_CLIENT, TELEPHONE, FAX, EMAIL, CODE_SITE, LIBELLE_SITE, ADRESSE_SITE, COMPLEMENT_ADRESSE_SITE, CODE_POSTAL_SITE, VILLE_SITE, PAYS_SITE, TELEPHONE_SITE, FAX_SITE, EMAIL_SITE, Date_commande, Date_livraison_tot, Date_livraison_tard, Representant_code, Representant_nom )
SELECT @idAuto, 'A', @NCom, @NTiers, CT_INTITULE, CT_ADRESSE, CT_COMPLEMENT, CT_CODEPOSTAL, CT_VILLE, CT_PAYS, CT_TELEPHONE, CT_TELECOPIE, CT_EMAIL, @Code_Liv, @libelle_Liv, @adress_Liv, @comple_Liv, @cp_Liv, @ville_liv, @pays_Liv, @tel_Liv, @fax_Liv,@mail_Liv, @dateComm, @DateLivTot, @DateLivTard, @IdComm, @NomComm FROM F_COMPTET WHERE CT_Num = @NTiers
END |