Transaktion SE24 (Class Builder)

Aus SAP-Wiki
Wechseln zu: Navigation, Suche

Zentral für die Pflege von globalen Klassen ist die Transaktion SE24 (Class Builder).

Der Class Builder mit seinen Methoden ist in einigem einer Funktionsgruppe mit Funktionsbausteinen vergleichbar. Die Methoden einer Klasse sind jedoch deutlich flexibler und übersichtlicher als die Funktionsbausteine einer Funktionsgruppe.

Class Builder über Transaktion SE80

Aufruf einer Klasse

Der erste Schritt ist in der Einstiegsmaske die Selektion einer Klasse oder eines Interfaces. Es kann eine Wertehilfe aufgerufen werden, wo nach Klassen oder Interfaces gesucht werden kann. Hier wird die Klasse ZBA_CL_PRINT_DATA_ST aufgerufen.

SE24 Aufruf.gif

Registerkarten Class Builder

Im Detailbild des Class Builders gibt es verschiedene Registerkarten.

Registerkarte Eigenschaften

Hier werden bei der Anlage der Klasse meist die Defaultwerte übernommen.

SE24 Eigenschaften.gif

Sofern es eine Oberklasse gibt, von der die Klasse erbt, so steht sie auch auf dieser Registerkarte.

SE24 1.jpg

Registerkarte Interfaces

  • Interfaces erleichtern die Verwendung von Methoden. Interfaces beschreiben die Parameter von Methoden, die dann in der Klasse genutzt werden können, die die Interfaces eingetragen hat.
  • Die Implementierung der Methoden muss jedoch in der Klasse gemacht werden.

SE24 Interfaces.gif

Registerkarte Friends

  • Standardmäßig können Benutzer einer Klasse nur auf die PUBLIC-Komponenten dieser Klasse zugreifen. Das Konzept der Friendsermöglicht es ausdrücklich genannten anderen Klassen (Friends) den Zugriff auf die PROTECTED- und PRIVATE-Komponenten einer Klasse zu gewähren.
  • Diese Registerkarte wird in aller Regel nicht nicht benötigt und ist nicht gefüllt.

SE24 Friends.gif

Weiter führende Informationen in der SAP-Hilfe.

Registerkarte Attribute

  • Attribute sind die Variablen, die innerhalb der Klasse gespeichert werden.
  • Diese Attribute lassen sich auch von außerhalb der Klasse aufrufen, sofern das Attribut Public ist.
  • Es lassen sich auch Attribute definieren, die auf andere Klassen referenzieren und sich so ansprechen lassen.

SE24 Attribute.gif

Registerkarte Methoden

Diese Registerkarte ist elementar wichtig für die Klasse. Hier sind alle Methoden, die sich von außerhalb der Klasse aufrufen lassen (Sichtbarkeit Public) oder nur innerhalb der Klasse benötigt werden (Sichtbarkeit Private).

SE24 Methoden.gif

Registerkarte Aliase

Hier können Methoden oder Attribute aufgeführt werden und mit einem Stellvertreternamen (Alias) gekennzeichnet werden. Die Methoden oder Attribute können dann mit dem Aliasnamen angesprochen werden. Der Alias sollte dann kurz und sprechend sein.

SE24 Aliases.gif

Suchfunktion

Über den Button Button Suchen.jpg in der Symbolleiste vom Class Builder wird die globale Suchfunktion in der Klasse aufgerufen

Class Builder01.jpg

Es wird entweder global in der Klasse gesucht oder sofern die Suche aus einer Methode heraus ausgerufen wurde, kann man auch in einer Methode suchen. Hier im Beispiel erfolgte die Suche aus dem Konstruktur der Klasse heraus

Class Builder02.jpg

Der String IT_SELTOPT_BUDAT wird sowohl in den Schnittstellen der Klasse/Methoden als auch im Coding der Methoden gesucht und angezeigt

Class Builder03.jpg

Ein Klick auf eine Fundstelle ruft die entsprechende Methode auf

Class Builder04.jpg

Klassendokumentation

Quelltextbasiert

  • Eine interessante Funktion im Class Builder ist es, wenn man sich das Coding der Klasse im Quelltext anzeigen lässt mit der Schaltfläche Quelltextbasiert.jpg.

SE24Quelltextbasiert1.jpg

SE24Quelltextbasiert3.jpg

Zurück in die Formularansicht des Class Builders kommt man mit der Schaltfläche Formularbasiert.jpg.

Signatur

Sehr praktisch ist im Class Builder im Gegensatz zum Function Builder (SE37), dass bei der Pflege des Codings einer Methode die Schnittstelle ständig sichtbar ist (sofern eingeblendet). Sie wird Signatur genannt.

Signatur1.jpg

Über die Schaltfläche Signatur2.jpg lässt sich die Signatur einblenden, bzw. ausblenden.

Signatur3.jpg

Web-Links