wiki:neuerungenmdervbmitdienst

Die hier aufgelisteten Neuerungen sind u.a. Optimierungen und Wünsche von Kollegen und Kunden, die in der alten Version nicht ohne extrem hohen Aufwand umgesetzt werden konnten.

allgemeine Änderungen

  • Überall, wo es bei der Verarbeitung um einen angemeldeten Benutzer oder MDE-Bearbeiter / MDE-Erfasser geht, wird versucht über diesen die Mitarbeiternummer zu ermitteln. Diese wird anschließend in möglichen Datensätzen (Tracking, Lagerjob, …) gespeichert. Dies dient unter anderem dem Datenschutz.

Produktion Gesamtfertigmeldung

  • Die Verarbeitung speichert in allen Rückmeldungen, die aus einer Gesamtfertigmeldung generiert werden, eine Batch-ID, welche im Benutzerfeld „USER_BatchID“ der Rückmeldung (Tabelle „abaPpsRueckmeldungenUserFields“) zu finden ist. Mit der Batch-ID findet man alle zusammenhängenden Rückmeldungen einer Gesamtfertigmeldung.

mobile Datenerfassung

  • Die Performance der Verarbeitung wurde um ein vielfaches gesteigert, was vor allem ab dem zweiten zu verarbeitenden MDE-Beleg ersichtlich ist.
  • Es muss sich kein Kopf mehr darüber gemacht werden, ob in der Belegart Versandeinheiten gescannt werden sollen oder nicht. Die Verarbeitung ermittelt das alleine.
  • Die korrekte Einstellung der Spalte „Bestandswirkung“ ist sehr wichtig, da sich daran, besonders bei Versandeinheiten, das Verhalten der Buchung orientiert
  • Jegliche Form der Verarbeitung findet über die Spalte „Command“ in der MDE-Belegart statt.
  • Es werden nur Belegarten in der neuen Verarbeitung berücksichtigt, die den Parameter „Version:=Sage100“ im Command beinhalten.
  • Verarbeitungsroutinen, die noch nicht auf die neuen Prozesse umgestellt sind, können nur in der alten automatischen Belegverarbeitung genutzt werden.
  • Einkauf/Verkauf: type:=abacus.Sage100.Wawi.Mde, abacus.Sage100.Wawi.Mde.Builders.MdeBuildAbf;Version:=Sage100;
  • Lager: type:=abacus.Sage100.Wawi.Mde, abacus.Sage100.Wawi.Mde.Builders.MdeBuildLager;Version:=Sage100;
  • Lagerkorrektur: type:=abacus.Sage100.Wawi.Mde, abacus.Sage100.Wawi.Mde.Builders.MdeBuildLagerKorrektur;Version:=Sage100;BewegungsartEntnahme:=<Lagerbewegungsart>;KorrekturModus:=<Modus>;
    • Wert = 0: Lagerbestand der Palette wird abgebucht und Palette mit der Menge aus der MDE-Position wieder eingebucht (Default, wenn nichts angegeben)
    • Wert = 1: Lagerbestand des kompletten Lagerplatzes wird abgebucht und nur die Palette der MDE-Position wieder eingebucht
    • Wert = 2: keine Lagerbuchung, nur VE-Menge wird angepasst
  • Inventur: type:=abacus.Sage100.Wawi.Mde, abacus.Sage100.Wawi.Mde.Builders.MdeBuildInventur;Version:=Sage100;
  • Produktion (FM, MA, VS): type:=abacus.Sage100.Wawi.Mde, abacus.Sage100.Wawi.Mde.Builders.MdeBuildPpsRm;Version:=Sage100
  • Produktion (Gesamt-FM): type:=abacus.Sage100.Wawi.Mde, abacus.Sage100.Wawi.Mde.Builders.MdeBuildPpsGfm;Version:=Sage100
  • Produktion (PPS Material zurück): type:=abacus.Sage100.Wawi.Mde.RVB, abacus.Sage100.Wawi.Mde.RVB.Builders.MdeBuildDummyPaletten;Version:=Sage100;IstPpsKorrekturbuchung:=-1
  • Keine Hauptverarbeitung: type:=abacus.Sage100.Wawi.Mde, abacus.Sage100.Wawi.Mde.Builders.MdeBuildDummy;Version:=Sage100
  • VE nachdrucken: type:=abacus.Sage100.Wawi.Mde.RVB, abacus.Sage100.Wawi.Mde.RVB.Builders.PalNachDruck;Version:=Sage100
  • VE/Charge freigeben/sperren: type:=abacus.Sage100.Wawi.Mde.RVB, abacus.Sage100.Wawi.Mde.RVB.Builders.PalFreigabe;Version:=Sage100;Freigabestatus:=<Value>;ChargenStatusAendern:=<Value>;PalettenStatusAendern:=<Value>;Grund:=<Value>
  • Bestellstapel erzeugen: type:=abacus.Sage100.Wawi.Mde, abacus.Sage100.Wawi.Mde.Builders.MdeBuildDispoStapel;Version:=Sage100
  • Entnahme-/Ziel-Lager festlegen: type:=abacus.Sage100.Wawi.Mde, abacus.Sage100.Wawi.Mde.Builders.MdeBuildPpsLagerplatz;Version:=Sage100
  • VK/EK Belege nachdrucken (für DMS): gbAddInRun(„abaMDE“,„gEntry“,0,„Open:=PrintAbfBelegCreatedByNewMde“)
    • ACHTUNG: Für die Verarbeitung dieser MDE-Belegart muss die alte automatische Belegverabeitung in der Sage 100 Warenwirtschaft gestartet werden.
  • Zeiterfassung: kein Command
    • ACHTUNG: Ist in der Spalte „MdeFolgebelegart“ eine MDE-Belegart hinterlegt, wird automatisch während der Verarbeitung ein neuer MDE-Beleg mit der hinterlegten MDE-Belegart erstellt.
  • Artikel-Etiketten drucken: type:=abacus.Sage100.Wawi.Etikettierung.Mde, abacus.Sage100.Wawi.Etikettierung.Mde.Builders.MdeBuildDummy;Version:=Sage100;CreateChargeMode:=-1;CreateEanIfNotExists:=0;GruppenTyp:=1025020030
    • Parameter
      • CreateEanIfNotExists: erzeugt für die gescannten Artikel jeweils eine neue GTIN im Feld KHKArtikelVarianten.EANNummer, falls dieses leer ist
      • GruppenTyp (Default: 1025020030): Auswahlmöglichkeit für individuelle Drucker; Benutzerfeld „USER_EtikettDrucker“ muss zusätzlich im MDE-Beleg angelegt werden
  • die Parameter sind im Command anzufügen
  • die Parameter werden in jeder MDE-Belegart berücksichtigt
  • Aufbau: Semikolon „;“ als Trenner und Doppelpunkt-Gleichheitszeichen „:=“ als Wertzuweiser (Bsp.: „…BuildLager;CreatePaletteMode:=1“)
  • CreateChargeMode: Erstellt für chargenpflichtige MDE-Positionen, die keine Charge haben, jeweils eine Charge
    • Wert = -1: keine Charge für MDE-Positionen ohne Charge erstellen
    • Wert = 0 : pro MDE-Position wird eine neue Charge erstellt
    • Wert = 1 : pro Artikel innerhalb des MDE-Beleges wird eine neue Charge erstellt
    • Wert = 2 : pro Artikel und externer Charge innerhalb des MDE-Beleges wird eine neue Charge erstellt

