In Diskussion SQL Update aus Workflow heraus

xadoX

Sehr aktives Mitglied
11. September 2012
633
51
Hallo zusammen,

laut folgendem Ticket soll es seit der 1.6.12. möglch sein per Workflow schreibende SQL-Befehle abzusetzen:

https://issues.jtl-software.de/issues/WAWI-49318

Ich bekomme leider noch immer ein "Query blocked".

Konkret möchte ich das Leben meiner Retourenabteilung erleichtern, in dem sie den Retourenstatus nicht für jede Position setzen müssen, sondern der Status für alle gleichzeitig gesetzt wird:

Was muss ich machen, um schreibende SQL's ausführen zu können?

Bisher habe ich folgenden Code als "Erweiterte Eigenschaft" hinterlegt:

Code:
{% capture query -%}
BEGIN
    DECLARE @cRMRetoure nvarchar = {{ Vorgang.Retoure.Retourennummer }};
    DECLARE @kRMRetoure int;
    DECLARE @kRMRetourePos int;
    DECLARE @kRMStatus int;
    DECLARE @kRMStatusLast int;
    DECLARE @kRMStatusNeu int;
    DECLARE @kRMStatusVerlaufNeu int;
    DECLARE @cKommentar nvarchar(255) = N'';
    DECLARE @kBenutzer int = 2;
    DECLARE @dErstellt datetime = CONVERT(datetime, GETDATE(), 120);
    DECLARE @Identities TABLE (Id INT NOT NULL);

    SET QUOTED_IDENTIFIER ON

    /* Den Retourenstatus ermitteln, der zuletzt in dieser Retoure gesetzt wurde */
    SET @kRMRetoure = (SELECT krmRetoure from tRMRetoure where cRetoureNr= @cRMRetoure);
    SET @kRMStatusNeu = (SELECT TOP 1 kRMStatus from tRMStatusVerlauf WHERE kRMRetourePos in (SELECT kRMRetourePos from tRMRetourePos where kRMRetoure = @kRMRetoure) ORDER BY kRMStatusVerlauf DESC);

    DECLARE cursor_tRMRetourePos
    CURSOR FOR
    SELECT kRMRetourePos FROM tRMRetourePos WHERE kRMRetoure = @kRMRetoure

    OPEN cursor_tRMRetourePos

    FETCH FROM cursor_tRMRetourePos INTO @kRMRetourePos;
 
    WHILE @@FETCH_STATUS = 0

        BEGIN
            SET @kRMStatusLast = (SELECT TOP 1 kRMStatus FROM [tRMStatusVerlauf] WHERE kRMRetourePos = @kRMRetourePos ORDER BY kRMStatusVerlauf DESC);
            /* Nur wenn sich der Retourenstatus unterscheidet ausführen */
            IF @kRMStatusNeu <> @kRMStatusLast
                BEGIN
                    INSERT INTO [dbo].[tRMStatusVerlauf] ([kRMRetourePos], [kRMStatus], [cKommentar], [kBenutzer], [dErstellt])
                    OUTPUT INSERTED.[kRMStatusVerlauf] AS [Id] INTO @Identities
                    VALUES (@kRMRetourePos, @kRMStatusNeu, @cKommentar, @kBenutzer, @dErstellt);
                    SET @kRMStatusVerlaufNeu = (SELECT TOP 1 [Id] FROM @Identities ORDER BY [Id]);

                    UPDATE [dbo].[tRMRetourePos] SET kRMStatusVerlauf = @kRMStatusVerlaufNeu WHERE kRMRetourePos = @kRMRetourePos;
                END

        FETCH NEXT FROM cursor_tRMRetourePos  INTO @kRMRetourePos;
        END
    CLOSE cursor_tRMRetourePos
    DEALLOCATE cursor_tRMRetourePos
END
{% endcapture -%}
{% assign result = query | DirectQuery -%}
{{ result.Query }} lieferte {% if result.Fehlerhaft %}den Status: {{ result.Fehler }}{% else %}keinen Fehler.{% endif -%}
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.755
528
Führe doch das SQL mal direkt im Management Studio aus. Dann siehst du direkt die Fehlermeldung der Datenbank.
Vielleicht wird da ja airgendein Trigger ausgelöst, der ein direktes Beschreiben einer von dir angesprochenen Tabelle verbietet....?
 

xadoX

Sehr aktives Mitglied
11. September 2012
633
51
So geht das nicht.
Du mußt Dir einen "Custom Workflow" anlegen.
Dazu gibts auf dem JTL Youtube Kanal ein Video von Manuel.

Das kenne ich bereits. Leider kann man darüber keine Retouren ansprechen.

Führe doch das SQL mal direkt im Management Studio aus. Dann siehst du direkt die Fehlermeldung der Datenbank.
Vielleicht wird da ja airgendein Trigger ausgelöst, der ein direktes Beschreiben einer von dir angesprochenen Tabelle verbietet....?
In der Datenbank wirft es keinen Fall - es klappt. Es scheint also einfach nur ein Rechteproblem zu sein.

JTL hat sich dazu auch gemeldet. Leider wird es nicht möglich sein für Retouren CustomWorkflows anzulegen:
wir haben die Möglichkeit Änderungen an der Datenbank über Dotliquid vorzunehmen wieder entfernt.
Stattdessen können nun eigene Customworkflows in der Datenbank erstellt werden und diese kann man als Aktionen in den Workflows auswählen.
Anbei ein Youtube-Video zu diesem Thema mit einem Beispiel.
Dies ist allerdings noch nicht für Retouren möglich.
Ich hatte mal ein Ticket zu diesem Thema angelegt, dieses hat aber momentan den Status Won't Do.
https://issues.jtl-software.de/issues/WAWI-67707
Der Feature-Wunsch wurde geprüft. Im Verhältnis zu anderen Aufgaben wird dessen Umsetzung jedoch als weniger wichtig eingeschätzt und der Feature-Wunsch abgewiesen.
Sind Sie der Meinung, dass diese Einschätzung falsch ist, können Sie durch Ihren Vote oder Kommentar dazu beitragen, dass der Feature-Wunsch bei genügend Interesse wieder zur Begutachtung vorgelegt wird.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Arne Janson

Karobube

Sehr aktives Mitglied
23. September 2020
186
150
Remote via AnyDesk
Firma
contact@karobube.com
Einen batch-File mit sqlcmd schreiben, das batch-File über den Workflow ausführen, als Parameter den Retouren-Key übergeben, dann kannst Du an der DB damit machen, was immer Du willst
 
  • Gefällt mir
Reaktionen: Arne Janson

xadoX

Sehr aktives Mitglied
11. September 2012
633
51
Ich habe es nun per batch-File gelöst.

Das klappt auch wunderbar, nur leider werden nun alle Folge-Workflows (im Screenshot rot), die unter "Status Rückgabe erreicht" erstellt sind, nicht getriggert.

workflows2.jpg
In meinem Skript setze ich am Ende den Gesamtretourenstatus per UPDATE:

SQL:
UPDATE tRMRetoure SET kRMStatus = @kRMStatusNeu where cRetoureNr = @keyFromParam

Bie Anwendungen habe ich alle ausgewählt.

Woran kann das liegen?
 

Anhänge

  • workflow.jpg
    workflow.jpg
    11,7 KB · Aufrufe: 2
Zuletzt bearbeitet:

Karobube

Sehr aktives Mitglied
23. September 2020
186
150
Remote via AnyDesk
Firma
contact@karobube.com
Ich habe es nun per batch-File gelöst.

Das klappt auch wunderbar, nur leider werden nun alle Folge-Workflows (im Screenshot rot), die unter "Status Rückgabe erreicht" erstellt sind, nicht getriggert.

Lass mal nen SQL-Sniffer, z.B. den SQL-Profiler im SSMS, laufen und schau, was der in dem Moment macht, in dem der Retourenstatus nativ von der Wawi geändert wird, eventuell wird da noch n Skript angestoßen, von der Wawi oder dem Packtisch aus, von wo aus der Status geändert wird, was dann im gleichen Moment die Workflows triggert. Vielleicht kann man das rein auf der Datenbank gar nicht abbilden, weil die Wawi die Workflows seperat antriggert.
 

