Home Forum Allgemeines Allgemeines zu Nuclos direkte SQL-Abfragen aus nuclos ?

Ansicht von 5 Beiträgen - 1 bis 5 (von insgesamt 5)
  • Autor
    Beiträge
  • #6056
    Frank Pavlic
    Teilnehmer

    Hallo zusammen,
    gibt es einen Weg/Klassen/Methoden, SQLs direkt aus einer nuclos-Regel heraus abzusetzen? Konkret geht es um die Nutzung der Postgres-CTE, also Rekursion für die Stücklisten-Auflösung. Das Ergebnis soll anschliessend weiterverarbeitet werden, z.B. Bedarfsermittlung .

    Im Quellcode finden sich einige Stellen, um Queries an die Datenbank abzusetzen, allerdings würde ich mich gerne am Standard bewegen.

    Ideen/Lösungen/Vorschläge werden dankend angenommen.

    Gruß

    Frank

    #6057
    Markus Glitzner
    Teilnehmer

    wie wäre es mit einer Virtuellen Entität?

    Ich mach es so z.B. bei der Provisionsabrechnung

    Gruß
    Hugo

    #6062
    Frank Pavlic
    Teilnehmer

    Hallo Hugo,
    danke für den Tipp, an diese Möglichkeit habe ich noch gar nicht gedacht. Muss ich auf jeden Fall evaluieren.
    Mittlerweile habe ich die Klassen gefunden, die ich für eine direkte SQL-Anweisung nutzen kann.

    Gruß

    Frank

    #7037
    Stephan Frenkel
    Teilnehmer

    Hallo Frank,

    das Thema interessiert mich auch. Welche Klassen sind das?

    Hast du vielleicht ein kleines Beispiel.

    Button -> Regel -> SQL Aufruf

    Lg
    Stephan

    #7039
    Frank Pavlic
    Teilnehmer

    Hallo Stephan,
    ich habe die CTE in einer Datasource-Report gepackt und in der alten API dann
    per folgenden Code aufgerufen.

    public static ResultVO getResultFromDatasource(Map dsmap, String ds)
    throws NuclosBusinessRuleException
    {
    ResultVO result = null;
    DatasourceFacadeBean facade = ServerServiceLocator.getInstance().getFacade(DatasourceFacadeBean.class);
    try {
    DatasourceVO dsvo = facade.get(ds);
    if (dsvo == null)
    throw new NuclosBusinessRuleException("Datasource " + ds + " existiert nicht!");
    result = facade.executeQuery(dsvo.getSource(), dsmap, null);
    } catch (Exception e) {
    throw new NuclosBusinessRuleException("Ausführung der Datasource fehlgeschlagen! " + e.getMessage());
    }
    return result;
    }

    ds = Name deiner Report-Datasource
    dsmap = Input-Parameter, z. B. intid der entsprechenden Stücklistendefinition.

    Die neue API bietet wohl auch bereits Provider an, allerdings habe ich mich damit noch auseinandergesetzt.

    Gruß
    Frank

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