Hinweis: Es kann in der MDE-Position ein Benutzerfeld „USER_ChargeExtern“ angelegt werden. Dieses Feld kann zur Eingabe der externen Charge (Bsp.: Lieferantencharge) für die MDE-Position verwendet werden. Bei Generierung einer neuen Charge wird dieses Feld berücksichtigt.

  • ChargennummerRegel: In MDE-Belegarten, wo Chargen generiert werden, kann eine andere Chargenregel hinterlegt werden als im Artikelstamm definiert ist. Bspw. für die Online-Produktion ohne Ressourcenliste, da hier meist die Charge aus dem Einsatzmaterial übernommen wird, obwohl im Artikelstamm z.B. „nummerisch fortlaufend“ eingestellt ist.
    • Wert = 0: keine Regel (Regel ist im Artikelstamm definiert)
    • Wert = 1: Nummerisch fortlaufend
    • Wert = 2: Gemeinsame Charge
    • Wert = 3: Materialcharge als Fertigcharge
    • Wert = 4: Sonderregel
    • Wert = 5: ThirdParty (eigene Regel)
  • CreatePaletteMode: Erstellt für MDE-Positionen, die keine VE haben, jeweils eine VE
    • Wert = 0: keine VE erstellen
    • Wert = 1: Menge der VE ist die Menge der MDE-Position
    • Wert = 2: Menge der VE wird aus Artikelstamm ermittelt; Menge der MDE-Position ist Gesamtmenge; Anzahl VE = Menge MDE-Position dividiert durch Menge VE aus Artikelstamm

