Auswertung Artikel die tendenziell öfter nicht vollständig geliefert werden

JulianAUT

Neues Mitglied
Servus zusammen,
gibt es bereits eine Funktion, die es ermöglicht einfach auszuwerten bei welchen Artikel es häufiger vorkommt, dass die gelieferte Ware von der bestellten Ware abweicht?
Danke euch schonmal!
 
Da dürfte das Problemn sein, dass das Programm ja schlecht erkennen kann, wenn man Ersatz liefert.

Tragt ihr denn irgendwo ein Kennzeichen "Ersatzlieferung" ein?
Dann könnte man das recht einfach auswerten
 
Danke für deinen Input!
Es erfolgt bei uns keine Ersatzlieferungen, lediglich im LS & Re wird die Menge angepasst und die Position auf manuell erledigt gesetzt
 
Im Standard kenne ich keine solche Auswertung. Es sollte jedoch kein allzu großer Aufwand sein, eine solche via AppDesigner (oder anderen Technologien) zu erstellen. Im Grunde müssten lediglich die Vorgangspositionen auf Überlieferung geprüft und auf die jeweiligen Artikel aggregiert werden. Vorausgesetzt natürlich, dass die Vorgänge sauber geführt werden - habe immer wieder erlebt, dass nach Belegübernahme Positionen gelöscht, eingefügt, zusammengefasst, etc. wurden, weshalb die Verknüpfung und Gleichgewichtsstatistik der Positionen innerhalb des Vorgangs durcheinander geriet.
 
Servus Steffen, was wären denn andere Technologien? Dachte in Sage kann man rein über den AppDesigner Anpassungen vornehmen.
Eine Überlieferung findet ja nicht statt, es weicht lediglich die gelieferte Menge von der bestellten Menge ab.
Die Daten sind sauber geführt.
 
Servus Julian,
wenn es in der Sage100 Warenwirtschaft integriert sein soll, erfolgt die Umsetzung im AppDesigner. Wenn man irgendwelche BI-Tools einsetzt, dann entsprechend in dem jeweiligen Tool.

Im Standard Sage100 gibt es so eine Auswertung nicht.
Im AppDesigner solche zu erstellen ist bei entsprechender Erfahrung kein großes Hexenwerk.
Die SQL-Abfrage könnte wie folgt aussehen:

SQL:
Select KHKVKBelege.Mandant
    , KHKVKBelegePositionen.Artikelnummer
    , Count(KHKVKBelege.BelID) as AnzahlAuftraege
    , Sum(Isnull(Lieferdaten.AnzahlLieferungen,0)) AnzahlLieferungen
from KHKVKBelege
    inner join KHKVKBelegePositionen
        on KHKVKBelege.Mandant = KHKVKBelegePositionen.Mandant
            and KHKVKBelege.BelID = KHKVKBelegePositionen.BelID
    inner join KHKVKBelegarten
        on KHKVKBelegarten.Kennzeichen = khkvkBelege.Belegkennzeichen
    inner join
        (Select KHKVKBelegePositionen.VorPosID, KHKVKBelegePositionen.Mandant, sum(KHKVKBelegePositionen.MengeBasis * GGGeliefertWirkung) as MengeBasisGeliefert, count(KHKVKBelege.Belegnummer) as AnzahlLieferungen
        from KHKVKBelege
            inner join KHKVKBelegePositionen
                on KHKVKBelege.Mandant = KHKVKBelegePositionen.Mandant
                    and KHKVKBelege.BelID = KHKVKBelegePositionen.BelID
            inner join KHKVKBelegarten
                on KHKVKBelegarten.Kennzeichen = khkvkBelege.Belegkennzeichen
        where KHKVKBelegarten.GGGeliefertWirkung = 1
        Group By KHKVKBelegePositionen.VorPosID, KHKVKBelegePositionen.Mandant
        ) as Lieferdaten
        on Lieferdaten.Mandant = KHKVKBelegePositionen.Mandant and Lieferdaten.VorPosID = KHKVKBelegePositionen.VorPosID
WHERE KHKVKBelegePositionen.Artikelnummer IS NOT NULL
    and KHKVKBelegarten.GGBestelltWirkung = 1
Group By KHKVKBelege.Mandant, KHKVKBelegePositionen.Artikelnummer
Order by Count(KHKVKBelege.BelID) - sum(Isnull(Lieferdaten.AnzahlLieferungen,0))

