Lerne und übe ABAP – Schaltjahr

Übe ABAP und verbesserte Deine Fähigkeiten. Mit der ABAP-Übung „Leap“ kannst Du Deine ABAP-Kenntnisse unter Beweis stellen und ein Programm erstellen, das überprüft, ob ein bestimmtes Jahr ein vereinfachtes Schaltjahr ist. Auf der Übungsplattform „Exercism“ gibt es 40 anspruchsvolle ABAP-Aufgaben. Du hast die Möglichkeit, die Übung entweder direkt auf Deinem SAP-System oder online auf der Plattform zu absolvieren. Du kannst sogar die Lösungen anderer Teilnehmer einsehen und Deine eigene Lösung vergleichen, um Dein Wissen und Deine Fähigkeiten weiter zu verbessern.

Aufgabenstellung

Gib an, ob es sich bei einem Jahr um ein Schaltjahr handelt.

Das Schwierige dabei ist, dass ein Schaltjahr im Gregorianischen Kalender

  • in jedem Jahr, das gleichmäßig durch 4 teilbar ist
  • außer in jedem Jahr, das gleichmäßig durch 100 teilbar ist
  • es sei denn, das Jahr ist auch durch 400 teilbar.

Zum Beispiel ist 1997 kein Schaltjahr, aber 1996 schon. 1900 ist kein Schaltjahr, aber 2000 ist ein Schaltjahr.
Anmerkungen

Auch wenn unsere Übung einige sehr einfache Regeln aufgreift, gibt es noch mehr zu lernen!

Eine unterhaltsame, vierminütige Erklärung des Schaltjahr-Phänomens findest du in diesem englischen Youtube-Video.

Beispiel Programmierung

CLASS zcl_leap DEFINITION PUBLIC.
  PUBLIC SECTION.
    METHODS leap
      IMPORTING
        year          TYPE i
      RETURNING
        VALUE(result) TYPE abap_bool.
ENDCLASS.

CLASS zcl_leap IMPLEMENTATION.

  METHOD leap.
* add solution here

    IF year MOD 4 = 0 AND ( year MOD 100 NE 0 OR year MOD 400 = 0 ).
      result = abap_true.
    ELSE.
      result = abap_false.
    ENDIF.

  ENDMETHOD.

ENDCLASS.

Erklärung

Die Methode leap prüft, ob ein gegebenes Jahr ein Schaltjahr im Gregorianischen Kalender ist. Ein Schaltjahr liegt vor, wenn das Jahr durch 4 teilbar ist, aber nicht durch 100, es sei denn, es ist durch 400 teilbar.

Die Methode nimmt ein Jahr als Eingabe (year) und gibt einen booleschen Wert (result) zurück, der angibt, ob das Jahr ein Schaltjahr ist oder nicht.

Implementierung durchläuft folgende Prüfungen:

  1. Prüfen, ob das Jahr durch 4 teilbar ist (year MOD 4 = 0) und entweder nicht durch 100 teilbar ist (year MOD 100 NE 0) oder durch 400 teilbar ist (year MOD 400 = 0).
  2. Ist die Bedingung erfüllt, wird result auf abap_true gesetzt.
  3. Ist die Bedingung nicht erfüllt, wird result auf abap_false gesetzt.

Die Methode gibt das Ergebnis zurück, indem sie den Wert von result zurückgibt.

Über den Autor

Andreas Geiger

Mein Name ist Andreas Geiger und ich bin ein erfahrener Senior SAP Berater. Mit mehr als 10 Jahren Berufserfahrung habe ich mehrere SAP-Projekte erfolgreich abgeschlossen und umfangreiche Kenntnisse in verschiedenen Bereichen wie SAP FI, SAP MM und ABAP erworben. Nun möchte ich mein Wissen mit Dir teilen, um Dir einen Mehrwert zu bieten und Dich bei Deiner täglichen Arbeit mit dem SAP-System zu unterstützen.

Mehr zu ERP UP

ERP UP unterstützen

Wenn Du mit ERP UP zufrieden bist, kannst Du mich gerne unterstützen. Dabei gibt es unzählige Möglichkeiten, wie Du mich einfach und schnell unterstützen kannst. Wie Du genau ERP UP unterstützen kannst, erfährst Du hier. Vielen Dank.

Schreibe einen Kommentar