Home › Forum › Nuclos Konfiguration › Businessprozesse › Job und Stored Prcedure per API ausführen
- Dieses Thema hat 8 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 10 Jahren, 2 Monaten von
Anonym.
-
AutorBeiträge
-
24 September 2013 um 10:54 Uhr #7034
Markus Glitzner
TeilnehmerHallo!
Wie kann ich per API eine Stored Procedure, die als Datenbankobjekt vorhanden ist, ausführen oder alternativ einen Job starten.
Gruß
Hugo24 September 2013 um 13:10 Uhr #7036Frank Pavlic
TeilnehmerHallo 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ß
Frank24 September 2013 um 13:36 Uhr #7040Frank Pavlic
TeilnehmerHallo 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=821348Weiter im Text wird dann auch der Aufruf in der alten API beschrieben, callDBFunction !
Gruß
Frank24 September 2013 um 14:35 Uhr #7041Markus Glitzner
TeilnehmerHallo 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.InventurErfassenEinige 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ß
Hugo24 September 2013 um 16:24 Uhr #7043Frank Pavlic
Teilnehmerund mit der alten API geht es auch nicht ?
24 September 2013 um 16:56 Uhr #7044Markus Glitzner
Teilnehmerdoch, 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ß
Hugo24 September 2013 um 19:37 Uhr #7045Frank Pavlic
TeilnehmerHallo 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ß
Frank24 September 2013 um 20:15 Uhr #7046Markus Glitzner
Teilnehmerso wie es aussieht, erst in 4.0.0 verfügbar http://support.nuclos.de/browse/NUCLOS-1511
24 September 2013 um 22:35 Uhr #7047Anonym
GastZu
>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.
-
AutorBeiträge