xadoX

Sehr aktives Mitglied
11. September 2012
633
51
@Karobube ich habe bereits den SQL-Mitschnitt über JTL-Diag laufen lassen. Es wird der gleiche Update abgesetzt, den ich auch absetze. Und danach folgen einige SELECT-Befehle, wo die betreffenden Workflow Events ermittelt werden und anschließend in die Queue geschrieben werden. In der Tabelle tRMRetoure gibt es keinen Trigger, der irgendwas mit den den Workflows zu tun hat.
Daher weiß ich leider nicht was der Auslöser für das Schreiben in tworkflowqueue ist.

Screenshot 2024-06-11 171932.png
 

Karobube

Sehr aktives Mitglied
23. September 2020
186
150
Remote via AnyDesk
Firma
contact@karobube.com
Hmm das Workflow-Anstoßen geht wohl nicht aus der DB heraus, aber wohl über die JtlWawiExtern.dll, da musst Du wohl im batch noch was hinter das sqlcmd basteln, was über die dll dann die Retourenstatusupdateworkflows antriggert...

Dazu gibt es diesen fast exakt acht Jahre alten :'D Foreneintrag: https://forum.jtl-software.de/threads/manuelle-workflows-per-kommandozeile-api-starten.89504/

EDIT: Auch noch dazu, auch nicht aktuell:

https://jtl-devguide.readthedocs.io/projects/jtl-wawi/Wiki/JTLwawiExterndll_einbinden/

