Besoin en déclencheur solde client sur la table F_DOCENTETE

Forum consacré aux développements d'applications interfacées avec les logiciels Sage

Modérateurs: Super Modérateur, Modérateurs

Règles du forum
Merci de prendre connaissance des règles d'utilisation du forum

Avant de poster un nouveau message, utilisez la fonction RECHERCHER. Indiquez la VERSION de votre logiciel et toutes informations utiles à la résolution de votre question. Ne rédigez pas vos messages en MAJUSCULES. Soyez courtois et pensez aux formules de POLITESSE d'usage. Les messages à vocation COMMERCIALE ou PUBLICITAIRE seront supprimés.

*** LORSQU'UN SUJET EST RESOLU, SON AUTEUR DOIT EDITER LE 1ER MESSAGE DU SUJET EN HAUT DE PAGE ET COCHER "SUJET RESOLU" ***

Besoin en déclencheur solde client sur la table F_DOCENTETE

Messagede ALADIN » Mar 7 FĂ©v 2012 12:57

Bonjour,

j'ai un cas un peu différent, dont je ne peut pas utiliser le contrôle de l'encours sur sage (suite a une gestion interne).

j'ai procéder a la création d'une vue sur SQL Server. qui me permet d'extraire le solde que je cherche a contrôler.

la VUE nommée dbo.View_CTRLENC, sous le model suivant :
CT_Num *** CATTC *** REG *** SOLDE(CATTC-REG) *** CT_Encours *** CT_ControlEnc


J'ai besoin d'un Déclencheur sur la table F_DOCENTETE lors de la création d'un document par un utilisateur, le client devient bloquer au cas ou le SOLDE > CT_Encours, sinon un message d'avertissement disant que le client est en dépassement.

Code: Tout sélectionner
USE [TEST]
GO
/****** Object: Trigger [dbo].[CONTROLEENC] Script Date: 02/07/2012 10:19:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER TRIGGER [dbo].[CONTROLEENC]
ON [dbo].[F_DOCENTETE]
After insert
AS
Declare @DO_tiers varchar(17)
Declare @CT_Num varchar(17)
Declare @SOLDE numeric
Declare @CT_Encours numeric

Set @DO_tiers = (Select @DO_tiers From inserted)
Set @CT_Num = (Select CT_Num From dbo.CLE where ct_num = @do_tiers)
Set @SOLDE = (Select SOLDE From dbo.CLE where ct_num = @do_tiers)
Set @CT_Encours = (Select CT_Encours From dbo.CLE where ct_num = @do_tiers)

BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
If @SOLDE > @CT_Encours
Begin
Raiserror('Le client est en depassement %s',10,16, @Do_tiers)
RollBack transaction

End
-- Insert statements for trigger here

END

merci pour votre collaboration,
ALADIN
Posteur néophyte
Posteur néophyte
 
Messages: 1
Inscription: Mar 7 Fév 2012 12:36

Retourner vers Développements ODBC, Objets métiers, SQL

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités