Berechnung der Frachtkosten
SAP R/3 Funktionsgruppe der Tarifierung
Sendungen und Pakete - Gebühren und Zuschläge
Informationen, Anfragen und Kontakt über bjh@bmksound.de
Damit Ihre Email nicht versehentlich gelöscht wird, bitte nicht den Betreff ändern

Zielsetzung
Im Versand sollen bei Rechnungsschreibung automatisch die Frachtkosten ermittelt werden, welche für die Sendung anfallen, bis sie den Warenempfänger erreicht. Die Frachtkosten können Gebühren, Zuschläge, Abschläge oder auch Versicherungen enthalten und sollen frei und variabel für jeden Anwendungsfall, für jedes Land, jede Region und jede Versandart gültig sein. Das Programmpaket soll neben dem eigentlichen Tarifieren ein Verwaltungsprogramm sowie ein Simulationsprogramm enthalten sowie eine Aufschlüsselung über die gefundenen Gebühren. Der Weg oder Pfad zum Ergebnis soll nachvollziehbar abgebildet werden und das Tarifierungsprogramm soll sich am SAP-Standard ausrichten und diesen so ähnlich wie möglich nachbilden.

Desweiteren ist auch ein Kostenvergleich über mehrere Spediteure der gleichen Strecke möglich und kann für weitere Listen und Auswertungen genutzt werden.

Im Vordergrund für dieses Programmpaket steht jedoch die einfache und simple Wartbarkeit der Tabellen. Die ganze Logik und Struktur der Schlüssel der Frachtzonen und deren Umlenkungen für die Zugriffe sind so ausgelegt, daß soviel wie möglich wieder zu einer Gruppe zusammengefaßt werden können. Dadurch wird der Pflegeaufwand minimiert, die Übersichtlichkeit bleibt bewahrt und die Tabellen bleiben in ihrer Größe überschaubar und bilden kein zu komplexes Werk.

Leistungsumfang


Voraussetzungen
Um die Frachtkostenkalkulation nutzen zu können, benötigen Sie das Warenwirtschaftssystem SAP R/3. Speziell installierte Module oder Programmpakete sind nicht von nöten, da diese Funktionalität nur mit den geläufigen Tabellen arbeitet. Welche Tabellen inkluiert wurden, siehe Anhang B. Weitere technische Informationen unter dem Anhang C.

Vorbereitung / Customizing
Bevor überhaupt die Tarifierung gestartet werden kann, müssen im Customizing Einstellungen vorgenommen werden. Im wesentlichen handelt es sich nur um die Preisfindung und auch nicht dort müssen alle Funktionen komplett abgebildet werden. In dieser Dokumentation wurde auf die Standardpreisfindung der Frachtkostenkalkulation zurückgegriffen, es kann aber natürlich auch ein anderer Preisfindungsbereich genutzt werden.

Einstiegspfad Customizing
Grafik 1.1.1 - Einstiegspfad für das Customizing (Transaktion /nspro)

Konditionstyp
Zuerst müssen ALLE Konditionstypen angelegt und gepflegt werden, welche in allen Frachtführerkonstellationen auftauchen können. In diesem Beispiel sind alle Konditionen, welche Tarif: im Namen haben, der Tarifierung zugeordnet, der Rest ist für andere Applikationen gedacht, könnte aber auch mitbenutzt werden

Anlage eines Konditionstypes
Grafik 1.1.2 - Anlage eines Konditionstypes

Durch Neuanlage oder Änderung (Doppelklick auf die Konditionsart) können Parameter zur Kondition gesetzt werden.

Änderung einer Kondition
Grafik 1.1.3 - Änderung einer Kondition. Parameterisierung

Das Tarifprogramm prüft und steuert nur auf 2 Parameter.

Der erste Parameter ist die Konditionsklasse und von zentraler Bedeutung. Sollte in ihr ein B = Preise hinterlegt sein, so werden nur Gebühren betrachtet zur Werteermittlung. Bei einem E wird zum Vergleich die bisher errechnete Gebühr des aktuellen Gebührentypes herangezogen (interessant bei prozentualen Rechenformeln). In allen anderen Fällen sucht das System nach Zuschlägen. Die Fallunterscheidung Gebühr oder Zuschlag geschieht über den Typenschlüssel in der Gebührentabelle.

Der zweite Punkt ist das Zwangsmißbrauchen des Wertes im Block Änderungsmöglichkeiten. Sollte dieser gesetzt sein, so nimmt die Tarifierung anstatt des Bruttogewichtes den Nettowert der Rechnung (sinnvoll bei Höherversicherung der Sendung)

