|
Wenn ein Benutzer in mehr als einem SAP-System arbeitet, ist es oft wünschenswert eine einfache Verknüpfung zwischen Transaktionen beider Systeme herzustellen und wichtige Daten von einem ins andere System zu übergeben.
Für unser Beispiel gehen wir davon aus, daß Kundendaten in zwei SAP-Systemen verfügbar sind. In dem ersten System sind alle Kundennummern 4-stellig, im anderen System sind sie 10-stellig. Wir möchtem dem Benutzer eine einzige Oberfläche anbieten in der er die Kundennummer eingibt, eine Taste drückt und sich automatisch in der Transaktion des richtigen System befindet. Es gibt 2 verschiedene Möglichkeiten für die Realisierung einer solchen Öberfläche. Wir benutzen eine einfache Methode die GuiXT und SAP-Verknüpfungen kombiniert. Hierfür werden die Komponenten InputAssistant und Viewer benötigt. |
Das ist die mit GuiXT erstellte Oberfäche. Der Benutzer gibt die Kundennummer ein und drückt die “Start”-Taste. GuiXT startet die Transaktion VD03 (Debitor anzeigen) im richtigen System mit Übergabe der Kundennummer. Diese Oberfläche kann einem beliebigen SAP-Bildschirm zugefügt werden. In unserem Beispiel haben wir sie im Hauptmenü eingefügt. Sinnvoll ist es diese Oberfäche in beiden Systemen zur Verfügung zu stellen, damit der Benutzer im System seiner Wahl starten kann. Das InputScript “Kundenanzeigen.txt” muß also leicht unterschiedlich in beiden Systemen sein. Man kann auch die Abfrage “if Q[database=...]“ benutzen um zu entscheiden von wo die Transaktion VD03 aufgerufen werden soll. So sieht das GuiXT-Skript aus: SAPLSMTR_NAVIGATION.D0100.txt: // Anzeige der Benutzer-Oberfläche Das InputScript Kundeanzeigen.txt entscheidet zuerst in welchem System die Kundendaten vorhanden sein könnten abhängig von der Länge der Kundennummer. Wenn es im aktuellen System ist, wird die Transaktion VD03 direkt gestartet. Sonst, wird über den Aufruf einer SAP-Verknüpfung die Transaktion VD03 im anderen System aufgerufen. Da es nicht möglich ist, Parameter über die Verknüpfung an das zweite System zu übergeben, wird eine temporäre Parameter-Datei für den Transport eingesetzt. Man könnte auch anstelle der Länge der Kundennummer über einen RFC den Kunden in der Datenbank suchen. Sollten mehr als zwei Systeme in Frage kommen müßten Sie mit der Destination=… Option der GuiXT call-Anweisung arbeiten, um das richtige System anzusprechen. Für unser Beispiel gehen wir davon aus, daß wir nur 2 Systeme haben, und daß wir das richtige System über die Länge der Kundennummer bestimmen können. // GuiXT InputScript Kundeanzeigen.txt if V[RechterTeilDerKundennummer]
Leave
Das GuiXT-Skript für den Einstiegsbildschirm der VD03, liest immer die temporäre Parameter-Datei und setzt die Kundennummer wenn Sie vorhanden ist: // GuiXT Script SAPMF02D.D7108.txt // Kundennummer aus der Parameter-Datei if V[KundennummerAusDatei] Die SAP-Verknüpfung vd03.sap kann automatisch im sapgui generiert werden. Hierfür gehen Sie einfach in die Transaktion und wählen die Drucktaste in der Toolbar:
Es sieht dann wie folgt aus:
|