Anfang des Inhaltsbereichs

FunktionsdokumentationAutomation Queue  Dokument im Navigationsbaum lokalisieren

Verwendung

Die Kommunikation zwischen Automation Controller und OO Control Framework wird über GUI-RFC-Aufrufe abgewickelt:

Diese Grafik wird im zugehörigen Text erklärt

Um die Netzlast zwischen dem Backend und dem Frontend gering zu halten, werden Aufrufe vom Backend an das Frontend gepuffert und zu definierten Synchronisationspunkten an das Frontend gesendet.  Der Synchronisationspunkt wird durch nicht gepufferte Methodenaufrufe oder durch expliziten Aufruf einer generischen Methode (CALL METHOD cl_gui_cfw=>flush) erreicht (siehe Synchronisation der Automation Queue)..

Die Kommunikation basiert auf einem RFC-Aufruf. Der Aufruf erfolgt synchron, was bedeutet, dass bei jedem Synchronisationspunkt ein RFC-Aufruf erfolgt.  Aufgrund der Architektur des SAP-Systems dürfen diese RFC-Aufrufe eine bestimmte Dauer nicht überschreiten, da sonst die Verbindung zum Präsentationsserver vom Applikationsserver beendet wird.

Die Pufferung von Operationen erhöht die Performance erheblich, da jede ungepufferte Operation eine RFC-Kommunikation mit dem Frontend auslöst.  Allerdings sind insbesondere gepufferte Lesezugriffe auf ein Control mit größter Vorsicht zu behandeln, da eine falsche Verwendung zu einem Laufzeitfehler führen kann (siehe Fehlerbehandlung)!.

Performance-Hinweise

Bei der Performance sind vor allem die Anzahl der Synchronisationspunkte zu beachten.  In der Dynproablauflogik wird auf jeden Fall nach PBO automatisch die Automation Queue synchronisiert.

Da allerdings eine Fehlerbehandlung von Methoden erst nach dem Synchronisationspunkt möglich ist, ist ein Kompromiss zwischen Performance und Fehlerbehandlung zu schließen.

Weiterhin ist bei großen Datenmengen zu beachten, dass die Verbindung zwischen Applikations- und Präsentationsserver wegen Zeitüberschreitung nicht unterbrochen wird.  In einem solchen Fall müssten dann zusätzliche Synchronisationspunkte eingefügt werden.

Werkzeuge zur Unterstützung bei der Performaceoptimierung finden Sie unter Services rund um die Automation Queue.

Voraussetzungen

Es gibt drei Arten von Methoden von Controlschalen:

·       Methoden, die immer vor der Rückkehr eine Synchronisation der Automation Queue ausführen

·       Methoden, bei denen nie eine Synchronisation der Automation Queue ausgeführt wird. Hier ist der Anwender für die Übertragung des Puffers verantwortlich.

·       Methoden, bei denen die Synchronisation über ein Parameter gesteuert werden kann.

Funktionsumfang

Gepufferte Operationen werden in der Automation Queue gesammelt.  Ein interner Modus verfügt über eine einzige Automation Queue für alle Custom Controls des internen Modus.  Durch Synchronisation der Automation Queue wird deren Inhalt zum Frontend gesendet und dort ausgeführt.  Das Ergebnis wird dann an das Backend zurückgemeldet:

Beispiel

Sie rufen eine Methode des SAP Tree Controls, um den selektierten Knoten zu setzten (ohne Flush).

Die Methode stellt zwei Operationen in die Automation Queue: Op_Tree_1 und Op_Tree_2.

Dann rufen Sie eine Methode eines TextEdit Controls, um den ausgewählte Text anzuzeigen (ohne Flush).  Die Methode stellt die Operation Op_TextEdit_1 in die Queue.

Die Queue hat nun folgende Gestalt:

Op_Tree_1

Op_Tree_2

Op_TextEdit_1

Wenn Sie jetzt die Automation Queue synchronisieren, wird sie zum Frontend übertragen und auf den Controls ausgeführt.

 

 

 

Ende des Inhaltsbereichs