Versionen im Vergleich

Schlüssel

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

...

MethodeBeispiel
execute
Codeblock
public class BestellunganlegenAuftragAbschliessen implements InsertRuleUpdateFinalRule {
    public void insertupdateFinal(InsertContextUpdateContext context) throws BusinessException { 

        AnfragepositionAuftrag newPosa = new Anfrageposition();
        
        Artikel myArticel = QueryProvider.getById(Artikel.class, 40465351Lcontext.getBusinessObject(Auftrag.class);
        LagerRechnung myLagerr = QueryProviderGenerationProvider.getByIdexecute(Lager.class, 40276065L);
   
        newPos.setPositionsnr(0);        
        newPos.setArtikelId(myArticel.getId());
        newPos.setAnzahl(2.0d);
        newPos.setLagerId(myLager.getId());
     
        BusinessObjectProvider.insert(newPosa, ErstelleRechnungAusAuftrag.class);
    }
}

Erläuterung:Neue BusinessObjekte werden einfach mit new instantiiert und anschließend befüllt. Denken Sie daran, dass viele Instanzen von Entitäten in Nuclos Referenzen auf andere Entitäten besitzen. In oberen Beispiel das Lager und der Artikel. In diesem Fall ermitteln Sie die Daten, z.B. mit Hilfe des QueryProviders, und weisen sie über die Id des Eintrages zu. Wurde das BusinessObjekt korrekt und vollständig befüllt, kann es mit dem Aufruf der Methode "insert" abgespeichert werden

Die Ausführung eines Arbeitsschrittes über den GenerationProvider kann aus jeder Regel heraus vorgenommen werden. Aufgrund der Typsicherheit müssen Quell- und Zielobjekte immer zum Arbeitsschritt, resp. zu den hinterlegten Typen der generierten Arbeitsschritt-Klasse passen. Im oberen Beispiel erstellt der Arbeitsschritt "Erstelle Rechnung aus Auftrag" eine Rechnung. Der übergebene Parameter a muss vom Typ "Auftrag" sein. Der Rückgabewert muss wiederum vom Typ "Rechnung" sein. Erlaubt sind nur diese Typen von BusinessObjekten, andere Angaben führen zu Compile-Fehlern in der Regel.

Im Falle eines Laufzeit-Fehlers wird eine BusinessException geworfen.