Anfang des Inhaltsbereichs

GET PROPERTY  Dokument im Navigationsbaum lokalisieren

Das ABAP-Schlüsselwort GET PROPERTY kopiert das Attribut p des Objekts obj in das Feld f. Das Objekt obj muß vom Typ OLE2_OBJECT sein.

Grundform:

GET PROPERTY OF obj p = f.

     

Zusatz:

NO FLUSH

     

In der Regel puffert der ABAP-Prozessor alle aufeinanderfolgenden OLE-Anweisungen und schickt sie gebündelt an den Präsentationsserver. Dennoch kann eine Anweisung auch auf die Ergebnisse vorhergehender Anweisungen zugreifen.

Wenn Sie im Debugging-Modus arbeiten, sollten Sie allerdings nicht vergessen, daß die Werte der Rückgabeparameter erst unmittelbar vor der Ausführung der ersten nicht-OLE ABAP-Anweisung angezeigt werden können. Eine Anweisung, die sich auf ein noch nicht durch eine OLE-Anweisung erzeugtes Objekt bezieht, beendet die automatische Bündelung.

Der Rückgabewert SY-SUBRC gibt an, ob alle gebündelten Anweisungen erfolgreich ausgeführt wurden. Er kann folgende Werte annehmen:

Alle Anweisungen wurden erfolgreich ausgeführt.

Bei der Kommunikation mit dem Präsentationsserver trat ein Systemfehler auf. Das Feld SY-MSGLI enthält eine kurze Beschreibung des Fehlers.

Ein Methodenaufruf verursachte einen Fehler.

Das Setzen eines Attributs verursachte einen Fehler.

Das Lesen eines Attributs verursachte einen Fehler.

In den letzten drei Fällen erscheint auf dem Präsentationsserver ein Dialogfenster mit einem Fehlerhinweis.

GET PROPERTY gehört zu einer Gruppe von Schlüsselwörtern, mit denen Sie externe Objekte in ABAP verarbeiten können. Gegenwärtig wird nur das Objektmodell OLE2 unterstützt. Alle zu verarbeitenden Objekte müssen daher vom Typ OLE2_OBJECT sein. Dieser Typ sowie andere erforderliche Daten sind im Include-Baustein OLE2INCL definiert.

Der Zusatz NO FLUSH setzt den Sammelvorgang fort, selbst wenn die nächste Anweisung keine OLE-Anweisung ist. So können Sie z.B. in einer Schleife eine Reihe von Attributen setzen und in einer einzigen Transportoperation auf den Präsentationsserver herunterladen.

Wenn Sie NO FLUSH verwenden, müssen Sie als Programmierer sicherstellen, daß Sie sich nicht auf den Inhalt der Rückgabeparameter verlassen, die ja noch nicht gefüllt sind. Auch müssen alle Objekte als Bündel initialisiert werden, d.h. sie müssen durch einen schon ausgeührten OLE-Aufruf bereits erzeugt worden sein.

Jede FREE-Anweisung führt immer zu einem Herunterladen des Puffers.

Beispiel

So lesen Sie das Attribut 'Visible' (sichtbar) eines EXCEL-Arbeitsblatts:

INCLUDE OLE2INCL.
DATA: EXCEL TYPE OLE2_OBJECT.
VISIBLE TYPE I.
CREATE OBJECT EXCEL 'Excel.Application'.
GET PROPERTY OF EXCEL 'Visible' = VISIBLE.

Siehe auch:

SET PROPERTY, CREATE OBJECT, CALL METHOD und FREE OBJECT.