Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
msfox
Wie wir gerade live erleben durften, gilt das für Fubas der SAP genauso. Die können das Gewünschte tun oder auch nicht, und ihre möglichen Eigenheiten und Schwächen sind den Entwicklern und Nutzern seitens der SAP möglicherweise bekannt, aber in aller Regel nicht dokumentiert. Aber während man bei eigenem Code hoffentlich versteht, was da passiert und warum, ist dies bei SAP-Code nicht so bzw. erfordert einen erheblichen Aufwand, wenn man das Coding des Fubas analysieren möchte. Vor allem, weil die SAP-Entwickler halt dazu neigen, solche Probleme erheblich umständlicher zu lösen als nötig (auch dann, wenn man in Betracht zieht, dass solche Fubas häufig sehr alt und daher im Rahmen der damaligen ABAP-Befehle geschrieben sind).
Dieser Umstand war mir von Anfang an bewusst. Das halte ich aber für kein praktisches Problem. Ich denke, in einem Fall wie Ralfs, wenn man solch Funktionalität braucht, wird man wissen, welches das kleinere Datum ist. Ich habe die Parameter meiner rasch programmierten Methode wahrscheinlich ungeschickt benannt. BEGINNDATUM und ENDEDATUM wären aussagekräftiger gewesen.
Wenn es denn welche sind. Du hast ja gerade selbst nachgewiesen, wie solch Fuba einen im Stich lassen kann. Da nützt es auch nichts, dass möglicherweise schon 1000 Anwender die Methode in ihren Programmen genutzt haben. Selbst wenn 100 davon den von Dir nachgewiesenen Fehler gefunden haben (was ich für optimistisch viel halte), dann ist der Fehler trotzdem noch drin, weil die SAP - wie wir auch gerade gelernt haben - nicht bereit ist, entsprechende Meldungen zu bearbeiten.black_adept hat geschrieben:Aber sobald es etwas komplexer wird (z.B. Berechnung was der nächste Arbeitstag an oder nach einem speziellen Datum ist ) würde ich dann doch lieber auf 1000-fach von den Anwendern getestete SAP-FuBas verwenden.
Der Mathematiker unter uns findet natürlich wieder die Schwachstelle. 😄 Du hast recht, auch wenn die Praxisrelevanz noch geringer sein dürfte als in dem Fall, den Du bei Ralfs Methode aufgedeckt hast. Die Behebung wäre freilich auch kein Hexenwerk (und die Methode wäre immer noch um Größenordnungen kürzer und leichter lesbar als das Pendant der SAP-Entwickler).black_adept hat geschrieben:@D&P: Ich habe mir kurz deinen 1-Zeiler angeschaut. Das Problem liegt hier im Sonderfall Februar in Schaltjahren. M.E. liegt zwischen dem 29.2.2024 und dem 28.2.2025 ein ganzes Jahr, aber das erkennt dein Coding nicht.
Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
black_adept