Veröffentlicht Tue, 19 Feb 2019 09:07:24 GMT von Florian Eisen

Hallo,

ich frage im WF Designer über Daten zuweisen eine externe Quelle (MS SQL Datenbank) mit folgendem Statement ab:

SELECT PERSONALNR FROM PERSONAL
WHERE NACHNAME LIKE '%GV_Nachname%' and GEBDATUM = 'GV_Gebdatum' and NOT PERSONALNR = 'GV_Personalnr' and (PERSSTATUS = '2' or PERSSTATUS = '3')
ORDER BY AUSTRITT1 DESC

Nun führt mein ODER BY zu folgendem Fehler: 

Fehler in einer Systemaktivität: Falsche Syntax in der Nähe des ORDER-Schlüsselworts.

Wenn ich das Statement aber im MS SQL Studio abfrage funktioniert es ohne Probleme. 

Hat jemand eine Idee?

Vielen Dank!

Viele Grüße

Florian Eisen

Veröffentlicht Tue, 21 Sep 2021 17:36:36 GMT von Thomas Hayder EBB Truck-Center GmbH Leiter IT
Hallo zusammen,

gleiches Problem in DW 7.3. Würde mich ebenfalls für die Lösung interessieren.

LG Thomas
Veröffentlicht Wed, 22 Sep 2021 13:24:44 GMT von Thomas Hayder EBB Truck-Center GmbH Leiter IT
Rückmeldung DocuWare Support am 22.09.2021:

"...  leider wird ORDER BY nicht im Workflow Designer unterstützt ..."
 
Veröffentlicht Wed, 22 Sep 2021 14:40:10 GMT von Thomas Hayder EBB Truck-Center GmbH Leiter IT
Wir haben uns nun für einen Workaround per WebService entschieden. Rechnungsnummer (hernach suchen wir in unserem zu sortierenden SQL VIew) vom Workflow an den WebService übergeben. Der WebService macht die SQL Abfrage inkl. ORDER BY und gibt uns den gewünschten Wert zurück. In unserem Fall die E-Mail Adresse aus dem ERP System an welche wir gleich die Rechnung senden werden.

Hier der WebService Code falls wer Interesse hat ... ist bestimmt nicht C# HighLevel ... aber er löst an dieser Stelle das Problem im WF der ORDER BY Thematik.


<%@ WebService Language="C#" Class="WebServiceEBBAkteMailOrderBy" %>

using System;
using System.Text;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Web;
using System.Web.Services;
using System.Data.SqlClient;

[WebService(Namespace = "https://FQDN_DES_SERVERS_AUF_DEM_DER_WEBSERVICE_LÄUFT/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class WebServiceEBBAkteMailOrderBy : System.Web.Services.WebService 
{
    public WebServiceEBBAkteMailOrderBy()
    {
        
    }

    [WebMethod]
    public string getmailaddress(ref string rechnungsnummer)
    {
        string mailadresse = "";
        
        using (SqlConnection connection = new SqlConnection("Data Source=SERVERNAME\\INSTANZNAME;Initial Catalog=DATENBANK;User ID=BENUTZERNAME;Password=KENNWORT"))
        using (SqlCommand cmd = new SqlCommand("SELECT TOP(1) EMail FROM TABELLE_AUS_DER_IHR_DIE_ABFRAGE_MACHT WHERE RechNr = '"+rechnungsnummer+"' ORDER BY Bereich DESC, Typ DESC, Standard DESC", connection))
        {
            connection.Open();
            using (SqlDataReader reader = cmd.ExecuteReader())
            {
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        mailadresse = reader.GetString(reader.GetOrdinal("EMail"));
                    }
                }
            }
            connection.Close();
        }
        return mailadresse;
    }    
}

 

Sie müssen angemeldet sein um Beiträge in den Foren zu erstellen.