JHM hat geschrieben: ↑05.10.2026 11:39
D&P bevorzugt das direkte Lesen des Materialstamms. Mit Releasewechsel 6.4D (oder war es 4.6C?) hat SAP die Historientabellen für Betände/Bewertung eingeführt.
Das Lesen der MARA war nur ein Beispiel, weil ich den Eindruck habe, dass viel mehr Leute diese Tabelle kennen als, sagen wir, die PA0001. Meine SD/MM-Zeit ist 2010 zu Ende gegangen, noch bevor meine damalige Firma die von Dir genannten Releases eingeführt hat. Insofern überrascht es nicht, dass ich die von Dir genannten Entwicklungen in MM nicht mehr mitbekommen habe
(da ich seitdem HCM mache).
Allerdings sehe ich das so, dass man schauen und testen muss, wenn man Standardtabellen liest. Hätte ich damals mit MM weitergemacht, bin ich überzeugt, dass ich den von Dir genannten Schwenk mitbekommen hätte. Hätte ich später mit MM angefangen, hätte ich probiert und gemacht und bald gemerkt, dass die von mir gelesenen Daten nur unter bestimmten Umständen stimmen. Das hätte ich dann schnell geklärt.
Klar kann man so ziemlich alles über irgendwelche FBs oder Methoden machen, die die SAP bereitstellt
(und sich dabei die verschiedensten Namen für dasselbe einfallen lässt. Eine Klasse, die BAPI heißt, ist trotzdem eine Klasse, und als Verwender interessiert es mich nicht die Bohne, ob SAP sie "freigegebene Klasse" oder "BAPI" nennt).
Aber das ist häufig wenig performant, gerade wenn man mit einem direkten SELECT alle Daten auf einmal in eine Puffertabelle einlesen könnte, die Schnittstelle des BAPI aber nur eine einzelne Materialnummer
(um bei dem Beispiel zu bleiben) akzeptiert, so dass man sie für jedes Material einzeln aufrufen muss. In vielen Fällen halte ich das noch nicht einmal für übersichtlicher, weil solche Methoden in aller Regel deutlich mehr Daten liefern, als man tatsächlich im jeweiligen Anwendungsfall braucht, wohingegen der Leser meines SELECT genau die Spalten sieht, die ich selektiere, weil sie relevant sind
(klappt natürlich nur, wenn man kein fauler SELECT *-Programmierer ist, aber das ist seit S4 zum Glück ohnehin nicht mehr so in Mode).
Hätte es eine API geben, die die benötigten Daten zum Material liefert, wäre die Änderung im Datenmodell nicht schlimm gewesen, solange SAP die API ebenfalls auf das neue Datenmodell anpasst.
Es sei denn, die API macht nicht genau das, was ich als Aufrufer erwarte. Bei meinem ABAP-Code sehe ich ganz präzise, was er macht. Bei einer API kann ich nur hoffen, genau verstanden zu haben, was sie tut. Ich erinnere an
Daten- vs Personenauswahlzeiträume bei logischen Datenbanken. Da haben auch die wenigsten den Überblick behalten
(wobei es in dem Fall auch Anwender betroffen hat, aber auf logische Datenbanken kann man ja auch aus ABAP zugreifen).
Wenn wir einer Partei die Regierungsbeteiligung verweigern, die von einer Mehrheit gewählt worden ist, weil wir diese Partei für schlecht halten, da wir einer anderen Partei angehören, wie ist dann unsere eigene demokratische Gesinnung zu bewerten?