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.263
731
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.263
731
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: Zuordnung einer Verantwortlichen Person zu Artikeln User helfen Usern - Fragen zu JTL-Wawi 3
Neu Workflow funktioniert bei Unicorn 2 Bestellungen nicht JTL-Workflows - Fehler und Bugs 1
Neu Workflow Rechnung Email Wochenende JTL-Workflows - Fehler und Bugs 0
Neu 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 3
Neu Amazon & Schweiz ab 01.01.25: Rechnungslegung ja oder nein? Workflow? User helfen Usern - Fragen zu JTL-Wawi 2
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
Neu Workflow Beschaffung - gelöscht JTL-Workflows - Ideen, Lob und Kritik 0
Neu Kunden UST Feld mit Workflow befüllen User helfen Usern - Fragen zu JTL-Wawi 0
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
Beantwortet Workflow manuell Preisreduzierung 10% JTL-Workflows - Ideen, Lob und Kritik 4
In Diskussion Workflow Benachrichtigung wenn 80% vom Anfangsbestand verkauft wurde JTL-Workflows - Ideen, Lob und Kritik 7
Neu Vorauss. Lieferdatum = Heute in Workflow abfragen? User helfen Usern - Fragen zu JTL-Wawi 2
Neu Workflow Email versenden wenn Durchnittseinkaufspreis sich verändert hat JTL-Workflows - Ideen, Lob und Kritik 1
Neu Workflow o.Ä. gesucht für Versanddatenimport Arbeitsabläufe in JTL-Wawi 3
In Diskussion Automatische Workflow laufen nicht JTL-Workflows - Fehler und Bugs 4
In Diskussion In Workflow auf Views zugreifen JTL-Workflows - Ideen, Lob und Kritik 4
Neu Workflow für Otto.de Bestellungen über Amazon MCF Otto.de - Anbindung (SCX) 0
In Diskussion Workflow soll nur Montags bis Freitags greifen JTL-Workflows - Ideen, Lob und Kritik 12
Neu Workflow: Adresse - Strasse kürzen ( ab Wert "OT" ) User helfen Usern - Fragen zu JTL-Wawi 6
Workflow FollowUP Angebot JTL-Wawi - Ideen, Lob und Kritik 0
Beantwortet E-Mail Vorlage Versandbestätigung per Workflow ausführen, wie? JTL-Workflows - Ideen, Lob und Kritik 7
In Diskussion Brauche Hilfe bei Bestand Email Workflow JTL-Workflows - Ideen, Lob und Kritik 17
In Diskussion Workflow besteht alle Test wird nur nicht ausgeführt JTL-Workflows - Fehler und Bugs 23
Verwiesen an Support Workflow artikel_erstellt wird bei LagerUmbuchung ausgelöst. JTL-Workflows - Fehler und Bugs 1
Neu Workflow Hilfe gesucht, Ersetzten eines Textes User helfen Usern - Fragen zu JTL-Wawi 4
Neu Workflow und Version für Vorhaben Starten mit JTL: Projektabwicklung & Migration 3
Neu Workflow erstellen, einen Wert aus den Stammdaten kopieren in einen anderen User helfen Usern - Fragen zu JTL-Wawi 8
Neu Workflow Auftragssplit bei DHL Export Sendungen mit mehreren Paketen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Workflow Artikelnummer durch Lieferantennummer ersetzen User helfen Usern - Fragen zu JTL-Wawi 6
In Diskussion Log bei Workflow Fehler JTL-Workflows - Ideen, Lob und Kritik 0
In Diskussion Rechnungsentwurf per Workflow? JTL-Workflows - Ideen, Lob und Kritik 7
Neu Workflow Fehler User helfen Usern - Fragen zu JTL-Wawi 1
Neu Workflow der prüft, ob eine Bestellung komplett aus einem bestimmten Lager lieferbar ist. User helfen Usern - Fragen zu JTL-Wawi 7
In Diskussion Custum Workflow - Syntax JTL-Workflows - Ideen, Lob und Kritik 0
In Diskussion Keine Auslieferung nach Zahlungsartänderung über Workflow JTL-Workflows - Fehler und Bugs 4
Zahlungsmodul Workflow JTL-Wawi 1.9 17
Neu Workflow: Mail bei Notiz in Auftrags-Historie User helfen Usern - Fragen zu JTL-Wawi 1
Beantwortet Manueller Workflow lässt sich nicht anlegen (V 1.9.5.2) JTL-Workflows - Fehler und Bugs 13
Neu Was passiert wenn ich Amazon Aufträge, Lieferscheine und Rechnungen per SQL aus der WAWI-Datenbank lösche? User helfen Usern - Fragen zu JTL-Wawi 0
Gesperrte Kunden - keine Warnmeldungen, Aufträge können trotzdem angelegt werden JTL-Wawi 1.9 1
In Diskussion Aufträge über WaWi App als bezahlt markieren JTL-Workflows - Ideen, Lob und Kritik 2
Neu Aufträge fehlen Allgemeine Fragen zu JTL-Shop 4
Neu Aufträge ausschließen / nicht anzeigen lassen Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Neu Pickliste für Aufträge mit mehr als einem Artikel aus verschiedenen Lagerbereichen Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 1
Kunden aufträge werden nicht übernommen Paypal JTL-Wawi 1.9 0

Ähnliche Themen