Frage zu SSCC Zähler

Dieses Forum ist für alle NiceLabel Fragen für die deutschen Benutzer.

Moderators: Georges, milos, RobertK, tb, rom, NiceLabel Support Team

Post Reply
GuenterFrank
Enthusiast
Posts: 7
Joined: Tue Jul 17, 2018 8:24 am

Frage zu SSCC Zähler

Post by GuenterFrank » Tue Oct 08, 2019 8:41 am

Guten Tag im Forum, - hier wurde mir schon mal geholfen, - ich versuchs deshalb nochmals:
Vielen Dank für die Antworten vorab schon mal.


Im Wesentlichen geht es um einen Aufbau eines SSCC Zähler für Palettenetiketten der bei mir 7 Stellen hat.
Der Aufbau ist (Erweiterungsziffer 1 Stellig) (Firmennummer 9 Stellig) (Zähler 7 stellig) (Prüfziffer 1 stellig)
Das wird über Variablen - und eben dem Zähler gelöst.


Folgende Voraussetzungen:
- Ich habe ca. 10 verschiedene Etiketten Layouts die mit Inhalten aus einer Datenbank befüllt werden.
- in diese ca. 10 Layouts passen ca. 3000 einzelne Etiketten.
(Das Layout wird über eine Datenbankabfrage zugeordnet)
- Es werden immer mehrere Benutzer gleichzeitig Etiketten drucken.
- entsprechend den Vorgaben des SSCC darf natürlich keine Versandstücke geben mit gleichen Nummern, die müssen immer eindeutig sein bis der Zähler von vorne beginnt (wäre bei uns rechnerisch in ca.90 Jahren der Fall)

Mein Problem:
Zähler auf Ebene des Etikettenlayouts:
Bei einem Zähler auf Ebene des Etikettenkayouts wird ja eine kleine Datei (Layoutname.dvv) geschrieben, die zu Beginn ausgelesen wird und deren neuer Zählerstand in die kleine Datei zurückgeschrieben wird.

Im Beispiel hier ist der Zählerstand jetzt einfach 10 weil zuvor 10 Etiketten gedruckt wurden.
Die Situation: Benutzer A öffnet ein Etikett mit dem Layout TEST.nlbl, aus der TEST.dvv wird er Zählerstand 10 ausgelesen.
Benutzer A wird in ein Gespräch verwickelt, - das dauert....
Jetzt Startet Benutzer B ebenfalls einen Etikettendruck mit dem Layout TEST.nlbl, weil A noch nicht fertig ist wird auch hier der Zählerstand 10 ausgelesen.
A druckt jetzt 100 Etiketten, - der Zählerstand wird korrekt auf 110 hochgesetzt.
Danach druckt B 5 Etiketten, bei Ihm wird jedoch der Zählerstand von 10 um 5 erhöht und ein Wert von 15 zurückgeschrieben und der Wert von 110 damit überschrieben.

Die Folge davon ist, dass ich für die nächsten 95 Paletten zwei gleiche SSCC Zähler was die ganze Sache natürlich ad absurdum führt weil der Zähler je Palette ja weltweit nur einmal vorkommen darf.

Zähler auf Ebene der Maske
Das Ergebnis wäre gleich wie oben nur noch schlimmer weil es nur eine Maske gibt aber 10 Layouts.
Ist der Zähler in der Maske wird das Problem bei jedem parallelen Aufruf auftauchen.


Zähler auf Datenbankebene:
Ich kann natürlich einen Zähler auf Datenbankebene machen, - dann müsste das aber so sein, dass sobald der Zähler im Zugriff ist kein Zweiter Benutzer ein Etikett drucken solange der erste nicht fertig ist (Datensatzsperre).
Ich weiss nicht ob das eine praktikable glückliche Lösung ist denn wenn der Datensatz gesperrt ist und der Kollege "in Pause geht" kann kein anderer Etiketten drucken.


Meine Frage ist nun folgende:
Ein SSCC Zähler für ein Palettenetikett ist doch ein klassischer Fall für den Etikettendruck.
Wie macht man so etwas, ich kann nicht glauben, dass mir am Ende nur übrigbleibt für jedes einzelne Etikett mit einem eigenen Zähler anzulegen, da müsste ich ja alle 3000 Etiketten nachbauen.

Gibt es da etwas was ich noch übersehen habe?

Vielen Dank nochmals für Antworten.

Günter

User avatar
dejans
NiceLabel Support
NiceLabel Support
Posts: 35
Joined: Thu Mar 29, 2018 11:28 am

Re: Frage zu SSCC Zähler

Post by dejans » Tue Oct 08, 2019 12:26 pm

Hallo GünterFrank.

Dies wäre mit einer Datenbank (Access oder SQL) möglich.

Sie müssen jedoch auf jedem Etikett eine Variable definieren, um in die Datenbank schreiben zu können.

Das bedeutet, dass Sie in einer Lösung die Aktion "Variable Daten laden" auf der Schaltfläche "Drucken" definieren müssen, die beim Drucken immer +1 an die definierte Variable in der Datenbank sendet, um eine Art Zähler zu erstellen.

Die Lösung mit DVV funktioniert nicht, da der Zähler falsch ist, wenn die beiden Benutzer gleichzeitig arbeiten.

Wenn Sie jedoch einen Wunsch haben, können Sie uns das Problem an unsere Support-E-Mail senden, und wir können es an unsere PSG-Gruppe weiterleiten, um eine Lösung für Sie zu finden.

Vielen Dank und beste Grüße,

Dejan

GuenterFrank
Enthusiast
Posts: 7
Joined: Tue Jul 17, 2018 8:24 am

Re: Frage zu SSCC Zähler

Post by GuenterFrank » Thu Oct 10, 2019 10:18 am

Guten Tag Dejans,

vielen Dank für die Antwort, - und ja, mit einem Datenbankzähler (SQL) hatten wir das auch schon versucht.

Das Problem dabei ist, dass das funktioniert ähnlich wie die .dvv Datei, - wenn es hinsichtlich des Datensatzes keine Sperren gibt wird der Wert eben auch jedesmal ausgelesen und mit einem Update dann zurückgeschrieben.
Aber durch den mehrfachen Zugriff habe ich hier dasselbe Problem.

Auf Datenbankebene habe ich halt immer das Problem wie ich mit der Sperre umgehe, - beispielsweise wenn ein Kollege ein Layout aufruft, - so der Zählerstand gelesen wird und jetzt gesperrt ist -- und der Kollege dann einfach mal in Pause oder Nach Hause geht.
Kein anderer könnte jetzt mehr Etiketten drucken.

Soweit ich das nachgelesen habe scheint es Gründe zu geben das nicht auf der Datenbankebene zu lösen sondern das bereits vorher, also auf der Ebene von NiceLabel abzufangen.

Aber ich habe so die Hoffnung, dass auch andere genau dieses Problem haben und es da Vorschläge gibt für die "best practice" geben könnte.

Ich werde mich mit einer E-Mail an den Support wenden, vielen Dank für Ihre Hilfe

Schöne Grüsse

Günter Frank

Post Reply