Hinweis: Dieser Modus ist nur zu verwenden, wenn mit der erzeugten NVE eine weitere Verarbeitung stattfinden soll. Soll mit der Belegart nur eine NVE generiert werden, bitte die Spalte „OnlineEtikettierung“ konfigurieren.

  • MergeMode: Fasst die zu generierenden Buchungen so weit wie möglich zusammen um Anzahl Buchungen zu minimieren
    • Wert = 0: keine Zusammenfassung
    • Wert = -1: Zusammenfassung nach verschiedenen Kriterien
      • Lager: Artikelnummer, AuspraegungID, Herkunftslagerplatz, Ziellagerplatz
      • Produktion: Fertigungsauftrag, Artikelnummer, AuspraegungID, Ziellagerplatz
      • Einkauf / Verkauf: keine Zusammenfassung
  • Bsp. MergeMode = 0: Drei Versandeinheiten werden als Gesamtfertigmeldung gescannt (drei MDE-Positionen entstehen). Daraus wird pro Versandeinheit eine Fertigmeldung plus entsprechend der Menge der Versandeinheit Materialrückmeldungen generiert. Dementsprechend ist nach Abschluss eine x-Anzahl an Rückmeldungen vorhanden, was bei der Verarbeitung deutlich mehr Last auf dem System erzeugt hat.
  • Bsp. MergeMode = -1: Drei Versandeinheiten werden als Gesamtfertigmeldung gescannt (drei MDE-Positionen entstehen). Daraus wird EINE Fertigmeldung mit drei enthaltenen Versandeinheiten plus entsprechend der Fertigmenge (Menge der Versandeinheiten wird summiert) Materialrückmeldungen generiert. Dadurch deutlich weniger Last bei Verarbeitung.
  • PrintZielbeleg: Druckt den erzeugten Zielbeleg (aktuell nur Ein-/Verkaufsbelege)
    • Wert = 0: nicht Drucken
    • Wert = -1 / 1: Drucken (abhängig vom Kennzeichen „ZielbelegDrucken“ im MDE-Beleg)
    • Wert = 2: Drucken (unabhängig vom Kennzeichen „ZielbelegDrucken“ im MDE-Beleg)
  • MdeFolgeBelegModus: Erzeugt nach der Verarbeitung des aktuellen MDE-Beleges einen neuen MDE-Beleg mit der Folgebelegart (Spalte „MdeFolgeBelegart“)
    • Wert = 0: keine Erstellung eines Folgebeleges
    • Wert = 1: Der neue MDE-Beleg entspricht dem eigentlichen MDE-Beleg
    • Wert = 2: Der neue MDE-Beleg entspricht dem vorbereiteten MDE-Beleg (alle Vorverarbeitungen (Onlinekommissionierung, Verbund erzeugen, …) sind bereits durchgeführt)
    • Wert = 3: Der neue MDE-Beleg entspricht dem eigentlichen MDE-Beleg, ist aber als Sollbeleg gespeichert.
    • Wert = 4: Der neue MDE-Beleg entspricht dem vorbereiteten MDE-Beleg (alle Vorverarbeitungen (Onlinekommissionierung, Verbund erzeugen, …) sind bereits durchgeführt), ist aber als
    • Wert = 5: Der neue MDE-Beleg entspricht dem eigentlichen MDE-Beleg, ist aber als Sollbeleg gespeichert. Hierbei werden die Einstellungen SollVersandeinheitenModus, MitSollchargen, SollSeriennummernModus der neuen MDE-Belegart nicht beachtet, sondern alle Details kopiert.
    • Wert = 6: Der neue MDE-Beleg entspricht dem vorbereiteten MDE-Beleg (alle Vorverarbeitungen (Onlinekommissionierung, Verbund erzeugen, …) sind bereits durchgeführt), ist aber als Sollbeleg gespeichert. Hierbei werden die Einstellungen SollVersandeinheitenModus, MitSollchargen, SollSeriennummernModus der neuen MDE-Belegart nicht beachtet, sondern alle Details kopiert.

