Verwendung
Sie lernen in dieser Lektion, wie Sie den Objekttyp Kundenauftrag anlegen und wie Sie die Schlüsselfelder dieses Objekttyps pflegen. Sie werden erkennen, daß Sie dabei vom System bei der Auswahl der Schlüsselfelder und bei der Implementierung im Programm unterstützt werden.
Vorgehensweise
Objekttyp anlegen
Sie gelangen auf das Dialogfenster Objekttyp anlegen.
Objektname:
KundenauftragBezeichnung:
Kundenauftrag (Mod)Kurzbeschreibung:
Kundenauftrag (Modifikation für Tutorial)Sie gelangen auf das Bild Objekttyp
Z_BUS2032 ändern.Objekttypdefinition "analysieren"
Schauen Sie sich zunächst die "initiale" Objekttypdefinition an. Expandieren Sie dazu jeweils die Hierarchie unter den Einträgen Interfaces, Attribute und Methoden, indem Sie auf das Plus-Zeichen klicken.
Interface IFSAP (SAP Standardinterface)
Sie erkennen, daß Ihr neuer Objekttyp bereits das
Interface IFSAP (SAP Standardinterface) unterstützt. Jeder Objekttyp unterstützt dieses Interface standardmäßig.Das Attribut und die beiden Methoden, die Sie ebenfalls schon bei Ihrem Objekttyp vorfinden, sind beim Interface IFSAP definiert und werden aus diesem Interface geerbt. (Daß das Attribut und die Methoden vorhanden sind, liegt also nur daran, daß das Interface IFSAP unterstützt wird. Wenn Sie das Interface IFSAP löschen würden, würden auch das Attribut und die beiden Methoden wieder "verschwinden".) Im einzelnen handelt es sich um folgende Objekttypkomponenten, die aus dem Interface geerbt werden:
Methode ohne Dialog, die aufgerufen wird, um zu prüfen, ob das Objekt vorhanden ist.
Methode, die das Objekt in einer objektspezifischen Weise anzeigt.
Attribut, das den eigenen Typ des Objektes enthält.
Die beiden Methoden Display und ExistenceCheck müssen noch objekttypspezifisch im Implementierungsprogramm implementiert werden. Dies wird Ihnen auch durch die farbliche Unterlegung deutlich gemacht. Dies werden Sie in einer späteren Lektion auch tun.
An der Implementierung des Attributes ObjectType ist keine Änderung erforderlich.
Schlüsselfelder pflegen
Als nächstes müssen Sie die
Schlüsselfelder Ihres neuen Objekttyps anlegen, damit das System weiß, wie es Objekte dieses Typs eindeutig identifizieren soll.Sie gelangen auf das Dialogfenster Anlegen mit Data Dictionary Feldvorgaben.
Die Tabelle
VBAK ( Verkaufsbeleg: Kopfdaten) enthält die Daten eines Kundenauftrags. Das einzige Schlüsselfeld dieser Tabelle, mit dem ein Kundenauftrag identifiziert wird, ist das Feld VBELN (Verkaufsbeleg).Aus der Tabelle wird Ihnen nun das einzige Schlüsselfeld VBELN dieser Tabelle angezeigt.
Sie gelangen auf das Dialogfenster Anlegen mit Textvorschlägen für das anzulegende Schlüsselfeld.
Das Schlüsselfeld wird unter dem automatisch vorgeschlagenen Namen SalesDocument (Verkaufsbeleg) beim Objekttyp Z_BUS2032 angelegt.
Interfaces hinzufügen
Neben dem Interface
IFSAP (SAP Standardinterface), das der neu angelegte Objekttyp automatisch unterstützt, können Sie dem Objekttyp optional weitere Interfaces mit Methoden, Attributen und Ereignissen zuweisen, die dieser Objekttyp dann unterstützen muß.Sie gelangen auf das Dialogfenster Interfacetyp einfügen.
Sie haben dem Objekttyp Z_BUS2032 nun drei neue Interfacetypen hinzugefügt.
Dieses Interface fügt Ihrem Objekttyp die Methode Create ( Anlegen) hinzu.
Jeder Objekttyp, der eine Funktion zum Anlegen bereitstellt, sollte das Interface Anlegen unterstützen. Durch die Verwendung des Interface wird eine einheitliche Namensvergabe gewährleistet und der Aufbau einer generischen Suchhilfe ermöglicht.
Dieses Interface fügt Ihrem Objekttyp die Methode Edit (Ändern) hinzu.
Jeder Objekttyp, der eine Funktion zum Ändern bereitstellt, sollte das Interface Anlegen unterstützen. Durch die Verwendung des Interface wird eine einheitliche Namensvergabe gewährleistet und der Aufbau einer generischen Suchhilfe ermöglicht.
Dieses Interface fügt Ihrem Objekttyp die Methode Find ( Suchen) hinzu.
Diese Methode ermittelt ein existierendes Objekt dieses Typs und liefert eine Referenz auf das gefundene Objekt zurück.
Jeder Objekttyp soll das Interface Suchen unterstützen.
Die Implementierung der Attribute und Methoden, die vom Interface vererbt wird, ist in aller Regel unvollständig und den aktuellen Gegebenheiten des Objekttyps nicht angepaßt. Wir werden uns darum in einer späteren Lektion kümmern.
Objekttyp implementieren
Verzweigen Sie an dieser Stelle erstmalig in das Implementierungsprogramm des von Ihnen angelegten Objekttyps.
Wählen Sie Programm.
Da bisher keine Implementierung von Methoden und Attributen vorgenommen wurde, enthält das Implementierungsprogramm nur die Datendeklaration für den Objektschlüssel. Dieser Teil wird automatisch aus den Angaben erzeugt, die Sie zu den Schlüsselfeldern des Objekttyps gemacht haben.
Ändern Sie diesen Teil des Implementierungsprogramms nicht!
Schlüsselfelder im Implementierungsprogramm
Analysieren Sie das bisher vorhandene Implementierungsprogramm Ihres Objekttyps. Als Vergleich kann Ihnen das
im Anhang wiedergegebene Implementierungsprogramm dienen.Beachten Sie, daß das im Anhang wiedergegebene Implementierungsprogramm bereits die vollständige Implementierung des Objekttyps
Einige der dort vorhandenen Datendeklarationen und Programmteile sind in Ihrem Beispiel bis jetzt noch nicht vorhanden, sondern werden erst im Zusammenhang mit den Beispielen der folgenden Lektionen benötigt und angelegt.
Die Schlüsselfelder des Objekttyps werden im Programm zwischen den beiden Makrobefehlen
BEGIN_DATA OBJECT und END_DATA OBJECT vereinbart.Diese Makrobefehle, zusammen mit den Befehlen im Implementierungsprogramm, deklarieren eine Struktur für alle Schlüsselfelder, die immer mit
OBJECT-KEY- beginnt und deren Felder sich aus den definierten Schlüsselfeldern des Objekttyps ergeben.Im Programm steht damit das (einzige) Schlüsselfeld des Objektes in der Variablen
OBJECT-KEY-SALESDOCUMENT zur Verfügung.