SAP Career Guide - A beginner’s manual on SAP careers for students and professionals

...highly recommended!!!

B. Artinger

Schnelleinstieg in SAP ABAP Objects, 2. Auflage

Sie wollen den Umstieg auf ABAP Objects innerhalb kurzer Zeit schaffen? Dann bietet Ihnen dieses Buch einen direkten Weg in die Welt von ABAP OO. Eine Gegenüberstellung der beiden Programmierwerkzeuge prozedurales ABAP und ABAP Objects liefert Ihnen ...

Table of content

  • Vorwort
  • 1 ABAP Objects versus prozedurales ABAP
  • 2 Klassen und Objekte in ABAP Objects
  • 3 Fortgeschrittene Techniken
  • 4 Zusammenfassung
  • A Autor
  • B Disclaimer
  • Interesse?

More Information

Author:

Rüdiger Deppe

Category:

SAP-Programming

Language:

Deutsch

Reading sample

2.1   Globale und lokale Klassen

Die Klasse ist der elementare Hauptbestandteil von ABAP Objects (wie übrigens bei jeder anderen objektorientierten Programmiersprache auch). Eine Klasse bezeichnet ein Objekt aus der realen Welt, das mittels dieser Klasse beschrieben werden soll. Einfach ausgedrückt, hieße das z.B.: Ein Flugzeug wird durch die Klasse FLUGZEUG dargestellt, ein Haus durch die Klasse HAUS. Allerdings gilt es, die im jeweiligen Unternehmen vorhandenen Namenskonventionen zu beachten.

Als Pauschalregel kann zugrunde gelegt werden, dass jede Anwendungs-Datenbanktabelle durch eine Klasse repräsentiert wird. Später werden wir noch darauf kommen, dass eine Anwendungs-Datenbanktabelle auch durch mehrere vorhandene Klassen repräsentiert werden kann.

Sie können die Teile eines Objekts auf mehrere Klassen verteilen. Dieses geschieht vor allem in Fällen der Vererbung (siehe Abschnitt 2.6), bei der ein Objekt auf Ober- und Unterklassen aufgeteilt wird, und des MVC-Prinzips (siehe Abschnitt 3.5), wo es für jedes Objekt eine Datenmodell-, eine Verarbeitungs- und eine View-Klasse gibt.

Man unterscheidet lokale und globale Klassen. Lokale Klassen werden innerhalb eines Programms definiert (so wie eine normale Datendeklaration) und sind nur innerhalb dieses Programms vorhanden. Globale Klassen werden im Class Builder mit der Transaktion SE24 definiert und stehen systemweit für eine beliebige Verwendung zur Verfügung.

