2017-05-25 2 views
0

Ich entwerfe eine SAP-Anwendung. Das erste Fenster öffnet sich in einer Maschine und wenn ich auf bestimmte Schaltfläche im ersten Bildschirmfenster klicke, sollte das zweite Fenster auf dem zweiten Bildschirm geöffnet werden. Die Frage ist - ich bin nicht in der Lage, die Sitzung über die 2 Fenster zu halten, sagen wir, ich verwende einige Filter auf den ersten Fenstern, so dass diese Filter auch auf den Inhalt des zweiten Fensters angewendet werden sollen. P.S. Es ist serverseitige Anwendung und Javascript wird verwendet.Windows-Status in einer SAP-Anwendung pflegen

Jeder Hilfe würde geschätzt werden. Danke

Antwort

0

Es gibt mehrere Möglichkeiten, es zu tun, es hängt ein wenig davon ab, was Sie genau wollen. Es ist auch nicht wirklich klar, welches Backend Sie haben (ich folgere, dass Sie UI5 ​​am Frontend verwenden).

Auf der Oberseite meines Kopfes, kann ich die folgenden denken:

  • Kommunikation zwischen den Fenstern JS Referenzen verwenden. Sie können das übergeordnete Fenster mit window.opener abrufen, und Sie können einen Verweis auf das unterordnete Fenster erhalten, wenn Sie window.open verwenden. Dann können Sie einfach (globale) Funktionen aufrufen, um diese Kommunikation durchzuführen. Das Hauptproblem, das ich sehe, ist, dass wenn Sie mehr als nur zwei Fenster haben, wird dies mühsam.
  • Verwenden Sie cookies, um den Status der Filterung und so weiter zu speichern. Sie können attach listeners to the cookies und den Status Ihrer Filterung basierend auf dem Inhalt des Cookies aktualisieren (d. H. Ein Fenster "publiziert" zum Cookie und die anderen Listener "konsumieren" die Änderungen).
  • Das gleiche wie oben, aber mit localStorage. Dies wäre eine "modernere" Lösung.
  • Tun Sie einige Server-Side-Speicher und verwenden Sie einen Pull-Mechanismus (HTTP-Abruf, WebSockets oder HTTP/2 SSE).