Hinweis: Handelt es sich um einen Istbeleg, der als Sammelbeleg geschlüsselt ist, wird kein Folgebeleg erstellt, da dieser bereits bei der nächsten Verarbeitung der aus dem Sammelbeleg generierten „neuen“ Istbelegen generiert wird. Bei erstellten Sollbelegen werden die Einstellungen für Soll-Chargen / -Versandeinheiten / -Seriennummern berücksichtigt.

  • die aufgeführten Parameter sind im Command anzufügen
  • ForceSplitFullPalette: gilt nur Lagerumbuchungen oder -entnahmen
    • Wert = 0: Es wird aus einer vollen Versandeinheit keine Split-Versandeinheit erzwungen
    • Wert = -1: Erzwingt den Split einer vollen Versandeinheit
  • IstKorrekturBuchung: gilt nur für die Gesamt-Fertigmeldung in Verbindung mit Versandeinheiten
    • Wert = 0: keine Korrekturbuchung der gescannten Versandeinheit
    • Wert = -1: Ermittelt über die vergebene Batch-ID alle Rückmeldungen der vorherigen Gesamtfertigmeldung der gescannten Versandeinheit und löscht diese. Anschließend wird über die Verarbeitung eine erneute Gesamtfertigmeldung für die Versandeinheit generiert.
  • IstPpsKorrekturBuchung: gilt MDE-Belegarten, wo eine Versandeinheit in der Produktion korrigiert wird (Bsp.: Pps Material zurück)
    • Wert = 0: keine Korrekturbuchung der gescannten Versandeinheit in der Produktion
    • Wert = -1: Ermittelt die Differenz zwischen der Menge der Versandeinheit aus dem Stammdaten und der eingegebenen Menge. Bei negativer Differenz wird eine zusätzliche Materialrückmeldung generiert. Bei positiver Differenz eine Verschnittbuchung. Pro Charge auf der Versandeinheit wird eine Rückmeldung generiert.
  • IstRuesten: gilt nur für eine normale Rückmeldung (findet Berücksichtigung in der abacus Gesamtfertigmeldung mit retrogradem Buchen)
    • Wert = 0: keine Berücksichtigung
    • Wert = -1: Rückmeldung wird in Tabelle „abaPpsRueckmeldungenUserFields“ im Feld „USER_IstRuesten“ als Rüsten markiert
  • IstZusatzVerbrauch: gilt nur für eine normale Rückmeldung (findet Berücksichtigung in der abacus Gesamtfertigmeldung mit retrogradem Buchen)
    • Wert = 0: keine Berücksichtigung
    • Wert = -1: Rückmeldung wird in Tabelle „abaPpsRueckmeldungenUserFields“ im Feld „USER_IstZusatzverbrauch“ als Zusatzverbrauch markiert
  • IstFaBeenden: gilt nur für eine normale Rückmeldung / Gesamtfertigmeldung
    • Wert = 0: keine Berücksichtigung
    • Wert = -1: Beendet den/die im MDE-Beleg ermittelten Fertigungsaufträge
  • CreateVerfallsdatum: gilt nur für MDE-Belegarten, die vor der Verarbeitung eine Online-Produktion durchführen
    • Wert = 0: Es wird das Verfallsdatum der Materialcharge genommen, die in der Ressourcenposition das Kennzeichen „Übernahme MA-Charge in Fertigcharge“ hat
    • Wert = -1: Es wird immer ein neues Verfallsdatum generiert.
  • BewegungsartEntnahme: Zwingend notwendig, wenn Command für Bestandskorrektur verwendet werden soll
    • Wert = <Lagerbewegungsart für Entnahme>
  • BestandswirkungVE: Soll eine neu erzeugte Versandeinheit bei der „Online-Kommissionierung“ nicht in Bestand sein, ist der Parameter mit dem Wert „-1“ einzufügen
  • Freigabestatus: Zwingend notwendig, wenn Command für Änderung des Freigabe-Status verwendet werden soll
    • Wert = 1: Status wird „Unbeprobt“
    • Wert = 2: Status wird „Gesperrt“ (ACHTUNG: Parameter „Grund“ ist notwendig)
    • Wert = 3: Status wird „Freigegeben“
    • Wert = 4: Status wird „Sonderfreigabe“ (ACHTUNG: Parameter „Grund“ ist notwendig)
  • ChargenStatusAendern: Zwingend notwendig, wenn Command für Änderung des Freigabe-Status verwendet werden soll. Legt fest ob der Freigabe-Status der im MDE-Beleg gescannten Chargen zu ändern ist
    • Wert = 0
    • Wert = -1
  • PalettenStatusAendern: Zwingend notwendig, wenn Command für Änderung des Freigabe-Status verwendet werden soll. Legt fest ob der Freigabe-Status der im MDE-Beleg gescannten Versandeinheiten zu ändern ist
    • Wert = 0
    • Wert = -1
  • Grund: Zwingend notwendig, wenn Command für Änderung des Freigabe-Status verwendet werden soll. Legt den „Standard“-Grund der Sonderfreigabe / Sperrung fest. Gründe werden in den Gruppenkennzeichen „Benutzer“ hinterlegt
    • Wert = ID der Sonderfreigabe bzw. des Sperrgrundes
  • Die Verarbeitung eines MDE-Beleges findet nach einem ganz bestimmten Prinzip statt und immer in der gleichen Reihenfolgen. Nachfolgend ein kleiner technischer Ausflug für ein besseres Verständnis:
    • Prebuilder
      • Vorbereitung(en), die für die eigentliche Verarbeitung notwendig sind
        • Onlinekommissionierung, Onlineproduktion, VE' splitten, VE / Charge erstellen, Lagerplätze aktualisieren, …
      • Methode(n)
        • Process()
    • Builder
      • Hier findet die eigentliche Verarbeitung statt.
        • Generierung von Einkaufs-/Verkaufsbelegen, Lagerbuchung, Rückmeldungen, …
      • Methode(n)
        • Initialize()
          • Initialisieren von allen möglichen Werten (MDE-Benutzer, Artikelstamm, …), die später notwendig sind
        • Prepare()
          • Preparing()
            • Vorbereitung des MDE-Beleges und Aufruf aller Prebuilder, die sich in der Pipeline registriert haben
        • Execute()
          • Executing()
            • Alle Änderungen sind innerhalb der Verarbeitungs-Transaktion und werden bei einem Abbruch rückgängig gemacht
          • Executed()
            • Alle Änderungen sind nach der Verarbeitungs-Transaktion, sodass auf die Resultate zugegriffen werden kann
        • Print()
          • Printing()
            • Anstoßen der Druckroutinen (Versandeinheiten, Einkaufs-/Verkaufsbelege, …)
  • Im Lagerjob wird der tatsächliche MDE-Erfasser und nicht mehr der angemeldete Nutzer der Autoverarbeitung gespeichert.
  • Alle Lagerbuchungen (auch VE-Korrekturbuchungen (siehe Rückverfolgbarkeit)) eines MDE-Beleges werden in einem Lagerjob zusammengefasst und nicht mehr in getrennten Lagerjob ausgewiesen
  • Sind in einem MDE-Beleg mehrere Positionen mit gleichen Artikeln vorhanden (mit gleichem Herkunfts- und/oder Ziellagerplatz), werden diese in einer Lagerbuchung zusammengefasst und nicht mehr in separaten Lagerbuchungen ausgewiesen. Das verringert die Anzahl der Buchungen und vor allem die Last auf dem Server (siehe Parameter MergeMode)