Kalkulationsschema
Nachdem alle Konditionen aufgebaut sind, erfolgt die Verkettung der einzelnen Konditionen in einem Kalkulationsschema. Zuerst muß das Schema oder die Ablauffolge der Kalkulation mit Namen benannt werden.

Kalkulationsschema anlegen
Grafik 1.2.1 - Kalkulationsschema anlegen

Durch Markieren des Schemas und Doppelklick auf Steuerung gelangt man zur Verkettung der Konditionstypen.

Konditionstypen im Kalkulationsschema
Grafik 1.2.2 - welche Konditionstypen werden an welcher Position im Kalkulationsschema angesprochen

Die Reihenfolge der Konditionstypen ist besonders wichtig, wenn prozentuale Auf- oder Abschläge berechnet werden sollen, da diese sich auf den aktuellen, bisher berechneten Zwischenwert beziehen. Es wird nicht die Von-Bis-Stufengestaltung dafür herangezogen ! Für feste Beträge oder Zuschläge, welche über Formeln errechnet werden, die sich auf das Gewicht beziehen, ist die Reihenfolge unrelevant.

Obligo-Kennzeichen: ist dieses Feld gehakt, so ist die Kondition eine Muß-Kondition in der Tarifierung, d.h. sie muß bei Gebührendurchlauf gefunden werden. Sollte kein Wert gefunden werden, so wird ein Fehler in der Tarifierung gesetzt, außer zur Kondition ist eine Bedingung hinterlegt. Wichtig ist, daß die Kondition gefunden wurde, unerheblich, ob die Bedingung zu einer Gebühr führt oder nicht.

Bedingung zur Kondition: sollte eine Bedingung im Preisfindungsschema eingetragen sein, so wird diese Bedingung bei Durchlauf durch die Tarifierung prozessiert. Sollte allerdings auch dem Gebühren- / Zuschlagseintrag eine Bedingung zugeordnet sein, so gewinnt diese ! Im Gegensatz zum SAP-Standard ist die Bedingung in der Funktionsgruppe programmiert, jedoch als normaler ABAP Code. Vorteil dieser Vorgehensweise ist, daß so auf die Variablen und internen Tabellen zugegriffen werden kann, welche bereits berechnet sind ohne sie neu zu lesen. Wie im SAP endet der Funktionsbaustein im Namen mit der Bedingung. Beispiel: Bedingung 901 würde den Funktionsbaustein Funktionsgruppe_KOBED_901 suchen und ausführen.

Verwaltungsprogramm
Das Verwaltungsprogramm zur Tarifierung erlaubt die Pflege aller 4 Tabellen, welche notwendig für die direkte Tarifierung sind. Die Funktionsmöglichkeiten sind in allen 4 Bildschirmen die gleichen. Alle Funktionen wie Anlegen, Kopieren, Verwalten / Ändern oder Löschen sind integriert. Anpassungen an den Tabellen bleiben solange temporär, solange nicht gespeichert wurde. Erst zum Zeitpunkt des Sicherns werden die Daten physikalisch auf Platte geschrieben. Bei einem Sprung in eine andere Tabellen oder ein Verlassen des Programmes ohne Sichern fragt das System, ob die Anpassungen fortgeschrieben werden sollen oder nicht.

neue Auswahl Zurück an den Anfang und eine neue Auswahl treffen oder eventuell neue Eingrenzungen für die Anzeige definieren.

Sprungfunktionen innerhalb der Tabellen

Frachtzonenzuordnung Frachtzonenzuordnung. Die Anfangstabelle oder die Schnittstelle. Mit den Werten aus dem Vertriebsbeleg wird die Frachtzone gesucht, welche für diese Auswahl paßt.

Umlenkung zur Frachtzone Umlenkung zur Frachtzone. Die ermittelte Frachtzone dient nun als Basis für die weitere Verarbeitung und Schlüsselfindung. Es werden zur Frachtzone die Schlüssel für die Gebühren und Zuschläge gelesen sowie der für die allgemeinen Daten, wo hinterlegt ist, mit welchen Parametern die Tarifierung durchgeführt wird.

allgemeine Daten Sprung zu den allgemeinen Daten für die Frachtberechnung. Hier wird definiert, mit welchen Parametern die Tarifierung arbeiten soll, wie Gewichtseinheiten und Währungen, aber auch die maximalen Werte (Gewicht, Länge, Breite, Höhe). Für Luftfrachtsendungen können hier die speziellen Regeln und Formeln der IATA Konventionen hinterlegt werden.

