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_fertigartfü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_fertigartzur 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
artikelkann vorab manuell gesichert werden. - Datenbearbeitung: Das Feld
art_vkzuschl_002wird bei allen Artikeln mit vorhandenem Zuschlag auf0gesetzt. - 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