Entnahmen

  • Lager-Entnahmen, die ein VE-Split-Etikett erzeugen sollen, werden jetzt korrekt behandelt. Teilweise funktionierte die Entnahme nicht korrekt.

Zugänge

  • Bei Zugängen auf eine Versandeinheit führt die Rückverfolgbarkeit Korrekturumbuchungen durch, wenn als Ziellagerplatz ein anderer Lagerplatz angegeben wird, wie die Versandeinheit ihn hat.

Umbuchungen

  • keine Änderungen

Gesamtfertigmeldung

  • Im Zusatztext der generierten Rückmeldungen speichert die Verarbeitung die Batch-ID der Gesamtfertigmeldung (Parameter: GesFmBatchId).
  • Im Zusatztext der Fertigmeldung der Gesamtfertigmeldung speichert die Verarbeitung die MDE-Position(en), die die Gesamtfertigmeldung ausgelöst haben mit dem kompletten Schlüssel
  • Ob die Gesamtfertigmeldung mit oder ohne Unterbaugruppen durchgeführt wird, definiert sich nun nicht mehr über den Parameter „MitUnterbaugruppen“, sondern über die Spalte „StandardBelegartKennzeichen“ (GF1: ohne Unterbaugruppen; GF2: mit Unterbaugruppen) der MDE-Belegart