Gebühren und Zuschläge Gebühren und Zuschläge. Alle Werte sind hier hinterlegt.

Da die Tarifierung so aufgebaut ist, daß für eine Route mehrere Tarifschlüssel gefunden werden können, ist bei dem Aufbau der Tarifzonentabelle darauf zu achten, daß dort eine Differenz im Schlüssel hinterlegt ist. Dafür eignet sich das Feld Postleitzahl sehr gut, indem einfach noch ein Index zur Postleitzahl angefügt wird.

Hintergrund der Mehrfachtarifierung auf einer Route oder einer Relation ist zum Beispiel im Bereich Luftfracht zu finden. Die Cargobedienung einer Fluggesellschaft unterhält mehrere Destinationen / Zielflughäfen im Empfangsland, fliegt aber nicht jeden Tag und die Tarife können sich unterscheiden. Die Ausgangsfelder zur Ermittlung der Tarifzone sind gleich (Spediteur, hier Carrier, Versandart, hier Luftfracht, Empfangsland und von- bis- Postleitzahl), aber trotzdem soll es mehrere, unterschiedliche Berechnungen geben.

Datenaustausch im Verwaltungsprogramm
Zusätzlich bietet das Verwaltungsprogramm an, die Tabellen der Tarifierung zu laden oder auch zu entladen. Beim Laden kann zwischen einer xls-Datei (Excel) oder einer txt-Datei (normaler Text, fixe Struktur) gewählt werden. Die Aufbauten, welches Feld an welcher Stelle zu stehen hat, sind fest vorgegeben (siehe Anhang A). Der Dateiname, von wo eingelesen werden soll, ist beim Einstieg in der Verwaltungsprogramm einzugeben und es besteht die Möglichkeit die Daten von Datenträger einzulesen (Laufwerk, xls und txt) oder via FTP diese sich zu holen (nur txt). Das Einlesen vernichtet den gesamten, vorhandenen Datenbestand.

Hinweis: Dateiaustausch über FTP geschieht über eine weitere universal entwickelte Funktionsgruppe seitens BJH Software und ist nicht nur auf die Tarifierung ausgelegt.

Einstieg Verwaltungsprogramm
2.1 - Einstiegsbild in das Verwaltungsprogramm. Deklarationen der Dateien, welche beim Datentausch benötigt werden. Dieses gilt für das Einlesen genauso wie für die Ausgabe.

Das Daten laden oder entladen geschieht im eigentlichen Verwaltungsbild über die Funktionen, wie sie im unteren Bild dargestellt sind. Diese Funktionen sind von jedem Tabellenpflegebildschirm anwählbar und unterbrechen alle anderen Anpassungen sofort, auch eine Abfrage nach dem veränderte Daten sichern wird nicht mehr durchgeführt. Dazu besteht auch keine Notwendigkeit, wenn die Daten zerstört werden und im nächsten Augenblick verschwunden und überschrieben sind.

Daten laden und entladen
2.2 - Daten laden und entladen. Anstoß aus dem Tabellenpflegebildschirm

Simulationsprogramm
Testprogramm zur Tarifierung. Mit diesem Programm können die benötigten Eingaben händisch vorgegeben werden oder es kann Bezug genommen werden, auf eine bereits existierende Rechnung. In diesem Fall erfolgt das Auffüllen der benötigten Felder zur Tarifierung aus diesem Vertriebsbeleg. Der Vertriebsbelegtyp ist vorgebbar, worauf sich die Tarifierung beziehen soll. Als Standard ist die Rechnung hinterlegt, da eine Sendung (kollektiv mehrere Lieferungen) nicht als Standardtabelle im Modul SD vorgesehen ist. Die Tarifierung ist modulunabhängig !

Einstiegsbildschirm für die Simulation
3.1 - Einstiegsbildschirm für die Simulation

Um die Eingabe im Simulationsmodus zu erleichtern, wurde bereits mehrere Vorbesetzungen als Pushbutton definiert, welche durch Knopfdruck die hinterlegten Daten aufblenden. Natürlich ist ein Ändern dieser Vorgabewerte möglich.