Man benötigt auf einer Seite die Auftragsbelege und im Sub-Join die Lieferdaten.

Oder wenn man ganz trivial die Statistischen Werte "Bestellt" und "Geliefert" analysieren möchte:
SQL:
Select KHKVKVorgaengePositionen.Mandant, KHKVKVorgaengePositionen.Artikelnummer, count(KHKVKVorgaengePositionen.VorPosID)as Anzahl
from KHKVKVorgaengePositionen
where KHKVKVorgaengePositionen.GGBestellt <> KHKVKVorgaengePositionen.GGGeliefert
Group by KHKVKVorgaengePositionen.Mandant, KHKVKVorgaengePositionen.Artikelnummer
Order by count(KHKVKVorgaengePositionen.VorPosID) desc

Die Abfragen habe ich jetzt auf die Schnelle erstellt, also ohne Gewähr ;) Probiere die Abfragen auf dem SQL Server aus... Im Detail muss man den gesamten Prozess anschauen z. B. die Retouren, Mehrfachlieferung, Mengennachlässe etc...
Der betreuende Fachhandelspartner kann bestimmt hinsichtlich AppDesigner bei der Auswertung unterstützen.


Beste Grüße
Sergej
 
Zuletzt bearbeitet:
Servus Steffen, was wären denn andere Technologien? Dachte in Sage kann man rein über den AppDesigner Anpassungen vornehmen.
Eine Überlieferung findet ja nicht statt, es weicht lediglich die gelieferte Menge von der bestellten Menge ab.
Die Daten sind sauber geführt.
Moin Julian,

oh stimmt, Du hast allgemein von abweichenden Liefermengen geschrieben. Mein Fehler. Das ändert aber kaum etwas an den abzufragenden Daten, im Grunde müssen m.E. nur die beauftragte und die gelieferte Menge der Vorgangspositionen verglichen werden. Also genau das, was @GlanS in seiner zweiten Abfrage macht.

Bzgl. den Technologien ergänzend zu @breithecker und @GlanS : wenn es nicht in die Sage integriert sein soll, kann im Grunde eine beliebige Technologie verwendet werden. Bspw. über die Sage API oder direkten Datenbankzugriff (Lizenzierung 3rd-Party beachten!) können alle notwendigen Daten ermittelt und dann in der jeweiligen Technologie weiterverarbeitet werden. Das kann eine Lösung wie das Query-Tool von @breithecker, ein Web-Dienst, ein Datenexport via SQL Server Agent oder auch ganz einfach eine Excel-File mit ODBD-Anbindung sein. Alles schon gesehen :)

Auch innerhalb des Sage-Standards und integriert in die Anwendung gibt es neben dem AppDesigner verschiedene und vom Programmstand abhängige alternative Möglichkeiten, wobei diese veraltet, abgekündigt und somit nicht zukunftsträchtig sind (Access-AddIns und Aufgaben-Center - beides bald "tot"). Je nach System und Kenntnissen kann die Verwendung einer solch veralteten Technologie trotzdem noch in Frage kommen (wenngleich ich klar davon abrate). Ich kenne bspw. Unternehmen, die noch mit Sage Office Lines der Verison 7.1 und älter arbeiten - in diesen alten Programmständen war der AppDesigner an vielen Stellen noch nicht ausgereift, weshalb die Verwendung einer andere Technolgie evtl. besser wäre. Meine Empfehlung wäre natürlich ein Update auf aktuelle Programmversionen, aber das ist ein anderes Thema ;)
 
Hallo Steffen,

auch für Excel und die anderen Alternativen zu unserem Query-Tool haben wir Videos gemacht ;-)


viele Grüße
 
Hallo Julian,
nach dem ganzen technischen Möglichkeiten, die Du hier gezeigt bekommen hast, ist die Frage, ob Du mit dem SQL-Script selbst etwas anfangen kannst oder Hilfe brauchst, das - in welchem Werkzeug auch immer - zu verwenden. Grüße
 
Hallo @all,
danke für euren immensen Input.

Ich würde mich zwar als technisch versiert einstufen, aber ein Programmierer bin ich bei weitem nicht - mal sehen wie weit ich komme.
Danke!
 
Zurück
Oben