Artikelanlage ohne EAN verhindern

Mehr
12 Jahre 9 Monate her - 12 Jahre 9 Monate her #867 von arnd
Artikelanlage ohne EAN verhindern wurde erstellt von arnd
Hallo!

Hat vielleicht jemand eine Idee, wie ich verhindern kann, dass Artikel eines bestimmten Lieferanten ohne Eintrag im EAN-Fenster gespeichert werden?
Ein Insert Trigger auf die Artikel-Tabelle mit Rollback funktioniert, soweit ich das sehen kann nicht, weil der Eintrag in der EAN-Tabelle erst nach dem Speichern des Artikels erfolgt.

Grüße
Arnd.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
12 Jahre 9 Monate her - 12 Jahre 9 Monate her #275 von asu
Hallo Arnd,

wenn auch ein "After Insert" Trigger nicht hilft, dann bleibt aktuell wohl nur die Lösung sich über einen Datenexport und Scheduler-Job einmal am Tag eine Liste per email schicken zu lassen von den "Sündenfällen". Schick mir doch mal deinen bisherigen Trigger-Ansatz.

Gruß

asu

"Wer Rechtschreibfehler findet, darf sie behalten."

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
12 Jahre 8 Monate her - 12 Jahre 8 Monate her #301 von arnd
Hallo asu,

ich habe jetzt einen Trigger in der GeschäftsvorfallPosition angelegt.
Das ist zwar nicht ganz so komfortabel, weil man den Artikel nochmal extra aufrufen muss. Es scheint mir aber auf DB Seite die einzige Möglichkeit zu sein. Ist dann eben die Strafe dafür, dass man vorher nicht ordentlich gearbeitet hat
Vielleicht kann es in einer der nächsten Versionen auch auf Programm-Seite eingebaut werden?

Grüße
Arnd.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
12 Jahre 8 Monate her - 12 Jahre 8 Monate her #302 von arnd
Code:
USE [...300] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE Trigger [dbo].[UserGeschäftsVorfallPos_Insert_EAN] ON [dbo].[GeschäftsvorfallPosition] FOR INSERT AS SET NOCOUNT ON declare @str as varchar(150) set @str = CHAR(10) + 'GeschäftsVorfallPos.'+CHAR(10) + 'Für diesen Artikel ist noch keine EAN-Nummer angelegt worden.' IF (UPDATE([ArtikelNr]) AND (SELECT COUNT(*) FROM inserted WHERE [ArtikelNr] IS NOT NULL and -- Bei diesen Lieferanten prüfen inserted.korrnr in (330, 166, 116, 142, 172, 189, 191, 145, 148) and -- Bei Vorfallart vorfallkürzel='WE')>0) BEGIN IF (SELECT COUNT(*) FROM inserted inner join ean on inserted.artikelnr=ean.artikelnr where -- Nur EAN mit definierter Länge zulassen len(ean.ean) between 12 and 13 )=0 BEGIN RAISERROR (@str, 16, 1) ROLLBACK TRANSACTION RETURN END END GO

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
12 Jahre 8 Monate her - 12 Jahre 8 Monate her #306 von asu
Hallo arnd,

da ich als "Erfinder" der Funktion "EAN-Zwang" in OrgaSoft ( DOS ) vor vielen Jahren deinen Ansatz verstehen kann, werde ich das mal besprechen.

Ein kleiner Tipp noch....

inserted.korrnr in (330, 166, 116, 142, 172, 189, 191, 145, 148)

KorrNr ist vom Typ varchar(), sicherheitshalber die einzelnen KorrNr in '' setzen.

inserted.korrnr in ('330', '166', '116', '142', '172', '189', '191', '145', '148')

Gruß
asu

"Wer Rechtschreibfehler findet, darf sie behalten."

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
12 Jahre 8 Monate her - 12 Jahre 8 Monate her #307 von asu
Hallo arnd,

kleiner Nachtrag noch, es geht in deinem Fall um Barcodes vom Hersteller, richtig ? Also die Funktion "AutoCreateEAN" in InStore-EAN nützt dir in dem Fall nichts, richtig ?

Gruß

asu

"Wer Rechtschreibfehler findet, darf sie behalten."

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Signum Warenwirtschaftssysteme AG
Kasinostraße 2
DE-64293 Darmstadt

Tel: +49 (6151) 15 18 - 0
Fax: +49 (6151) 15 18 - 100
info@signum.ag