Nach dem Start verzweigt das Programm in den Funktionsbaustein und liefert nach dessen Verlassen das Ergebnis, detailliert in Einzelübersicht sowie nochmal die Eingabewerte plus die Werte für die gefundene Pfade und Datensätze sowie die Obergrenzen innerhalb der Gebühren und Zuschläge. Somit ist eine sehr leichte Nachvollziehbarkeit gegeben und Fehler sollten sehr schnell aufgedeckt werden. Sollte eine Gebühr mit einer Bedingung versehen sein, diese Bedingung trifft aber nicht zu, wird trotzdem die Gebühr als Nullwert abgespeichert, allerdings erfolgt die Anzeige statt mit grünem Punkt mit einem gelben Dreieck. Nur bei einem Fehler erscheint ein rotes Viereck und je nachdem Auftreten zu welchem Zeitpunkt bricht die Tarifierung ab.

Ergebnis der Simulation
3.2 - Ergebnis der Simulation

Interpretation des Ergebnisses
Im Beispiel sind im Rahmen nochmal die Eingaben dargestellt, sowie welche Daten daraus in der Tarifierung als Schlüssel gefunden worden sind. Die Sendung ist als Direktluftfracht nach Japan aufgebaut worden, der Frachtführer oder Spediteur 234685 simuliert die Lufthansa. Das System hat dazu die Frachtzone Lufthansa-Flug nach Narita (Flughafen von Tokio - Japan) ermittelt. Gebühren und Zuschläge werden nach dem Tarif Lufthansa Japan abgerechnet, die allgemeinen Daten wie das Customizing geschieht über die Umlenkung zu generellen Lufthansa-Tarifschlüssel.

Die hellgrün unterlegte Zeile ist das Gesamtergebnis in Euro, da dieses so gewünscht worden ist, obwohl die Gebühren für Luftfracht standardmäßig in den allgemeinen Daten in US-Dollar hinterlegt sind. Dahinter das frachtpflichtige Gewicht (Volumen oder Brutto), aufaddiert durch alle Positionen. Die hellgelben Zeilen stellen die Daten für die einzelnen Packstücke oder Verpackungen dar, zuerst das frachtpflichtige Gewicht, das Kennzeichen B = Brutto oder V = Volumen, dann das Bruttogewicht des Paketes sowie deren Abmessungen. Das System konvertiert zwischen den Einheiten.

Etwas eingerückt erscheinen die einzelnen Gebühren und Zuschläge mit dem Konditionsschlüssel, dem Wert und der Währung sowie welcher Tarifschlüssel gezogen hat. Bei der Kondition Zoll ist eine Bedingung hinterlegt, diese hat jedoch nicht zugetroffen. Im Beispielprogramm ist die Bedingung wahr, wenn ein Versand nach China oder Hong-Kong vorliegt.

Im Fehlerfall werden rote Warnampeln eingeblendet. Jedoch behält sich das System vor, die Prüfung abzubrechen, wenn es merkt, es lohnt sich nicht weiter zu machen. Die Vorgehensweise ist, daß zuerst alle Sendungsdaten geprüft werden, wenn erfolgreich, werden dazu die Frachtzone und deren Umlenkungen ermittelt. Sollte auch dieses fehlerfrei geschehen ein, werden alle Pakete auf Stimmigkeit geprüft, wie Maximalwerte usw. Wenn immer noch keine Ungereimtheit aufgetreten ist, werden die Gebühren und Zuschläge berechnet.

Fehlerfall
3.3 Fehlerfall bei der Vorlaufprüfung.


Ausgangsdaten der Sendung sind die gleichen wie im fehlerfreien Fall, nur die Packstücke wurde verändert. Die Sendungsdaten waren einwandfrei, die Frachtzone konnte auch ermittelt werden, bei Paket 1 gibt es keine Beanstandungen, nur bei Paket 2 gab es ein Gewichtsproblem (zulässiges Maximalgewicht ist überschritten, 150kg sind eingestellt) und bei Paket 3 ist keine Höhe eingegeben worden. In den Sendungskopf wird nur der erste Fehler überspielt.

Spediteurvergleich
Versandbüros oder Versandabteilungen benötigen für eine kostengünstige Versendung den Vergleich zwischen mehreren Spediteuren oder Transporteuren, welche die gewünschte Linie bedienen. Es kann auch von Interesse sein, wie hoch die Differenz zwischen Normalversand oder Express ist. Für beide Möglichkeiten bieten das Simulationsprogramm und der Funktionsbaustein der Kalkulation eine Lösung: Wenn Sie als Exportmanager oder Versandmitarbeiter die Felder Spediteur und / oder Versandart mit einem oder mehreren Fragezeichen bestücken, werden diese Felder in der Schlüsselbildung zur Tarifzonenermittlung ausgenommen, das System sucht somit alle Relationen, welche nur von der Transportdispoleitstelle (Absendeort) zu dem Empfangsort verbunden sind. Jeder gefundene Spediteur und / oder seine Versandarten werden einzeln berechnet und die Ergebnisse werden im Block gespeichert. Somit können sehr schön Auswertungsstatistiken erstellt werden oder es kann der für den Transport idealste Spediteur ermittelt werden.

