Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

VersionDatumHinweiseKompatibilität
2.0.024.03.2017Erste Fassung auf Basis der generischen Businessobjekte in Nuclosab Nuclos 4.14.0

Überblick

 

Kurzbeschreibung

Das Nummernkreise-Nuclet bietet unterstütztende Funktionalität zur automatischen Nummerngenerierung.

 

Nuclet-Bestandteile

Das Nummernkreise-Nuclet umfasst im Rahmen der .nuclet-Datei

  • das Businessobjekt „Nummernkreise“

  • das Layout für dieses Businessobjekt,

  • drei Java-Regeln.

 

...

Typ

...

Name, englisch

...

Name, deutsch

...

Kurzbeschreibung

...

Businessobjekt

...

Nummernkreise

...

Nummernkreise

...

 

...

Layout

...

Nummernkreise

...

 

...

 

...

Java-Package

...

org.nuclet.nummernkreise.logic

...

Logik für die Nummerngenerierung

...

 

...

org.nuclet.nummernkreise.rule

...

Steuerung von Insert-/Update-/Delete-Events bzw. Statuswechsel

Nuclet "Nummerkreise" ermöglicht die einfache und automatische Generierung und Vergabe eindeutiger Nummern, z.B. Auftragsnummer, Rechnungsnummer, etc.

Integration

Die Integration nach erfolgtem Nucletimport (siehe Nuclet Import) ist wie folgt vorzunehmen.

SchrittBeschreibung
1

Ordnen Sie bitte Ihre Businessobjekte, für die Sie eine automatische Vergabe eindeutiger Nummern benötigen, unter Konfiguration | Regelwerke | Generische Implementierung dem generischen Businessobjekt "Nummerierbar" des Nuclets "Nummernkreise" zu. Siehe dazu auch Generische Implementierung.

Image Added

2Weisen Sie anschliessend die Regel "GeneriereNummer" des Nuclets "Nummernkreise" den Businessobjekten oder ggf. den Statusmodellen der Businessobjekte, für die Sie eine automatische Vergabe eindeutiger Nummern benötigen, zu. Siehe dazu auch Server Regelmanager.
 Image Added
3

Konfigurieren Sie Ihren gewünschten Nummernkreis für jedes betroffene Businessobjekt unter System | Nummernkreise.

Image Added

 

 

Tabelle 1: Nuclet-Bestandteile

 

Java-Package-Struktur

Die Java-Regeln sind in fünf Packages unterteilt:

  • Regeln für maskengesteuerte Events (org.nuclet.basistemplate.rule)

  • Regeln für die Geschäftslogik (org.nuclet.basistemplate.logic)

  • Regeln für businessobjektsbezogene Datenbankzugriffe (org.nuclet.basistemplate.facade)

  • Regeln für enitätsübergreifende Verallgemeinerungen und als Schnittstelle für die Java-Klassen des Lager-Nuclets (org.nuclet.basistemplate.wrapper)

  • Objektklassen für Preisinformationen (org.nuclet.basistemplate.object)

 

Integration

 

Notwendige Schritte zur Integration

Die Integration des Nummernkreise-Nuclets erfolgt in 5 Schritten:

  1. Download

  2. Nuclet-Import

  3. Nummernkreise festlegen

  4. Sourcecode-Anpassungen in Java-Regeln

  5. Einhängen der Java-Regeln im Regel-Management

Alle Integrationschritte werden im folgenden im Detail erläutert.

 

Schritt 1: Download

Download der Nuclet-Datei „Nummernkreise-v1.0.1.nuclet“ auf der Nuclos-Webpage unter „Nuclos Services“ > „Download“ > „Nuclet Download“. Das ZIP anschließend lokal entpacken.

 

Schritt 2: Nuclet-Import

Import des Basistemplate-Nuclets unter „Konfiguration“ > „Nuclet Management“ > „Importieren“ in Ihre bestehende Nuclos-Instanz, Auswahl der Datei „Nummernkreise-v1.0.1.nuclet“

 

Schritt 3: Nummernkreise festlegen

Für die automatisierte Nummernvergabe ist unter „Stammdaten“ für alle Businessobjekte, für die Nummern generiert werden sollen, jeweils ein Nummernkreis festzulegen. Die Nummernkreise umfasen die Definition eines Präfix und einer Anzahl von numerischen Stellen.

Beispielsweise führte die Definition

Name des Businessobjektes: Bestellung

Präfix: BE

Stellenanzahl: 4

Nächster Wert: 1

...

Seit Version v1.0.1 sind auch datumspezifische Präfixe möglich:

...

Die folgende Datumspräfixe werden aktuell unterstützt:

Tabelle 2: Anwendungsspezifische Anpassungen in Java-Regeln

Das Nummernkreise-Nuclet hält jeweils eine Java-Regel vor für

  • Nummern, die beim Insert generiert werden sollen

  • Nummern, die bei einem Statuswechsel generiert werden sollen

Diese Regeln müssen bei der Nuclet-Integration mit einer Implementierung für die tatsächlich genutzten Businessobjekte gefüllt werden.

 

Hier nun ein Beispiel, wie die Klasse org.nuclet.nummernkreise.rule.GeneriereNummer im Basistemplate-Nuclet angepasst worden ist:

Codeblock
languagejava
titleGeneriereNummer
/** @name GeneriereNummer  
  * @description Generiert fortlaufende Nummern
  * @usage      
  * @change     
*/
@Rule(name="GeneriereNummer", description="Generiert fortlaufende Nummern")
public class GeneriereNummer implements InsertRule 
{
    public void insert(InsertContext context) throws BusinessException 
    { 
        final Modifiable businessObject = context.getBusinessObject(Modifiable.class);
        
        if (businessObject instanceof Auftrag) {
            ((Auftrag)businessObject).setNummer(NummernkreiseLogik.getNextValue(Auftrag.class));
        } else if (businessObject instanceof Bestellung) {
            ((Bestellung)businessObject).setNummer(NummernkreiseLogik.getNextValue(Bestellung.class));
        } else if (businessObject instanceof Lieferschein) {
            ((Lieferschein)businessObject).setNummer(NummernkreiseLogik.getNextValue(Lieferschein.class));
        } 
    }
}

 

Schritt 5: Einhängen der Java-Regeln im Regel-Management

Die Java-Regeln, die in Schritt 5 angepasst worden sind, müssen im letzten Schritt noch den tatsächlichen Businessobjekten (bzw. deren Events oder Statuswechseln) zugeordnet werden. Dies erfolgt über den Menüpunkt „Konfiguration“ > „Regel Management“.

...

  • yyyy, yyyymm, mmyyyy, yyyymmdd, yyyyddmm, ddmmyyyy, mmddyyyy

  • mm, mmdd, ddmm

  • dd

     

Schritt 4: Sourcecode-Anpassungen in Java-Regeln

 

...

Java-Klasse

...

Kurzbeschreibung

...

org.nuclet.nummernkreise.rule.GeneriereNummer

...

Nummerngenerierung bei Insert-Event

...

org.nuclet.nummernkreise.rule.GeneriereNummerBeiStatuswechsel

...

Nummerngenerierung bei Statuswechsel