Wieviel ganze Jahre zwischen zwei Datumsangaben?

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
32 Beiträge • Vorherige Seite 3 von 3 (current)
32 Beiträge Vorherige Seite 3 von 3 (current)

Re: Wieviel ganze Jahre zwischen zwei Datumsangaben?

Beitrag von black_adept (Top Expert / 4019 / 113 / 913 ) »
Ich glaube das hängt immer von der Komplexität des Problems ab. Für so was triviales wie diese Datumsberechnung hätte ich mir wie D&P nicht mal die Mühe gemacht nach einem FuBa zu suchen. 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.

@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 black_adept für den Beitrag:
msfox

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Wieviel ganze Jahre zwischen zwei Datumsangaben?

Beitrag von DeathAndPain (Top Expert / 1859 / 234 / 403 ) »
rob_abc hat geschrieben:
27.09.2024 19:07
Beim selbst implementieren treten halt häufig Fehler auf, sogar bei so kleinen Entwicklungen.
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).
rob_abc hat geschrieben:
27.09.2024 19:07
Manchmal auch erst später, wenn andere den Code verwenden. Die Methode liefert z.B. kein korrektes Ergebnis, wenn zuerst das grössere Datum eingegeben wird.
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.

Es wäre mit geringem Aufwand auch möglich, meine Methode so anzupassen, dass die Reihenfolge der Parameter egal ist. Ich habe darauf verzichtet, weil ich diese Anforderung aus den genannten Gründen für nicht praxisnah halte (und ob die Methode von der SAP das kann, wäre auch erst noch zu prüfen (was ich aus Faulheitsgründen nicht getan habe)).
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.
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.

Etwas anderes ist es bei offiziell für die Nutzung in ABAP freigegebenen Fubas und Methoden, etwa dem ganzen RTTS/RTTI-Geraffel oder den ALV-Klassen. Aber offiziell freigegeben sind ja die wenigsten Routinen der SAP (und bei denen steht oft schon seit Jahrzehnten drin, dass die Dokumentation noch überarbeitet werden wird, um dem Qualitätsstandard der SAP zu genügen (oder so ähnlich. Ich bin mir sicher, ihr habt den Spruch alle schon des öfteren gelesen).
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.
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).

Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
black_adept


Vergleichbare Themen

3
Antw.
6682
Views
Nullwert von Datumsangaben
von m.schwertle » 05.12.2007 15:28 • Verfasst in ABAP® für Anfänger
4
Antw.
8261
Views
Differenz in Jahren zwischen 2 Datumsangaben
von sap-known » 17.06.2007 17:26 • Verfasst in ABAP® für Anfänger
1
Antw.
1294
Views
Keine Sachkonten mit LOEVM älter 2 Jahre
von hai_friedrich » 22.07.2008 15:13 • Verfasst in ABAP® für Anfänger
0
Antw.
1140
Views
Veranstaltung löscht sich beim Verschieben von Datumsangaben
von F_Lee » 10.06.2008 12:47 • Verfasst in Human Resources
2
Antw.
1952
Views
Report Painter Bericht über mehrere JAhre
von vhoffe » 30.11.2006 11:14 • Verfasst in Financials

Über diesen Beitrag



Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.