Spediteurvergleich
3.4 Ergebnis eines Kalkulationslaufes für einen Versand nach Japan

Es sollten alle im System hinterlegten Optionen für einen Versand nach Japan ausgewertet werden. Das Ergebnis zeigt die Kurierdienste UPS (mit 10% Treibstoffzuschlag, KRSN = Kerosin) sowie DHL an plus die beiden Lufthansa-Flashbedienungen nach Tokio und Osaka. Der kostengünstigste Spediteur für das Beispielpaket von 8,8 kg wird in der Gesamtübersicht angezeigt, das gelbe Dreieck bedeutet, daß mehrere Carrier für die Strecke durch die Software gefunden und berechnet wurden.

Anhang A
Datenstruktur für die Frachtzonen

Diese Tabelle entspricht genau der Struktur der SAP-Standardtabelle TVFPTZ.

Datenstruktur für die Umlenkungen

Diese Tabelle entspricht der SAP-Standardtabelle TVFTZ erweitert um eigene Felder.

Datenstruktur allgemeine Daten
eigen entwicklete Tabelle, die Daten werden hier nicht öffentlich genannt

Datenstruktur für die Gebühren
eigen entwicklete Tabelle, die Daten werden hier nicht öffentlich genannt

Anhang B

DDIC Tabellen, auf die die Tarifierung zurückgreift
ADRCAdressen (zentrale Adreßverwaltung)
KNA1 Kundenstamm (allgemeiner Teil)
LFA1 Lieferantenstamm (allgemeiner Teil)
LIKP Vertriebsbeleg: Lieferung: Kopfdaten
T005 Länder
T006 Maßeinheiten
T173 Routen: Verkehrsträger je Versandart
T681V Konditionen: Verwendungen
T681Z Konditionen: Abhängige Daten je Applikation/Verwendung
T683 Kalkulationsschemata
T683S Kalkulationsschemata: Daten
T685 Konditionen: Arten
TCURC Währungen
TTDS Organisations-Einheit: Transportdispostellen
TVFPTZ Tarifzonenzuordnung zum Postleitzahlbereich
TVFTZ Tarifzonen für Frachtkosten
TVFTZT Bezeichnung Tarifzone für Frachtkosten
TVSB Versandbedingungen
VBFA Vertriebsbelegfluß
VBPA Vertriebsbeleg: Partner
VBRK Faktura: Kopfdaten
VEKP Handling Unit Kopftabelle

Anhang C
Einsatz und technische Informationen
StatusProgrammpaket ist verkaufbar und fertig zum Start
Verkaufsschutznein, Programm ist frei verkäuflich
Kundeneinschränkungkeine
Moduleinschränkungkeine
EinsatzschwerpunktSD (Vertrieb)
LE (Logistik Execution)
EinsatzgebietPreisgestaltung, Vergleich
Entwicklung
Umgebung
SAP R/3 Version 4.6c
Kundenerweiterungbei Bedarf Codierung der Bedingungen
Programm beinhaltetVerwaltungsprogramm
Simulationsprogramm
Funktion Frachtkosten, Parameter als Eingabe
Funktion Frachtkosten, SD Dokument
Funktionsbausteine Bedingungen

Das Programm ist allgemein nutzbar und kann in jedes SAP System ohne große Mühe oder Aufwand implementiert werden. Die Funktionsgruppe ist nicht kundenindividuell programmiert.

Kontakt, Information, Präsentation
Sie möchten mehr über das Tarifierungsprogramm erfahren oder das Paket der Frachtkostenkalkulation in Ihrem Unternehmen nutzen, in Ihre SAP-Landschaft einbetten, so möchte ich Sie herzlich bitten, mich zu kontaktieren. Bitte nennen Sie in Ihrer Email auch Ihre Telefonnummer oder wenn Sie mich anrufen und auf die Mailbox sprechen, bitte nennen Sie deutlich Ihren Namen, eventuell Abteilung, Firma, Firmensitz und Telefonnummer.

BJH Software
Telefon: +49 (0)172 / 5411605
Email: bjh@bmksound.de

Damit Ihre Email nicht versehentlich gelöscht wird
Bitte nicht den Betreff verändern