Home Forum Nuclos Konfiguration Businessprozesse In einem Arbeitsschritt 2 Objekte erzeugen

Ansicht von 4 Beiträgen - 1 bis 4 (von insgesamt 4)
  • Autor
    Beiträge
  • #5526
    Hans Dengel
    Teilnehmer

    Hallo Forum,

    folgende Situation: Entitäten A und B die über die Entität AB in einem n:m Verhältnis stehen. Jetzt soll über einen Arbeitschritt in A ein Repräasentant der Entität B erzeugt werden und zudem die Referenzen in der Entität AB gefüllt werden.

    Irgendwie muss das ja mit einem Arbeitsschritt bzw. einer Objektgenerierung aus A und einer entsprechende Regel zu lösen sein.

    Die B aus A zu erzeugen ist erstmal kein Problem.
    In der Regel muss jetzt
    1. Ein Objekt der Entität AB erzeugt werden
    Wie mache ich das ? Im Rule API habe ich die Methoden
    createObject(RuleObjectContainerCVO roccvo,java.lang.String sGeneratorName)und
    getNewMasterDataCVO(java.lang.String sEntity) gefunden. Wären das die richtigen und wie wende ich die an ? Gibt es da evtl ein Beispiel.

    2. In dem Objekt die Referenz auf das Quellobjekt gesetzt werden
    Das sollte einfache sein (server.getSourceObjectContainerCVO().getGenericObject().getId(); und ensprechend ein server.setField(….);

    3. Die Referenz auf das Zielobjekt B gesetzt werden. Wo bekomme ich die ID für die Referenz her? Wäre das einfach server.getGenericObject().getId() ?
    Das setzen würde dann ja wieder wie unter 2 passieren können.

    Wer kann helfen ?

    Gruss Hans

    #5531
    Thomas Schiffmann
    Teilnehmer

    Hallo Hans,

    mit createObject() können Sie einen weiteren Arbeitsschritt aufrufen, was für Ihren Anwendungsfall vermutlich eher ungeeignet ist.

    Versuchen Sie es mit folgenden Code (vorausgesetzt die Verknüpfungsentität ist eine Entität ohne Statusmodell):


    MasterDataVO relation = server.getNewMasterDataCVO("");
    relation.setField("Id", );
    relation.setField("Id", );
    try {
    ServiceLocator.getInstance().getFacade(org.nuclos.server.masterdata.ejb3.MasterDataFacadeLocal.class).create("", relation, null);
    }
    catch(Exception e) {
    throw new NuclosBusinessRuleException(e);
    }

    Viele Grüße
    tsc

    #5540
    Hans Dengel
    Teilnehmer

    Hallo tsc,

    danke für die Antwort,

    hab den Hinweis mal eingearbeitet, allerdings streikt der Compiler in der Regel bei

    ServiceLocator.getInstance().getFacade(org.nuclos.server.masterdata.ejb3.MasterDataFacadeLocal.class).create(„partyroleaddress“, mdvo_partyroleaddress, null);

    Mit der Meldung

    Business rule „OG_setpartyroleaddress“:24: cannot find symbol
    symbol : variable ServiceLocator
    location: class Rule_40016383

    Müssen da noch irgendwelche Klassen importiert werden oder ist ServiceLocator über das rule Interface nicht erreichbar ?

    Grüsse Hans

    #5542
    Hans Dengel
    Teilnehmer

    Hallo,

    habs selbst rausgekriegt:

    mit org.nuclos.common2.ServiceLocator………

    klappt es.

    Gruss

    Hans

Ansicht von 4 Beiträgen - 1 bis 4 (von insgesamt 4)