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,