https://jtl-devguide.readthedocs.io...'s_für_die_externe_Ansteuerung_der_Workflows/
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: sah
Ähnliche Themen
Titel Forum Antworten Datum
Neu Paypal Plugin läßt sich nicht installieren - SQL Fehler Plugins für JTL-Shop 2
Neu Artikel Filter laufende eBay Angebot funktioniert nicht - SQL Abfrage User helfen Usern - Fragen zu JTL-Wawi 3
Neu Gewinn pro Artikel mit SQL exportieren. User helfen Usern - Fragen zu JTL-Wawi 2
Warenbewegung SQL Abfrage JTL-Wawi 1.10 2
Wo finde ich Kundendaten in der sql Datenbank? JTL-Wawi 1.9 4
Neu Per SQL eine Liste nicht lieferbarer Artikel im Auftrag erstellen User helfen Usern - Fragen zu JTL-Wawi 4
Neu SQL Überverkäufe möglich je Verkaufskanal - in welcher Tabelle steht das? User helfen Usern - Fragen zu JTL-Wawi 1
Neu JTL WaWi (SQL Server)soll nur auf PC laufen User helfen Usern - Fragen zu JTL-Wawi 9
Neu Auftrag (Position) per SQL versenden User helfen Usern - Fragen zu JTL-Wawi 5
Neu Server Hardware für eigenes Wawi / SQL Hosting Installation von JTL-Wawi 3
In Diskussion Rechnungskorrekturen per SQL Vorgangsstatus setzen JTL-Workflows - Ideen, Lob und Kritik 1
WAWI 1.10.12.0 startet nach Update auf einem Client nicht mehr JTL-Wawi 1.10 1
Seit Update 1.10.12.0 – Keine Rechnungserstellung per Workflow bei FBA-Aufträgen JTL-Wawi 1.10 0
Nach Update: Shop Lizenz gültig aber mit anderen Kundenkonto verknüpft JTL-Wawi 1.10 1
Neu Plugin-Update 2.4.1: JTL Exportformat Google Shopping Plugins für JTL-Shop 6
Neu 500er Probleme nach Shop Update Betrieb / Pflege von JTL-Shop 4
Warnmeldung JTL-Shop Anbindung nach Update JTL-Wawi 1.10 5
Gelöst Seit Update auf 5.5 keine Texte mehr einfügen im Composer Allgemeine Fragen zu JTL-Shop 2
Neu Nach Update auf 5.5.2: Extrem lange Ladezeiten im Front- und Backend Installation / Updates von JTL-Shop 11
JTL stürzt nach Update auf 1.10 ab JTL-Wawi 1.10 2
Neu Nach Update 5.5.0: Überall zu viele Nullen bei den Mengenangaben (1 wird als 1,0000 angezeigt) JTL-Shop - Fehler und Bugs 8
Neu Ameise - Ebay Vorlage Erstellen - Chaos nach Update JTL-Ameise - Fehler und Bugs 0
Nach Update > Artikel > Lieferanten friert ein JTL-Wawi 1.10 3
Nach Update - JTL Artikel Fehlerhaft JTL-Wawi 1.10 5
Neu Update auf 5.5, Frontend geht, Backend bringt 500er User helfen Usern - Fragen zu JTL-Wawi 3
Hersteller können nicht hinzugefügt gelöscht oder bearbeitet werden nach Update auf 1.10.11.0 JTL-Wawi 1.10 3
Neu Update von 1.9.8.0 auf 1.10.11.0 läuft auf Fehler JTL-Wawi - Fehler und Bugs 2
Neu Nach Update 5.5.0 viele Nullen bei den Mengenangaben in der Bestellbestätigung JTL-Shop - Fehler und Bugs 16
Neu Update auf Shop 5.5 dann 60% Umsatzeinbusse Allgemeine Fragen zu JTL-Shop 26
Seit Update 1.10.10.4 – Keine Rechnungserstellung und keine Zahlungen ab 19.05. JTL-Wawi 1.10 3
Neu Probleme mit WMS-Lizenzen seit Update auf Version 1.10.10.4 JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 1
Neu Update von Version 1.5.55.8 auf neue sinnvoll? Installation von JTL-Wawi 25
Neu Update auf 5.5.0 erzeugt Error 500 Fehlermeldung “CacheAdvancedfile.php on line 95" Installation / Updates von JTL-Shop 2
Neu Weisse Seite nach Update von Version 5.4.1 auf 5.5.0 Installation / Updates von JTL-Shop 3
Nach Update 2 Einträge im Komplettabgleich vorhanden JTL-Wawi 1.10 1
Neu Update auf 5.5. Pluginmanager kann nicht aufgerufen werden Installation / Updates von JTL-Shop 9
Neu Update 5..50 + Plugin: JTL Exportformat Google Shopping Export Stopp JTL-Shop - Fehler und Bugs 6
Neu Artikel werden nach JTL-Abgleich aus Google & YouTube Vertriebskanal entfernt – seit letztem Connector-Update Shopify-Connector 3
Neu Nach Update auf Shop 5.5.0 "HTTP ERROR 500" JTL-Shop - Fehler und Bugs 19
Neu Update auf 5.4.1. - DB-Update funktioniert nicht Einrichtung von JTL-Shop4 3
Neu Shop 5.5 Update oder Neuinstallation Installation / Updates von JTL-Shop 0
Neu Update auf Shop 5.5.0 in Kombination mit Plugin "AmazonPay" nicht möglich - 500er Fatal Error JTL-Shop - Fehler und Bugs 9
Neu Shop Update von 5.2.4 - dbupdater - Kein Datenbank update Installation / Updates von JTL-Shop 1
Neu Kein Login in den Admin nach Update Installation / Updates von JTL-Shop 7
Nach Update auf JTL 10.10.4 wird kein Versand mehr an Amazon übermittelt JTL-Wawi 1.10 4
Neu Bestellvorschläge - meine Wahrnehmung nach Update auf 1.10.10.4 JTL-Wawi - Fehler und Bugs 4
Kein Ausdruken möglich nach Update auf dei 10.10.10.4 JTL-Wawi 1.10 2
Nach Update auf die 1.10.10.4 JTL-Wawi 1.10 10
Fehlermeldung Steuereinstellungen nach Update auf 1.10 JTL-Wawi 1.10 5
Neu Update von 1.5 Installation von JTL-Wawi 8

Ähnliche Themen