Andreas Unkelbach
Werbung
Steuern, Selbstständigkeit und VGWORT als Blogger und Autor


Samstag, 23. April 2016
22:04 Uhr

Teilen in SAP Query mit den Funktionen MOD und DIV zur Darstellung von Absolutwerten oder auch Restwert bei Divisionen

Nach den letzten Artikeln die mehr im Bereich Office (insbesondere Excel) angesiedelt waren und der für mich besonders erfreulichen Nachricht auf Facebook zum Tag des Buches (siehe folgenden Tweet von mir) mag ich im folgenden Artikel wieder einmal eine Fragestellung aus SAP Query aufgreifen.

Vorab eine kurze Twittermeldung zum Welttag des Buches in eigener Sache
Danach möchte ich auf das Thema "Regalflächen mit Verpackungseinheit bestücken und Dispositionsplanung durch Abrunden von Kapazität / Verpackungseinheit"

Mein Tweet zum Wochenende passend zum Weltbuchtag
Mittlerweile bietet Amazon auch eine Buchvorschau (Blick ins Buch), so dass sich neben der Buchvorstellung auf meiner Seite ein guter Einblick ins Buch möglich ist.

Nun aber zur eigentlichen Frage rund um eine Query aus den Bereich der Materialdisposition.

Ausgangslage

In einer Auswertung mit SAP Query sollen zwei Werte miteinander dividiert werden und das Ergebnis immer abgerundet werden. Da zwar Query erstellt werden dürfen, aber keine Berechtigung für Coding bei Zusatzfeldern gestattet ist, soll dieses in der Erstellung der Query geschehen. Im Ergebnis soll zum Beispiel 24 / 10 nicht 2,4 sondern 2,0 ergeben.

Als zusätzliche Hürde sollen alle Werte größer 1 müssen immer abgerundet werden, Werte die kleiner 0,9 sind müssen allerdings aufgerundet werden.

Betriebswirtschaftlicher Hintergrund Erstdisposition im Markt über Regalmenge und Verpackungseinheiten:

Im konkreten Beispiel geht es um die Simulation einer Erstdispotliste eines Marktes zu bis diese über ein Programm umgesetzt wird. Die Kapazität ( ist die maximale Regalmenge eines Artikels in Stück im Markt und die Verpackungseinheit (VE) entspricht den Standardgebinde der Ware. Das Ergebnis aus Kapazität / VE muss abgerundet werden, da keine halben Kollis geliefert bzw. ins Regal gesetzt werden und aufrunden nicht ginge, da ansonsten die maximale Regalmenge überschritten würde.

Alle Werte größer 1 müssen immer abgerundet werden, Werte die kleiner 0,9 sind müssen aufgerundet werden. Dieses ist inhaltlich auch verständlich, da ja mindestens eine Einheit bestückt beziehungsweise disponiert werden soll.

Technischer Aufbau der Query zur Dispositionsplanung:

Die Information zur maximalen Regalmenge wurde aus der Tabelle "MALG - Zuordnung von Layoutbausteinen zu Materialien" entnommen (Feld MALG-SHQNM "maximale Regalmenge) und die Verpackungseinheit aus der Tabelle "MARM - Mengeneinheiten zum Material" (Feld MARM-UMREZ "Zähler für die Umrechnung in Basismengeneinheiten") gegenübergestellt.

Die Query selbst wurde dabei technisch wie folgt aufgebaut:
Die Tabelle MARM wurde im Infoset mit der Tabelle "MAW1 - Materialstamm: Vorschlagsfelder und spezielle WWS-Felder" und einen Join der Felder MAW1-WAUSM ("Ausgabemengeneinheit") und MARM-MEINH ("Alternativmengeneinheit zur Lagermengeneinheit") miteinander verbunden.

Bedingt durch die Historie haben wird hier die Mengeneinheiten etwas kompliziert dargestellt und muss daher immer über die MARM ausgelesen werden um die tatsächliche Menge hinter der Basis/Kolli etc zu erhalten. Kurzer Hinweis: Die Query stammt nicht von mir aber ich fand diese zum Verständnis des technischen Hintergrund der Anforderung sehr praktisch und freue mich hier erstmals ein Beispiel aus den SAP Modul MM (Materialwirtschaft) beziehungsweise der Logitik schildern zu können. :-) Schon daher mag ich den fachlichen Austausch auch über das eigene Modul hinaus und freue mich, dass es verschiedene Plattformen gibt in der sich SAP Anwendende miteiander austauschen können.
 

Rundunsgfunktionen in Query

Nun stellt sich jedoch die Frage, wie in einer Quer gerundet werden kann. Während Report Writer  / Report Painter wie im Artikel "Reportwriter Funktionsformeln" beschrieben die beiden Formeln ROUND für normales Runden und TRUNC für den Ausweis einer ganzen Zahl anbietet, ist dieses leider bei lokalen Feldern nicht möglich. Allerdings gibt es hier zwei andere Funktionen beziehungsweise Formelbestandteile die zum gewünschten Ergebnis führen.
  •  DIV (ganzzahlige Division, d.h. das Ergebnis ist ganzzahlig)
  •  MOD (Restwert bei einer Division)
Hier liegt auch schon der Lösungsansatz.

Hierzu gehen wir nicht in die Grundliste der Query (wo auch das Layoutdesign gepflegt wird) sondern wechseln innerhalb der Querypflege mit nächstes Bild (F6) auf die Feldauswahl der Query. Sofern wir uns noch in der Layoutpflege befinden kann über Zurück dorthin gewechselt werden.

Über
BEARBEITEN->KURZBEZEICHNUNG
kann für die einzelnen Felder eine Kurzbezeichnung eingestellt werden.
Nun werden rechts neben den Datenfeldern Eingabefelder für die Kurzbezeichnung angegeben. Hier erhalten nun folgende Felder eine Kurzbezeichnung:

MALG-SHQNM  -> KAP
MARM-UMREZ  -> VE

Diese Kurzbezeichnung sind notwendig, da wir auf diese dann Bezug nehmen, wenn wir ein eiegens Feld mit einer Formel anlegen.
Dieses geht über
BEARBEITEN->LOKALES FELD->ANLEGEN

Dieses Lokale Feld wird dann in der Feldgruppe angelegt, in der wir uns gerade befinden.

Dabei kann dieses Feld die gleichen Eigenschaften wie VE oder KAP erhalten.

Für unser Beispiel legen wir insgesamt drei Felder an.
Der Einfachheit halber habe ich hier nur die Formel zum jeweiligen Feld mit angegeben, denke aber, dass das Prinzip insgesamt klar sein dürfte.

FELD1
Formel
KAP div  VE

FELD2
Formel
KAP mod VE

FELD3
Hier wird nun mit einer Bedingung gearbeitet.

Bedingung: FELD1 < 0.9
Formel: FELD1 +
Alternativ könnte man auch schreiben FELD_1 + 1
Sonst: FELD1

In der Grundliste wird tatsächlich nur das FELD3 ausgewiesen, so dass entweder das abgerundete FELD1 ausgibt, sofern die Division größere Werte als 1 hat oder alternativ die Menge 1 berechnet, wenn die Division kleiner als 1 wäre.

Zur Verdeutlichung bietet folgende Tabelle anhand einiger weniger Beispiele einen Überblick über die Rechenweise:
 
KAP VE FELD1
Formel DIV
 
FELD2
Formel MOD
 
FELD3
Bedingung
 
Excel/Mathe
Beispiel zur Verwendung von MOD und DIV in Query
 
15 6 2 3 2 2,5
8 4 2 0 2 2
4 5 0 4 oder 0? 1 0,8

Manchmal bietet auch die Query selbst Möglichkeiten ohne Programmierung etwas umfangreichere Formeln berechnen lassen. Wobei eine Weiterverarbeitung in Excel natürlich auch stets eine Möglichkeit ist ;-).
 

