Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 2 Nächste Version anzeigen »

Ausführen eines Datenquellen-Abfrage

MethodeBeispiel
execute
public class AuftragAbschliessen implements UpdateFinalRule {
    public void updateFinal(UpdateContext context) throws BusinessException { 
        // Als Parameter geben wir die ID mit
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("intid", new Integer(er.getId().intValue()));
        
		DatasourceResult run = DatasourceProvider.run(map);
        
        for (Object[] rowWithColumns : run.getRows()) {
            for (int idx=0; idx < run.getColumns().size(); idx++) {
                DatasourceColumn datasourceColumn = run.getColumns().get(idx);
                ctx.log("Feld: " + datasourceColumn.getName() + " hat den Wert: " + 
                        run.getColumns().get(idx).getType().cast(rowWithColumns[idx]).toString());
            }            
        }
}

Erläuterung:

Zur Ermittlung aller Aufträge wird im ersten Schritt eine Map mit den Parametern angelegt und dann der Datasource zur Abfrage übergeben. Das erhaltene Result-Object ist eine Liste von Einträgen, die jeder für sich ein Array aus Objekten beinhaltet. Diese Arrays beinhaltet alle Spalten des jeweiligen Eintrages mit den entsprechenden Werten. Mit Hilfe der Columns kann weiterhin ermittelt werden, um welchen Typ es sich bei der entsprechenden Spalte handelt. So kann ein - wenn gewünscht - ein Cast vorgenommen werden.

Im Falle eines Laufzeit-Fehlers wird eine BusinessException geworfen.

  • Keine Stichwörter