Neu Custom Workflow Aufträge nach Artikelnummer sortieren

drafty

Aktives Mitglied
13. April 2018
5
0
Ich möchte gerne die Artikelpositiones Auftrag nach Erstellung über einen Custom Workflow neu sortieren.
Leider sind die Aufträge danach "Fehlerhaft" obwohl ich sowohl tbestellpos als auch Verkauf.tAuftragPosition korrigieren.

Hat jemand eine Idee?

SQL:
USE [eazybusiness]
GO
/****** Object:  StoredProcedure [CustomWorkflows].[spAuftragSortieren]    Script Date: 26.06.2024 07:22:16 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [CustomWorkflows].[spAuftragSortieren] @kAuftrag INT AS
BEGIN
    -- Temporäre Tabelle erstellen, um die sortierten Daten zu speichern
    CREATE TABLE #AuftragSortiert (
        kBestellPos INT,
        kBestellung INT,
        cArtNr VARCHAR(255),
        nType INT,
        SortOrder INT
    );

    -- Daten in die temporäre Tabelle einfügen, sortiert nach Artikelnummer, wobei nType = 1 bevorzugt wird
    INSERT INTO #AuftragSortiert (kBestellPos, kBestellung, cArtNr, nType, SortOrder)
    SELECT
        kBestellPos,
        tBestellung_kBestellung,
        cArtNr,
        nType,
        CASE
            WHEN nType = 1 THEN ROW_NUMBER() OVER (ORDER BY cArtNr ASC)
            ELSE 0
        END AS SortOrder
    FROM
        tbestellpos
    WHERE
        tBestellung_kBestellung = @kAuftrag;

    -- Zusätzliche temporäre Tabelle für Positionen mit nType = 0 erstellen
    CREATE TABLE #AuftragSortiert_0 (
        kBestellPos INT,
        SortOrder INT
    );

    DECLARE @MaxSortOrder INT;
    SELECT @MaxSortOrder = MAX(SortOrder) FROM #AuftragSortiert WHERE nType = 1;

    -- SortOrder für Positionen mit nType = 2 berechnen und in die temporäre Tabelle einfügen
    INSERT INTO #AuftragSortiert_0 (kBestellPos, SortOrder)
    SELECT
        kBestellPos,
        @MaxSortOrder + ROW_NUMBER() OVER (ORDER BY kBestellPos)
    FROM
        #AuftragSortiert
    WHERE
        nType <> 1;

    -- SortOrder in der ursprünglichen temporären Tabelle für nType = 2 aktualisieren
    UPDATE a
    SET a.SortOrder = b.SortOrder
    FROM
        #AuftragSortiert a
    INNER JOIN
        #AuftragSortiert_0 b
    ON
        a.kBestellPos = b.kBestellPos;

    -- Ursprüngliche Sortierreihenfolge aktualisieren
    UPDATE bp
    SET bp.nSort = ass.SortOrder
    FROM
        tbestellpos bp
    INNER JOIN
        #AuftragSortiert ass
    ON
        bp.kBestellPos = ass.kBestellPos;

    
    UPDATE ap
    SET ap.nSort = ass.SortOrder
    FROM
        Verkauf.tAuftragPosition ap
    INNER JOIN
        #AuftragSortiert ass
    ON
        ap.kAuftragPosition = ass.kBestellPos;


    -- Temporäre Tabellen löschen
    DROP TABLE #AuftragSortiert;
    DROP TABLE #AuftragSortiert_0;
END
 

John

Sehr aktives Mitglied
3. März 2012
3.396
778
Berlin
Wofür brauchst Du die Sortierung denn?
Muß das wirklich Wawi intern im Auftrag geändert werden oder reicht es vielleicht, eine Ausgabe ( Druckvorlage) sortiert auszugeben oder so?
 

drafty

Aktives Mitglied
13. April 2018
5
0
Wofür brauchst Du die Sortierung denn?
Muß das wirklich Wawi intern im Auftrag geändert werden oder reicht es vielleicht, eine Ausgabe (Druckvorlage) sortiert auszugeben oder so?

In den Vorlagen haben wir es schon geändert.

Es handelt sich leider um sehr viele Farb/Größen Kombinationen. Wenn man keine automatische Sortierung hat, hat man keine Überblick mehr, welche Größe/Farbe bestellt wurde, und welche nicht.
 

John

Sehr aktives Mitglied
3. März 2012
3.396
778
Berlin
OK, wenn du es unbedingt hinbekommen möchtest, nimm JTL Diag und schau Dir an, was die Wawi beim Umsortieren per SQL macht.
 

drafty

Aktives Mitglied
13. April 2018
5
0
OK, wenn du es unbedingt hinbekommen möchtest, nimm JTL Diag und schau Dir an, was die Wawi beim Umsortieren per SQL macht.

Vielen Dank @John . Das hat mir sehr weitergeholfen.

Hier das ganze Skript für jemand, der es benötigen könnte:


SQL:
USE [eazybusiness]
GO
/****** Object:  StoredProcedure [CustomWorkflows].[spAuftragSortieren]    Script Date: 26.06.2024 07:22:16 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [CustomWorkflows].[spAuftragSortieren] @kAuftrag INT AS
BEGIN
    -- Temporäre Tabelle erstellen, um die sortierten Daten zu speichern
    CREATE TABLE #AuftragSortiert (
        kBestellPos INT,
        kBestellung INT,
        cArtNr VARCHAR(255),
        nType INT,
        SortOrder INT
    );
    
    -- Daten in die temporäre Tabelle einfügen, sortiert nach Artikelnummer, wobei nType = 1 bevorzugt wird
    INSERT INTO #AuftragSortiert (kBestellPos, kBestellung, cArtNr, nType, SortOrder)
    SELECT
        kBestellPos,
        tBestellung_kBestellung,
        cArtNr,
        nType,
        CASE
            WHEN nType = 1 THEN ROW_NUMBER() OVER (ORDER BY cArtNr ASC)
            ELSE 0
        END AS SortOrder
    FROM
        tbestellpos
    WHERE
        tBestellung_kBestellung = @kAuftrag;

    -- Zusätzliche temporäre Tabelle für Positionen mit nType = 0 erstellen
    CREATE TABLE #AuftragSortiert_0 (
        kBestellPos INT,
        SortOrder INT
    );

    DECLARE @MaxSortOrder INT;
    SELECT @MaxSortOrder = MAX(SortOrder) FROM #AuftragSortiert WHERE nType = 1;

    -- SortOrder für Positionen mit nType = 2 berechnen und in die temporäre Tabelle einfügen
    INSERT INTO #AuftragSortiert_0 (kBestellPos, SortOrder)
    SELECT
        kBestellPos,
        @MaxSortOrder + ROW_NUMBER() OVER (ORDER BY kBestellPos)
    FROM
        #AuftragSortiert
    WHERE
        nType <> 1;

    -- SortOrder in der ursprünglichen temporären Tabelle für nType = 2 aktualisieren
    UPDATE a
    SET a.SortOrder = b.SortOrder
    FROM
        #AuftragSortiert a
    INNER JOIN
        #AuftragSortiert_0 b
    ON
        a.kBestellPos = b.kBestellPos;

    -- Ursprüngliche Sortierreihenfolge aktualisieren
    UPDATE ap
    SET ap.nSort = ass.SortOrder
    FROM
        Verkauf.tAuftragPosition ap
    INNER JOIN
        #AuftragSortiert ass
    ON
        ap.kAuftragPosition = ass.kBestellPos;


    -- Temporäre Tabellen löschen
    DROP TABLE #AuftragSortiert;
    DROP TABLE #AuftragSortiert_0;

    
    declare @p1 Verkauf.TYPE_spAuftragEckdatenBerechnen
    insert into @p1 values(@kAuftrag)
    EXEC Verkauf.spAuftragEckdatenBerechnen @auftrag = @p1
END
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Custom Workflow: Prüfung, ob mehrere Artikel in einem Auftrag sind User helfen Usern - Fragen zu JTL-Wawi 2
Anhänge bei zb. Auftrag per Email versenden | Workflow JTL-Wawi 1.9 5
Beantwortet Workflow einrichten bei Sonderpreise = Kategoriezuordnung User helfen Usern - Fragen zu JTL-Wawi 1
Neu Expressbearbeitung (unter Zusatzverpackung) in der WaWi per Workflow abfangen Allgemeine Fragen zu JTL-Shop 2
Issue angelegt [WAWI-80989] Workflow "Aufträge zusammenfassen" JTL-Workflows - Ideen, Lob und Kritik 1
In Diskussion Workflow Lagerbestand "in Aufträgen" steigt auf mehr als "auf Lager" = Auslösung JTL-Workflows - Ideen, Lob und Kritik 8
In Diskussion Workflow Bedingung Reserviert = Zulauf JTL-Workflows - Ideen, Lob und Kritik 9
In Diskussion Workflow email senden bei Bestandsänderung (nur Erhöhung) JTL-Workflows - Ideen, Lob und Kritik 41
Workflow in "Artikel" starten wenn ausgeliefert? JTL-Wawi 1.9 1
Neu Bild-URL per Workflow aus eigene Felder zuordnen – Geht das? User helfen Usern - Fragen zu JTL-Wawi 5
Neu JTL WAWI amazon Express wird nicht erkannt beim Workflow Arbeitsabläufe von eazyAuction 2
Workflow trägt Funktionsattribut nicht im JTL-Shop ein JTL-Wawi 1.9 0
Gelöst Datei per Workflow verschieben JTL-Workflows - Ideen, Lob und Kritik 8
Beantwortet Workflow - Versandart ändern bei Fehler JTL-Workflows - Ideen, Lob und Kritik 2
Neu Workflow-Bedingungen für Teillieferung aus zwei Lagern (Lager A & Lager B) User helfen Usern - Fragen zu JTL-Wawi 2
Neu In Workflow Variable definieren und nachträglich den Wert verändern? User helfen Usern - Fragen zu JTL-Wawi 6
In Diskussion Workflow Gutscheinversand klappt nicht JTL-Workflows - Fehler und Bugs 5
Neu Servicepartner für Workflow gesucht Dienstleistung, Jobs und Ähnliches 3
Neu Workflow für fehlerhafte Retouren User helfen Usern - Fragen zu JTL-Wawi 0
In Diskussion Wie lässt sich ein Freiposition im Auftrag per Workflow löschen? JTL-Workflows - Fehler und Bugs 4
Neu Workflow : Bei Artikel die ein Erscheinungsdatum haben Denn Auftrag Farblich markieren Arbeitsabläufe in JTL-Wawi 7
In Diskussion Workflow für die Abfrage des noch offenen Kreditlimits JTL-Workflows - Ideen, Lob und Kritik 2
Neu Erheblich Workflow Probleme nach Update auf 1.9 User helfen Usern - Fragen zu JTL-Wawi 5
In Diskussion Workflow für fehlgeschlagenen Versanddatenexport Adressfehler beheben JTL-Workflows - Fehler und Bugs 5
In Diskussion JTL Wawi Workflow: Automatische Etikettenerstellung und E-Mail-Versand JTL-Workflows - Ideen, Lob und Kritik 10
In Diskussion Workflow "Auf Pickliste setzen" ohne gleich einen Lieferschein zu genereieren? JTL-Workflows - Fehler und Bugs 1
Neu Lieferschein per Workflow o.ä. von "offen" auf "Versendet" setzen bei bestimmter Versandart User helfen Usern - Fragen zu JTL-Wawi 8
In Diskussion Syntax für For-Schleife? For-Schleife im Workflow gibt Syntaxfehler aus ... JTL-Workflows - Fehler und Bugs 13
Neu Track and Trace DHL im Ausland ( z.B. Österreich ) - Workflow startet nicht User helfen Usern - Fragen zu JTL-Wawi 1
Gelöst Workflow Auftrag mit Positionsabfrage geht nicht, wegen Textposition für den Versand JTL-Workflows - Ideen, Lob und Kritik 1
Neu Workflow Überverkäufe nach Bestandsbuchung automatisch deaktivieren? User helfen Usern - Fragen zu JTL-Wawi 1
In Diskussion Versandbestätigung per Workflow versenden JTL-Workflows - Fehler und Bugs 1
Neu JTL-WAWI API] - Trigger Sales Order Workflow Event - X-RunAs wird ignoriert JTL-Wawi - Fehler und Bugs 0
In Diskussion Manueller Workflow Regex JTL-Workflows - Ideen, Lob und Kritik 4
Beantwortet Workflow funktioniert bei Unicorn 2 Bestellungen nicht JTL-Workflows - Fehler und Bugs 3
In Diskussion Workflow Rechnung Email Wochenende JTL-Workflows - Fehler und Bugs 3
In Diskussion Workflow - Lagerbestand auf Lager X = 0, dann setzte 5 Tage Lieferzeit JTL-Workflows - Ideen, Lob und Kritik 4
Beantwortet Doppelte Versandpositionen per Workflow entfernen JTL-Workflows - Fehler und Bugs 4
Neu Amazon & Schweiz ab 01.01.25: Rechnungslegung ja oder nein? Workflow? User helfen Usern - Fragen zu JTL-Wawi 3
Neu ausgehende XRechnung speichern - workflow User helfen Usern - Fragen zu JTL-Wawi 5
Neu Workflow: Auftragsfarbe bei Fehlbestand ändern User helfen Usern - Fragen zu JTL-Wawi 1
SQL Abfrage bei Workflow Datei Schreibn JTL-Wawi 1.9 1
1.9.5.4 und Shop 5.3.3 fehlende Beschreibung im Shop durch Workflow, bin genervt JTL-Wawi 1.9 2
In Diskussion Workflow Beschaffung - gelöscht JTL-Workflows - Ideen, Lob und Kritik 2
Neu Kunden UST Feld mit Workflow befüllen User helfen Usern - Fragen zu JTL-Wawi 5
Neu JTL Worker führt den Workflow nicht aus User helfen Usern - Fragen zu JTL-Wawi 0
In Diskussion Workflow testen, teilweise unmöglich aktuelles Beispiel zu wählen JTL-Workflows - Fehler und Bugs 11
Neu JTL 1.9.7.0 | Amazon Aufträge bekommen keine Auftragsnummer mehr Amazon-Anbindung - Fehler und Bugs 0
Neu Keinen neuen Kunden anlegen bei ebay Bestellungen die in Aufträge umgewandelt werden User helfen Usern - Fragen zu JTL-Wawi 0
Neu FBA Lagerbestand in Wawi ansehen und Aufträge über FBA versenden User helfen Usern - Fragen zu JTL-Wawi 0

Ähnliche Themen