Eine Klasse besteht aus bis zu drei Sichtbarkeitsbereichen:

  • public,
  • <li>private,</li>
    
    <li>protected.</li>
    

    Komponenten (Attribute, Methoden und Ereignisse), die als public definiert sind, sind aus jedem Programm oder jeder Klasse aufrufbar und sichtbar. Bei der lokalen Klasse beschränkt sich die Aufrufbarkeit auf das Programm, in welchem die Klasse definiert wurde. Als protected definierte Komponenten sind nur innerhalb der eigenen Klasse, die diese deklariert hat, und innerhalb der Vererbungshierarchie nach unten aufrufbar und sichtbar, während als private definierte Komponenten dies ausschließlich innerhalb der eigenen Klasse sind.

    2.1.1   Lokale Klassen

    Lokale Klassen werden relativ selten benutzt. Sie werden innerhalb eines Programms angelegt und sind nur in diesem Programm sichtbar sowie verwendungsfähig.

    Wir werden uns jetzt nach und nach eine lokale Klasse für ein FLUGZEUG aufbauen.

    CLASS lcl_airplane DEFINITION.

    ENDCLASS.

    CLASS lcl_airplane IMPLEMENTATION.

    ENDCLASS.

    Listing 2.1

    Dieses erste kurze Coding aus Listing 2.1 zeigt, dass Klassen grundsätzlich aus einem Definitionsteil und einem Implementierungsteil bestehen. Bei lokalen Klassen wird dieses besonders deutlich, da beide Teile im Programm explizit ausgefüllt werden.

    CLASS lcl_airplane DEFINITION.
      PUBLIC SECTION.

      PROTECTED SECTION.

      PRIVATE SECTION.
    ENDCLASS.


    CLASS lcl_airplane IMPLEMENTATION.

    ENDCLASS.

    Listing 2.2

    Wie Sie in Listing 2.2 sehen, werden im Definitionsteil die einzelnen Sichtbarkeitsbereiche angelegt.

    Später werden wir sehen, dass innerhalb der Sichtbarkeitsbereiche die Komponenten definiert werden. Im Rahmen des Implementierungsteils werden wir die Methoden mit Coding füllen.

    2.1.2   Globale Klassen

    Globale Klassen werden im sogenannten Class Builder (Transaktion SE24) angelegt und stehen dann im gesamten SAP-System zur Verfügung. Sie können den Class Builder auch starten, indem Sie die Transaktion SE80 aufrufen und im Dropdown-Menü Klasse/Interface wählen.

    Im Folgenden werden wir eine globale Klasse für Flugdaten erstellen.

    1.   Rufen Sie die Transaktion SE24 auf. Es öffnet sich der in Abbildung 2.1 gezeigte Screen.

    ABAP-Objects

    Abbildung 2.1: Class Builder – Einstiegsbild

    2.   Geben Sie im Feld Objekttyp den Namen der gewünschten Klasse ein (in diesem Fall Z_CL_FLIGHT).

    3.   Drücken Sie den Button Anlegen.

    4.   Wählen Sie im darauffolgenden Screen (siehe Abbildung 2.2) die Option Klasse. Auf Interfaces kommen wir in Abschnitt 2.7 noch zu sprechen.

    ABAP-Objects

    Abbildung 2.2: Class Builder – Benennung Objekttyp

    5.   Geben Sie im Feld Beschreibung eine Bezeichnung ein (siehe Abbildung 2.3).

    ABAP-Objects

    Abbildung 2.3: Class Builder – Beschreiben der Klasse

    6.   Wählen Sie für Inst.-Erzeugung den Eintrag Public. Dies bedeutet, dass jedes Programm oder jede Klasse mithilfe dieser anzulegenden Klasse ein Objekt erzeugen kann. Im Falle von »private« oder »protected« kann das nur innerhalb dieser Sichtbarkeitsbereiche geschehen. Wenn Sie den Eintrag »abstract« wählen, kann kein Objekt aus der Klasse erzeugt werden.

    7.   Als Klassentyp wählen Sie Gewöhnliche ABAP-Klasse.

    8.   Setzen Sie einen Haken bei der Checkbox FINAL. Das bewirkt, dass die Klasse nicht vererbt werden kann.

    9.   Drücken Sie den Button Sichern.

    10.   Geben Sie ein Paket und danach einen Transportauftrag an. Legen Sie in diesem Fall ein lokales Objekt als Paket an.

    Jetzt sind Sie in der Klasse, wie Sie in Abbildung 2.4 sehen, und können diese mit Leben füllen, indem Sie die einzelnen Komponenten anlegen.

    ABAP-Objects

    Abbildung 2.4: Class Builder – Methodenansicht

All content - Learn for 7 days now, free of charge and with no obligation.

7 days of free and unlimited access to all learning content1 und den Espresso Tutorials SAP-Copiloten Espressi.

1
Enter mail
2
Confirm mail
3
Learn 7 days

1. You can unsubscribe from the Espresso Tutorials newsletter at any time by clicking on Unsubscribe in an email from the newsletter.

Already have an account? Log in now.

1 You will have access to all learning content included in the Silver subscription. Certificates are part of the Gold subscription. Online training courses are NOT part of the Digital subscription.