Hilfreiche Perl-Tools
Hier sammle ich Perl-Tools, die im Alltag hilfreich sind.
Sperrkennzeichen entfernen
Setzt das Sperrkz eines Belegs zurück. Aufruf:
perl sperrkz_nullen.pl 1001001
Kopf- und Teilepositionen in der Historie erfassen
Beschreibung:
Dieses Perl-Skript verarbeitet Verkaufs- und Lieferdaten, um zusätzliche Historieneinträge für Stücklisten-Kopfpositionen zu erzeugen.
Es identifiziert relevante Lieferscheine innerhalb eines definierten Zeitraums, markiert bestehende Einträge als TEILE-Position
und ergänzt – sofern erforderlich – aggregierte Einträge für die zugehörige KOPF-Position
in der Tabelle historie
.
Funktionen:
- Kopfposition anlegen: Ergänzt bei Bedarf eine Kopfposition (POS_NO = 0) für zusammengesetzte Artikel.
- Teilepositionen kennzeichnen: Markiert alle untergeordneten Artikelpositionen mit dem Typ
TEILE
. - Historie erweitern: Ergänzt oder aktualisiert Einträge in der Spalte
his_x_fertigart
für Auswertungen.
Verarbeitungsschritte:
- Ermitteln aller relevanten Lieferscheine innerhalb der letzten 90 Tage
- Filtern nach echten Lieferbelegen (kein Proforma,
beltyp ≤ 5
) - Auslesen der Lieferpositionen und zugehörigen Artikelpositionen
- Markieren der TEILE-Positionen und Anlegen/Aktualisieren der KOPF-Position
- Protokollieren der Änderungen
Technisches:
- Programmiersprache: Perl (ohne
use strict
, da für Testzwecke) - Verwendete Felder:
his_x_fertigart
zur Typ-Kennzeichnung - Protokolliert nach:
/tmp/stck2his.PROT.MON<FIRMAKURZ>
Hinweise:
- Keine Fehlerbehandlung oder Transaktionssicherheit enthalten
- Nur für Test- oder Analyseumgebungen vorgesehen
- Vor Einsatz sollten Backups und manuelle Prüfungen erfolgen
Aufruf:
perl stck2hisMonat.pl 20250501
Teuerungszuschlag für alle Artikel zurücksetzen
Beschreibung:
Dieses Perl-Skript setzt den Teuerungszuschlag (art_vkzuschl_002
) für alle Artikel in der Datenbanktabelle artikel
auf den Wert 0
,
sofern ein Zuschlag vorhanden ist. Das Skript iteriert über alle Datensätze und entfernt gezielt nur die Zuschläge, ohne andere Felder zu verändern.
Funktionen:
- Datenbanksicherung (optional): Ein Backuppfad ist vorbereitet, jedoch auskommentiert. Die Datei
artikel
kann vorab manuell gesichert werden. - Datenbearbeitung: Das Feld
art_vkzuschl_002
wird bei allen Artikeln mit vorhandenem Zuschlag auf0
gesetzt. - Protokollausgabe: Für jeden betroffenen Artikel wird die Artikelnummer sowie der alte und neue Zuschlagswert in die Konsole ausgegeben.
Technisches:
- Programmiersprache: Perl (ohne
use strict;
und ohne Fehlerbehandlung) - Erfordert gesetzte Shellvariablen:
AB1000_DA
,AB1000_ALL
- Nutzung erfolgt auf eigene Verantwortung – richtet sich an erfahrene Nutzer mit Kenntnis des Datenmodells
Hinweis:
- Die Routine ist für den produktiven Einsatz nicht abgesichert (z. B. keine Transaktionen oder Fehlerprüfungen).
- Vor der Ausführung ist ein Backup der Artikeldaten dringend empfohlen.
Aufruf:
perl Teuerungszuschlag_leeren.pl