Automatische Artikelnummer mit unterschiedlichen Nummernkreisen

Mehr
4 Jahre 2 Monate her #1632 von fni
Seit einiger Zeit ist es in Orgasoft.NET möglich, fortlaufende ("automatische") Artikelnummern nicht nur global über alle Filialen und Warengruppen hinweg generieren zu lassen, sondern man kann nach diversen Kriterien auch unterschiedliche Nummernkreise bilden.
Die Hauptkriterien sind: Filialnummer, WGKürzel, Artikelgruppe und/oder Sortiment

Zur Umsetzung muss die Abfrage [UserArtikelNr] in der Hauptdatenbank existieren und beispielhaft folgenden Aufbau haben:

CREATE PROCEDURE UserArtikelNr 
       @WGKürzel as Varchar(5), 
       @Artikelgruppe as int, 
       @Sortiment as Varchar(4), 
       @Filiale as smallint
AS
SET NOCOUNT ON
DECLARE @AutoNr varchar(20)

-- In diesem Muster sind die Artikelnummern 10stellig. Werden sie mit Filiale 0 angelegt, werden die Artikel normal hochgezählt. 
-- Werden sie durch eine Filiale angelegt bekommt die 1. Stelle eine "9" gefolgt vom 4-stelligen Sortiment und der laufenden Nummer.
BEGIN
       IF @Filiale = 0
       BEGIN
             SET @AutoNr = COALESCE(
			 (SELECT MAX(ArtikelNr) FROM Artikel WHERE LEFT(ArtikelNr,1) <> '9')
			 ,'0000000000')
             SELECT @AutoNr
       END
       IF @Filiale <> 0
       BEGIN
             SET @AutoNr = COALESCE(
			 (SELECT MAX(ArtikelNr) FROM Artikel WHERE LEFT(ArtikelNr,1) = '9' AND LTRIM(Substring(ArtikelNr,2,4)) = @Sortiment)
			 ,'9'+RIGHT('0000'+@Sortiment,4)+'00000')
             SELECT @AutoNr
       END
ELSE SELECT ''
END

Bitte Anmelden oder Registrieren um der Konversation beizutreten.