Home Forum Nuclos Konfiguration Businessprozesse Job und Stored Prcedure per API ausführen

Ansicht von 9 Beiträgen - 1 bis 9 (von insgesamt 9)
  • Autor
    Beiträge
  • #7034
    Markus Glitzner
    Teilnehmer

    Hallo!

    Wie kann ich per API eine Stored Procedure, die als Datenbankobjekt vorhanden ist, ausführen oder alternativ einen Job starten.

    Gruß
    Hugo

    #7036
    Frank Pavlic
    Teilnehmer

    Hallo Hugo,
    ich fürchte gar nicht, evtl. noch mit der alten Regel-API über direkten Zugriff auf die DBObjectHelper, welche die Datenbankobjekte holt und über DBAccess dann das SQL-Statement ausführt. Aber wie gesagt, ist ein Vollhack und sicher nicht mit nuclos-4.0 kompatibel.
    Wenn Du es schaffst, dein SQL-Statement als Report zu realisieren, ist es kein Problem, auch mit der neuen API.

    Gruß
    Frank

    #7040
    Frank Pavlic
    Teilnehmer

    Hallo Hugo,
    ich revidiere meine Aussage, hier der Link zur Wiki-Page mit neuer API,
    „Aufruf einer Datenbankfunktion“
    http://wiki.nuclos.de/pages/viewpage.action?pageId=821348

    Weiter im Text wird dann auch der Aufruf in der alten API beschrieben, callDBFunction !

    Gruß
    Frank

    #7041
    Markus Glitzner
    Teilnehmer

    Hallo Frank!

    Danke für den Link, den hab ich noch gar nicht gesehen bzw. ist wohl erst kürzlich dazugekommen.

    Funktioniert leider trotzdem nicht, ich kann mein Datasource Objekt in der API nicht ansprechen, vielleicht übersehe ich da was.

    Datenbankobjekt: SOLLMENGE vom Typ procedure

    API Aufruf beim Statuswechsel:
    import org.nuclos.api.datasource.*;
    DatasourceProvider.run(SollmengeDS.class);

    bringt den Fehler:
    InventurErfassen.java:36: cannot find symbol
    symbol: class SollmengeDS
    location: class org.nuclet.businessentity.InventurErfassen

    Einige Variationen hab ich durchprobiert, was mich aber wundert, es gibt im Nuclos data Verzeichnis dieses Objekt nicht. Abgesehen davon, hab ich schon vor längerem sämtliche DB-Functionen aus Nuclos eliminiert, gab nur Probleme inkl. Datenverlust und war bzw. ist (für mich) kaum handlbar.

    Zur Not könnte ich die Procedure auch noch mittels Trigger aufrufen.

    Gruß
    Hugo

    #7043
    Frank Pavlic
    Teilnehmer

    und mit der alten API geht es auch nicht ?

    #7044
    Markus Glitzner
    Teilnehmer

    doch, würde funktionieren aber mit Nuclos 4.0 nicht mehr.

    Ich mache neue Funktionen nur mehr mit der neuen API und eliminiere nach und nach die alten Regeln.

    Habs jetzt mit einem Trigger gelöst, funktioniert einwandfrei.

    Gruß
    Hugo

    #7045
    Frank Pavlic
    Teilnehmer

    Hallo Hugo,
    ja, leuchtet ein. Dein Problem mit der Datasource mit neuer API müsste dann allerdings
    ein JIRA-taugliches Problem sein. Kann ja nicht sein, dass die Klasse nicht zu finden ist, obwohl das Datenbankobjekt im System angelegt ist…

    Gruß
    Frank

    #7046
    Markus Glitzner
    Teilnehmer

    so wie es aussieht, erst in 4.0.0 verfügbar http://support.nuclos.de/browse/NUCLOS-1511

    #7047
    Anonym
    Gast

    Zu
    >DatasourceProvider.run(SollmengeDS.class);

    Hier liegt ein Missverständnis vor, nur für Datenquellen, nicht Datenbankobjekte werden Klassen generiert. Der DatasourceProvider kann nur Datenquellen ausführen, keine Datenbankobjekte – dafür gibt es in der API noch keine Möglichkeit.

    Nichtsdestotrotz kann man den DatasourceProvider nutzen, um eine Datenquelle auszführen, die wiederum eine Datenbankfunktion aufruft – was aber nur funktioniert, solange die aufgerufene Datenbankfunktion keinen Schreibzugriff auslöst.

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