Création glossaire rattaché à un article via trigger
Posté: Ven 10 Avr 2015 12:12
Bonjour,
Environnement : GC L100 Pack SQL Server
Ma problématique utilisateur est de gérer des désignations comportant plus de 69 caractères.
La solution fonctionnelle retenue est logiquement l'utilisation d'un glossaire rattaché à un article.
En gros, l'article créé est XXX, le glossaire créé est alors XXX (désignation) et rattaché automatiquement à l'article XXX.
Je souhaite éviter à l'utilisateur d'avoir - manuellement - à créer le glossaire et le rattacher à l'article.
L'utilisateur n'a alors plus que, dans la vue descriptif de l'article XXX en cours de création, à double-cliquer sur le glossaire XXX déjà rattaché et à compléter le texte correspondant à sa longue désignation.
La solution technique consiste à mon sens à tout d'abord créer le glossaire correspondant à l'article (F_GLOSSAIRE) puis à en faire le rattachement à l'article en création (F_ARTGLOSS).
J'ai donc créé un trigger (ci-après) en AFTER INSERT sur F_ARTICLE.
Les entrées dans F_GLOSSAIRE et F_ARTGLOSS sont bien créées dynamiquement à la volée par le trigger ; toutefois, le glossaire rattaché n'apparaît pas dans la vue Glossaire de l'onglet Descriptif de la fiche Article.
Pouvez-vous m'indiquer quelle est l'action à générer en complément pour que le traitement soit complet ?
Merci par avance pour vos explications.
Bien cordialement,
Olivier
===
TRIGGER
===
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER TEST
ON F_ARTICLE
AFTER INSERT
AS
BEGIN
DECLARE @arref char(18), @glno int, @glintitule char(35)
SELECT @arref = AR_REF from inserted
SET @glno = 0
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON
-- Insert statements for trigger here
INSERT INTO F_GLOSSAIRE (GL_No,GL_Domaine,GL_Intitule, GL_Text) VALUES (@glno, @glno, @arref, @arref)
SELECT @glno = GL_No FROM F_GLOSSAIRE WHERE GL_Intitule=@arref
INSERT INTO F_ARTGLOSS (AR_REF, GL_No, AGL_Num) VALUES (@arref, @glno, 0)
END
GO
Environnement : GC L100 Pack SQL Server
Ma problématique utilisateur est de gérer des désignations comportant plus de 69 caractères.
La solution fonctionnelle retenue est logiquement l'utilisation d'un glossaire rattaché à un article.
En gros, l'article créé est XXX, le glossaire créé est alors XXX (désignation) et rattaché automatiquement à l'article XXX.
Je souhaite éviter à l'utilisateur d'avoir - manuellement - à créer le glossaire et le rattacher à l'article.
L'utilisateur n'a alors plus que, dans la vue descriptif de l'article XXX en cours de création, à double-cliquer sur le glossaire XXX déjà rattaché et à compléter le texte correspondant à sa longue désignation.
La solution technique consiste à mon sens à tout d'abord créer le glossaire correspondant à l'article (F_GLOSSAIRE) puis à en faire le rattachement à l'article en création (F_ARTGLOSS).
J'ai donc créé un trigger (ci-après) en AFTER INSERT sur F_ARTICLE.
Les entrées dans F_GLOSSAIRE et F_ARTGLOSS sont bien créées dynamiquement à la volée par le trigger ; toutefois, le glossaire rattaché n'apparaît pas dans la vue Glossaire de l'onglet Descriptif de la fiche Article.
Pouvez-vous m'indiquer quelle est l'action à générer en complément pour que le traitement soit complet ?
Merci par avance pour vos explications.
Bien cordialement,
Olivier
===
TRIGGER
===
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER TEST
ON F_ARTICLE
AFTER INSERT
AS
BEGIN
DECLARE @arref char(18), @glno int, @glintitule char(35)
SELECT @arref = AR_REF from inserted
SET @glno = 0
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON
-- Insert statements for trigger here
INSERT INTO F_GLOSSAIRE (GL_No,GL_Domaine,GL_Intitule, GL_Text) VALUES (@glno, @glno, @arref, @arref)
SELECT @glno = GL_No FROM F_GLOSSAIRE WHERE GL_Intitule=@arref
INSERT INTO F_ARTGLOSS (AR_REF, GL_No, AGL_Num) VALUES (@arref, @glno, 0)
END
GO