Hinweis:

Eine kurze Einführung in das Thema SAP Query habe ich im Artikel
"Grundlagen Kurzeinführung und Handbuch SAP Query" beschrieben und hoffe Ihnen hier eine Einführung ins Thema bieten zu können. Sollten Sie sich für das Thema Report Writer / Report Painter näher interessieren, so ist dieses im Artikel "Grundlagen Kurzeinführung und Handbuch Report Painter Report Writer" ebenfalls beschrieben.




Hinweis: Aktuelle Buchempfehlungen besonders SAP Fachbücher sind unter Buchempfehlungen inklusive ausführlicher Rezenssionen und Bestellmöglichkeit zu finden.
Espresso Tutorial - die digitale SAP Bibliothek

Tags: Query

Keine Kommentare - - SAP

Artikel datenschutzfreundlich teilen

🌎 Facebook 🌎 Twitter 🌎 Google
Diesen und weitere Texte von finden Sie auf http://www.andreas-unkelbach.de


Keine Kommentare

Kommentieren?


Beim Versenden eines Kommentars wird mir ihre IP mitgeteilt. Diese wird jedoch nicht dauerhaft gespeichert; die angegebene E-Mail wird nicht veröffentlicht: beim Versenden als "Normaler Kommentar" ist die Angabe eines Namen erforderlich, gerne kann hier auch ein Pseudonyme oder anonyme Angaben gemacht werden (siehe auch Kommentare und Beiträge in der Datenschutzerklärung).

Eine Rückmeldung ist entweder per Schnellkommentar oder (weiter unten) als normalen Kommentar möglich. Eine persönliche Rückmeldung (gerne auch Fragen zum Thema) würde mich sehr freuen.

Schnellkommentar (Kurzes Feedback, ausführliche Kommentare bitte unten als normaler Kommentar)

Name (sofern kein Name angegeben wird erscheint Anonym):



Ich nutze zum Schutz vor Spam-Kommentaren (reine Werbeeinträge) eine Wortliste, so dass diese Kommentare nicht veröffentlicht werden. Sollte ihr Kommentar nicht direkt veröffentlicht werden, kann dieses an einen entsprechenden Filter liegen.

Im Zweifel besteht auch immer die Möglichkeit eine Mail zu schreiben oder die sozialen Medien zu nutzen. Meine Kontaktdaten finden Sie auf »Über mich«. Ansonsten antworte ich tatsächlich sehr gerne auf Kommentare und freue mich auf einen spannenden Austausch.

Normaler Kommentar

Name:

E-Mail (wird nicht veröffentlicht und ist nicht erforderlich):

Homepage:

Kommentar:





* Amazon Partnerlink
Als Amazon-Partner verdiene ich an qualifizierten Käufen über Amazon.
Hinauf




Werbung



Logo Andreas-Unkelbach.de
© 2004 - 2018 Andreas Unkelbach
Gießener Straße 75,35396 Gießen,Germany
andreas.unkelbach@posteo.de
Andreas Unkelbach

Stichwortverzeichnis
(Tagcloud)


Aktuelle Infos (Abo)

Facebook Twitter Google+

»Schnelleinstieg ins SAP Controlling (CO)« und »Berichtswesen im SAP ® ERP Controlling«
Privates

Kaffeekasse 📖 Wunschliste