Rückmeldung

  • Die Art der Rückmeldung ist über die Spalte „StandardBelegartKennzeichen“ (FM: Fertigmeldung; MA: Materialentnahme; VS: Verschnitt) anzugeben
  • Für Artikel, die chargenpflichtig sind, wird bei einer positiven Bestandswirkung (Bestandswirkung = 1 oder Online-Produktion ist aktiviert in Belegart) eine neue Charge erzeugt, wenn vom MDE-Gerät „<automatisch>“ oder eine leere Charge kommt. Diese neue Charge wird erst gespeichert, sobald der MDE-Beleg fehlerfrei verarbeitet wird.
  • Die Logik der Generierung von Chargen wird über die Rückverfolgbarkeit abgebildet.
  • Werden Versandeinheiten gedruckt, speichert die Verarbeitung den Druckjob im MDE-Beleg (Beschreibung Druckjob: siehe Rückverfolgbarkeit).

Hinweis: Aktuell führt der Druck auf einen Drucker, der beim Druck einen Dialog für die Auswahl des Speicherortes des Drucks anzeigt (PDF-, XPS-Drucker), zu einem gefühlten Absturz des Dienstes. Bitte dringend vermeiden, dass so ein Drucker verwendet wird.

  • Parameter „CreatePaletteMode“ (Wert 1 oder 2) in Spalte „Command“ setzen
  • Spalte „OnlineKommissionierungModus“ (Wert 1 oder 2) setzen
  • Parameter „CreatePaletteMode“ (Wert 1 oder 2) in Spalte „Command“ setzen
  • Spalte „OnlineKommissionierungModus“ (Wert 1 oder 2) setzen
  • Spalte „PalInPalWirkung“ (Wert 1) setzen

Rückverfolgbarkeit

  • Vor dem Druck von Versandeinheiten wird immer ein Druckjob angelegt. Dieser ist in der Tabelle „abaDruckJob“ zu finden und speichert unter anderem den Benutzer, der den Druck ausgelöst hat. Über den Druckjob sind alle Datensätze in den Tabellen „abaDruck…“ zu finden.
  • Es wird der tatsächliche Bearbeiter (bei MDE der MDE-Erfasser) und nicht mehr der angemeldete Nutzer, der die Bewegung abarbeitet, gespeichert.
  • Jede Form der Erstellung einer Versandeinheit erhält jetzt auch einen Tracking-Eintrag vom Typ „Erstellung“. In der alten Version wurde bspw. ein Split nur mit dem Typ „int. Kommissionierung“ angelegt.
  • Das Splitten von Versandeinheiten wird in einer neuen Tabelle „abaKommissionierungPalettenPos“ festgehalten, in der die Quell- und Ziel-Versandeinheiten-Position gespeichert wird. Damit entfallen allen Tabellen, die mit „abaKomBel“ beginnen. Eine Übernahme der alten Daten findet im Script statt.
  • Vor dem eigentlichen Buchungsprozess ermittelt der Paletten-Manager, ob die komplette Versandeinheit im Buchungsprozess vorhanden ist und verhindert so die Erstellung von Split-Versandeinheiten, die nicht sein müssen/darf. Das war bspw. bei einer der kompletten Umbuchung einer Misch-Versandeinheit so oder wenn im Verkauf mehrere Verkaufs-Positionen durch eine Versandeinheit erfüllt werden.
  • Jegliche Änderung des Freigabe-Stati einer Charge wird jetzt mit Datum (inkl. Uhrzeit), Benutzer, vorheriger Stati usw. gespeichert.
  • Zu finden sind diese Daten in der Tabelle „abaChargenFreigabeStatusTracking“.
  • wiki/neuerungenmdervbmitdienst.txt
  • Zuletzt geändert: 10.03.2021 13:04
  • von Daniel Schwarz