get_document_proxy 
Sie erzeugen mit dieser Methode eine Instanz für die Verwaltung eines Dokuments.
Syntax
CALL METHOD control->get_document_proxy EXPORTING document_type = document_type document_format = document_format register_container = register_container no_flush = no_flush IMPORTING document_proxy = document_proxy retcode = retcode error = error.
Parameter |
optional |
Beschreibung |
|
Art des Dokuments. Mit Hilfe dieser Kennung wird die zugehörige Anwendung gestartet |
|
|
X |
Folgende Formate stehen zur Verfügung: OLE: Microsoft's Compound Document Format NATIVE: Anwendungseigenes Format RTF: Rich Text Format |
|
X |
Für die Office-Applikationen, die keine Container-Property unterstützen, soll ein Container registriert werden (siehe Hinweis). |
|
Erzeugt eine Instanz für die Dokumentenverwaltung. Das Objekt wird mit Referenz auf das Interface i_oi_document_proxy angelegt: |
Hinweis
Der Dokumenttyp sollte nicht als Festwert programmiert sein, sondern sollte z.B. über Customizingtabellen oder Benutzerinteraktion festgelegt werden. Mögliche Dokumenttypen erhalten Sie über die Methode get_registered_doc_types.
Word.Document.8: |
Word97 |
Excel.Sheet.8 |
Excel97 Worksheet |
Excel.Chart.8 |
Excel97 Chart |
Word.Document |
Es wird die neueste installierte Word-Version genommen. |
Viele Office-Anwendungen haben entweder kein hierarchisches Objektmodell für interne Objekte (Application, Document, Sheet, Cell usw.) oder, wenn sie eins haben, unterstützen sie bei dem Dokument-Objekt keine Property, die auf den OLE-Dokumenten-Container zeigt. Diese Unterstützung ist aber für die Kommunikation mit dem SAP-System über Nachrichten, sowie den Datenaustausch über die Table Collection unumgänglich.
Damit man solche Desktop-Anwendungen trotzdem vollständig einsetzen kann, besteht die Möglichkeit, über den optionalen Parameter register_container den SAP Document Container für das gewünschte Dokument zu registrieren. Danach kann man auf diesen in einem Dokument-Makro über die Funktion GetObject() zugreifen wie in dem folgenden VBA-Beispiel gezeigt wird:
Syntax
Sub SapTest
Dim cont as Object
Set cont = GetObject(, "SAP.DocumentContainer")
cont.SendCustomEvent("ON_DATA_CHANGE")
End Sub