Jeder Nummernkreiscode muss eindeutig sein. Dem gleichen Nummernkreiscode können jedoch mehrere Dokumententypen zugewiesen werden. Sie müssen daher sicherstellen, dass Sie die Struktur nicht für Dokumententypen duplizieren, die über eindeutige Schlüssel verfügen müssen. Dies könnte andernfalls zum Abbruch der Transaktion führen.
Um den Anfangswert des Nummernkreises zu definieren, aktivieren Sie das Kontrollkästchen Rücksetzen (ZERO) oder geben Sie den Anfangswert jeder Komponente des Nummernkreises in der Funktion Zählerwerte (MODCPT) an. Sie können auch den nächsten Nummernkreis in chronologischer Reihenfolge definieren, um die Wiederherstellung der Daten im Falle eines Systemneustarts zu vereinfachen.
Beim Start Ihres Systems oder eines neuen Moduls wird empfohlen, die Funktion Zählerwerte (MODCPT) aus dem Menü zu löschen. Dadurch wird sichergestellt, dass die Nummernkreise in chronologischer Reihenfolge bleiben.
Siehe Dokumentation Umsetzung
Die Funktion Strukturen besteht aus einer einzigen Maske, die die verschiedenen Schlüsselelemente des Nummernkreises darstellt.
Übersicht
Jeder Block steht für ein Schlüsselelement, das Sie für den Nummernkreis definieren müssen. Der Block Komponenten ist hingegen variabel. In diesem Block können Sie die Komponenten definieren, aus denen die Struktur des Nummernkreises für Ihre Organisation besteht.
Schließen
Felder
In diesem Register befinden sich die folgenden Felder :
Blocknummer 1
| Dieser Code identifiziert einen Nummernkreis, der während der Generierung einer automatischen Nummer für ein Dokument referenziert wird. Ein Nummernkreis ist ein alphanumerisches Feld mit 1 bis 20 Zeichen. Der Wert des Nummernkreises setzt sich aus einer Reihe von Komponenten zusammen, die von links nach rechts verkettet werden. |
| Erfassen Sie die Bezeichnung des betroffenen Datensatzes. Diese Langbezeichnung wird als Titel in den Masken und Status verwendet. |
Definitionsebene
| Verwenden Sie dieses Optionsfeld, um anzugeben, ob dieser Nummernkreis für den gesamten Ordner, nur für ein einzelnes Unternehmen oder nur für einen einzelnen Standort verfügbar ist.
|
Rücksetzebene
| Verwenden Sie dieses Optionsfeld, um zu ermitteln, ob der Nummernkreis einen eindeutigen Wert zu einem bestimmten Zeitpunkt, einem Monat, Jahr, Geschäftsjahr oder einer Buchhaltungsperiode enthält. Um eine Duplizierung zu vermeiden wird vorausgesetzt, dass der Nummernkreis die entsprechenden Komponenten enthält, insbesondere das Jahr, den Monat, den Tag oder die Woche. Dieses Feld kann mithilfe eines Zusatzes mit dem Feld Definitionsebene kombiniert werden, um die Anzahl der dem Nummernkreis zuzuweisenden Nummerierungsequenzen zu definieren (die Sequenz muss für jeden Monat, Standort und Zusatz eindeutig sein). Mit diesen beiden Werten können die Komponenten eingeführt werden, mit denen Duplizierungsprobleme vermieden werden können. Wenn Sie zum Beispiel eine jährliche Rücksetzebene definieren, muss das Jahr eine Komponente des Nummernkreises sein. Ebenso müssen der Standort oder das Unternehmen Komponenten des Nummernkreises sein, wenn der Nummernkreis nach Unternehmen definiert ist. |
Typ
| Ein Nummernkreis erzeugt immer alphanumerische Schlüssel. Wenn Sie den Wert Numerisch auf Ebene des Typs auswählen, werden die führenden Nullen des Werts gelöscht. Ein numerischer Nummernkreis mit 6 Ziffern beginnt daher mit dem Wert „1“, während ein alphanumerischer Nummernkreis mit 6 Ziffern mit dem Wert „000001“ beginnt.
|
Tabelle Komponenten
| Positionsnummer. |
| Definieren Sie alle Komponententypen, aus denen die Nummernkreisstruktur besteht. |
| Siehe Erklärung der einzelnen Komponenten, aus denen die Nummernkreisstruktur besteht. Jede Komponente besitzt eine vordefinierte oder maximale Länge:
|
| Erfassen Sie eine feste Zeichenkette. Sie können beliebige alphanumerische Zeichen einschließlich Sonderzeichen wie / oder % erfassen. Setzen Sie keine einfachen oder doppelten Anführungszeichen um den Wert. |
Blocknummer 6
| Es wird empfohlen, dieses Optionsfeld auf Standard. zu setzen. Weitere Informationen zu diesem Feld finden Sie in der Dokumentation über die Sequenztypen. |
| Dieses Feld enthält einen Wert, wenn der SequenztypDB-Sequenz ist. Es zeigt den Namen der Tabelle für die Nummern an. |
| Dieses Feld enthält einen Wert, wenn der SequenztypGruppiert ist. Es zeigt an, wie viele Nummern gleichzeitig zugewiesen werden. |
Sonstiges
| Aktivieren Sie dieses Kontrollkästchen, um die chronologische Prüfung von Dokumenten zu aktivieren, deren Rechtsordnung in chronologischer Reihenfolge datierte Nummern erfordert. Dabei handelt es sich um eine Anforderung für bestimmte Rechtsordnungen, wie zum Beispiel Italien.
|
| Dieses Feld zeigt die maximal zulässige Länge für diesen Nummernkreis an. |
| Aktivieren Sie dieses Kontrollkästchen, um den Startwert des Nummernkreises auf Null zurückzusetzen. Der erste generierte Nummernkreis beginnt mit 1. |
| Dieses Feld zeigt den Code der Rechtsordnung des Landes an, zum Beispiel FRA für die französische Rechtsordnung. Dieser mit einem Unternehmen verbundene Code ermöglicht die Zuweisung von vordefinierten Regeln und Parametern, die für die Einhaltung landesspezifischer rechtlicher Anforderungen erforderlich sind. Dieser Code kann Kalkulationsregeln, Gesetzliche Erklärungen und Meldungen, die Steuerverwaltung etc. umfassen. Die Rechtsordnungen sind in der sonstigen Tabelle 909 definiert. Die allgemeinen Parameter können auch auf Rechtsordnungsebene definiert werden. |
Schließen
Komponententyp | Erläuterung |
Konstante | Feste Zeichenkette. Dieser Wert muss in der Spalte Formel erfasst werden. Setzen Sie keine einfachen oder doppelten Anführungszeichen um den Wert. |
Jahr | Länge = 1 entspricht der letzten Ziffer des Jahres (0 bis 9). |
Monat | Länge = 2 entspricht dem Monat in Ziffern (00 bis 12). |
Woche | Länge = 2 entspricht der Nummer der Woche (00 bis 53). |
Tag | Länge = 1 entspricht der Nummer des Wochentags (1 bis 7). |
Unternehmen | Code des Unternehmens, dem die Bewegung zugewiesen ist (1 bis 5 Zeichen). |
Standort | Code des Standorts, dem die Bewegung zugewiesen ist (1 bis 3 Zeichen). |
Sequenznummer | Inkrementeller Teil der Nummernkreisstruktur. Dieser Wert wird mit 1 inkrementiert. Der Startwert ist 1. |
Zusatz | Zusätzliche Komponente. Dieser Wert hängt vom Modul ab, in dem die Komponente des Nummernkreises verwendet wird. |
Geschäftsjahr | Die Nummer des Geschäftsjahres wird mit 1 bis 3 Ziffern definiert (der Wert 1 entspricht dabei dem ersten offenen Geschäftsjahr). Diese Nummerierung ist insbesondere dann von Nutzen, wenn Sie mit zeitversetzten Geschäftsjahren arbeiten. In diesem Fall gibt es einen Umbruch in der Nummerierung, wenn sich das Jahr ändert. Dies kann innerhalb eines Geschäftsjahres auftreten. |
Periode | Die Nummer der Periode wird mit 1 bis 3 Ziffern definiert (beginnend bei 1, bis zur maximalen Anzahl an Perioden in einem Geschäftsjahr). |
Formeln | Die angegebene Formel wird zur Struktur des Nummernkreises hinzugefügt. Dabei handelt es sich im Wesentlichen um eine unabhängige Folge von Zeichen, die in die generierte Nummernkreisstruktur eingefügt werden. Die Formel kann alphanumerisch, numerisch oder ein Datum mit maximal 20 Zeichen sein. Beachten Sie, dass alphanumerische Zeichen in Großbuchstaben umgewandelt und dann auf die genaue Anzahl der geplanten Zeichen formatiert werden. |
Mit dem Zusatzcode kann ein kontextabhängiges Nummernkreissegment definiert werden, ohne zwei verschiedene Nummernkreise definieren zu müssen. In diesem Fall muss man beachten, dass es eine chronologische Sequenz für jeden vom Feld Zusatz gespeicherten Wert gibt.
Die Verwendung des Felds Zusatz hängt vom Kontext der einzelnen Funktionen ab.
In Supervisor-Funktionen kann der Zusatz für den Nummernkreis der Chargennummern im Import-Export-Buffer verwendet werden. Er enthält den Code der verwendeten Import-/Export-Vorlage.
Die Liste der in den einzelnen Modulen verfügbaren Zusatzcodes ist in einer beigefügten Dokumentation definiert.
In allen anderen Fällen wird die Zusatznummer nicht zugewiesen. Sie können jedoch einen spezifischen Einsprungpunkt verwenden, um der Zusatznummer in einem bestimmten Kontext einen Wert zuzuweisen.
Sie können den Zusatzcode auch in eine Nummerierungssequenz integrieren, ohne dass eine für jeden Nummernkreiswert unterschiedliche Sequenz verwendet werden muss. Hierzu müssen Sie eine Komponente vom Typ Formel mithilfe der Formel [L]ZUSATZ verwenden (ZUSATZ ist die im Unterprogramm bekannte lokale Nummeriungsvariable, in der der aktuelle Zusatzwert gespeichert wird).
Der Sequenztyp ist für Kundeninstallationen mit vielen Arbeitsplätzen wichtig, die eine große Anzahl eines bestimmten Dokumenttyps erstellen. Je nach verwendetem Sequenztyp kann es zu Transaktionskonflikten kommen, wenn die Nummern aus Nummernkreisen bezogen werden.
Die Nummern werden bei Erstellung eines Dokuments (Auftrag, Buchung, Rechnung etc.) in der eigentlichen Anlagetransaktion zugewiesen. Dies hat zur Konsequenz, dass die Nummer bei Abbruch der Transaktion per Rollback nicht verloren geht. Solange die Anlagetransaktion noch nicht beendet ist (was mehrere Sekunden dauern kann), kann in einem solchen Fall keine andere Anlagetransaktion für denselben Dokumenttyp eine Nummer erhalten. Es wird dann ein Rollback zur konkurrierenden Transaktion durchgeführt und ein neuer Versuch gestartet (der erfolgreich sein wird, sofern die erste Transaktion zwischenzeitlich beendet wurde).
Die Anzahl aufeinander folgender Versuche bei Sperren dieses Typs vor Abbruch der Transaktion mit einem Fehler kann im Parameter ROLLBACK des Kapitels SUP festgelegt werden. Sollte ein Konflikt auftreten, können Sie den Wert dieses Parameters erhöhen. Beachten Sie jedoch, dass der Ressourcenverbrauch des Datenservers zu Lasten der Leistung steigen kann. In diesem Fall können Sie den Sequenztyp auch anpassen.
Der Standardnummernkreis hält hingegen stets die sequenzielle, zeitliche Reihenfolge ein: Bei zwei zeitlich aufeinanderfolgenden Aufrufen wird ein gegebener Nummernkreis stets aufsteigende Nummern vergeben, sofern die sonstigen Strukturbedingungen des Nummernkreises (Unternehmen, Standort, Periode, Zusatz) gleich sind. Weiterhin können keine Nummernverluste im Zusammenhang mit Sperren auftreten. Dieser Nummernkreistyp wird daher für juristische Dokumente empfohlen, bei denen die strenge Beachtung der Sequenz und die absolute Vermeidung von Nummerierungslücken erforderlich sind.
Die Nummern werden nach Gruppen von N Nummern (N entspricht einer Definition) zugewiesen. Dabei treten weniger Konflikte auf: Lediglich eine von N Zuweisungen löst einen Konflikt aus, da die anderen Zuweisungen eine verfügbare Nummer verwenden.
Allerdings kann die sequenzielle Nummernvergabe nicht garantiert werden, und bei Nummernkreisen, die vom Monat oder von der Periode abhängen, kann es zu Nummernverlust kommen. Beispiel: Wenn N = 10 ist, die Nummern 1 bis 8 bereits zugewiesen sind, und die Anzahl gleichzeitiger Anlagen 3 beträgt. Die erste wird Nummer 9 zugewiesen, die zweite Nummer 10, und für die dritte ist in der ersten Gruppe mit 10 Nummern keine Nummer mehr verfügbar. Der Bereich 11 bis 20 erstellt und die 11 wird als erste Nummer zugewiesen. Ist zwischenzeitlich die erste Transaktion aus anderen Gründen fehlgeschlagen, so wird die Nummer 9 für eine neue Transaktion frei. Wird keine weitere Transaktion mehr angestoßen, so sind alle Nummern von 1 bis 11 in Verwendung, bis auf Nummer 9. Als nächstes werden dann folgende Nummern vergeben: 9, 12 etc. Dies bedeutet, dass die Sequenz nicht streng eingehalten wird. Wird an einem Tag kein weiteres Dokument erstellt, dafür aber am nächsten Tag, so wird das Dokument des Tages T mit 11, das sonstige Dokument des Tages T+1 mit 9 nummeriert. Sind in den Nummernkreisen die Monatsnummern enthalten und tritt eine solche Situation am Monatsende auf, so ergibt sich daraus eine Nummerierungslücke (die jedoch nachverfolgt werden kann, da die ausgelassene Nummer sich in der Liste der zuzuweisenden Nummern befindet),
Die Nummernvergabe erfolgt außerhalb der Transaktion, d. h. es können keine Konflikte auftreten, allerdings ist auch keine Zurücknahme möglich (wird die Nummer nicht verwendet, wird sie endgültig ausgelassen). Diese Art von Nummernkreis stützt sich auf eine Datenbanksequenz. Safe X3 legt für jede Datenbanktabelle eine Sequenz an, die ihr normalerweise zugeordnet ist, um eine technische Nummer zu erhalten. Beachten Sie, dass diese Nummerierung niemals auf 0 zurückgesetzt wird (d. h. im Nummernkreis muss eine große Anzahl von Zahlen für die Sequenz vorgesehen sein). Diese Nummerierung ist streng sequenziell (die Zahlen werden stets im Zeitverlauf aufsteigend vergeben), es gibt jedoch möglicherweise Lücken, die weder protokolliert noch wiederhergestellt werden können. Diese Eigenschaft wird verwendet, wenn eine eindeutige technische Nummer erforderlich ist, bei der keine Lücken in der Sequenz benötigt werden.
Der nachstehenden Tabelle sind die Vor- und Nachteile der verschiedenen Nummernkreistypen zu entnehmen:
Nummernkreistyp | Aufsteigende Sequenz | Nummernverlust | Multi-Benutzer-Konflikte |
Standard | Immer | Nie | Stark |
Gruppiert | Nicht immer | Am Periodenende, aber protokolliert (Liste der ausgelassenen Nummern) | Mittel (je niedriger, desto größer N) |
DB-Sequenz | Immer | Ja, ohne Protokoll | Null |
Klicken Sie auf die Aktion Kopie, um den Code und die Struktur des Nummernkreises in einen anderen Ordner zu kopieren. |
Während der Erfassung können außer den generischen Meldungen folgende Fehlermeldungen auftreten: :
Es wurde versucht, einen Nummernkreis mit zwei Komponenten vom Typ Sequenznummer zu definieren (nur eine Sequenznummer pro Nummernkreis ist zulässig).
Die gewünschte Länge ist nicht mit dem Parameter kompatibel (Beispiel: ein achtstelliges Jahr oder ein fünfstelliger Monat).
Die Gesamtlänge des Nummernkreises überschreitet 20 Zeichen oder die Summe der Komponentenlängen unterscheidet sich von der Gesamtlänge.
Die Syntax der erfassten Berechnungsformel ist nicht korrekt.
Ein Nummernkreis basierend auf einer Sequenz muss immer auf einer im aktuellen Ordner vorhandenen Tabelle basieren. Bei diesem Tabellentyp ist dies nicht der Fall.
Ein Nummernkreis basierend auf einer Datenbanksequenz lässt nur eine einzige Nummerierungssequenz zu (auf Ordnerebene) und kann nicht zurückgesetzt werden.