Löschen von Menüeinträgen

Mit der del Anweisung können Sie Menüeinträge und Untermenüs löschen.  Das ist nicht schwierig. Aber da es Auswirkungen auf die Symbolleiste, die Funktionstasten und die Untermenüs hat, erklären wir den Vorgang hier im Detail.

Betrachten Sie zum Beispiel Transaktion MB1A in R/3 Rel. 4.6C. Hier ist ein Teil des Hauptmenüs: 

Sap Guixt menuitems01 Löschen von Menüeinträgen

Fig. 1: Menü in der Transaktion MB1A
 
Um den Menüeintrag “Zur Reservierung…” zu löschen, reicht es zu schreiben

del M[Zur Reservierung...]

 Das Menü sieht dann folgendermaßen aus:

Sap Guixt menuitems02 Löschen von Menüeinträgen

Fig. 2: Menüeintrag [Zur Reservierung...] gelöscht

Wenn es in der Symbolleiste einen Button gibt, der die gleiche Aktion ausführt wie der Menüeintrag, dann löscht GuiXT auch diesen, zusammen mit der zugeordneten Funktionstaste:

Sap Guixt menuitems03 Löschen von Menüeinträgen

Fig. 3: Symbolleiste und Funktionstasten in MB1A, kein GuiXT Skript aktiv

Sap Guixt menuitems04 Löschen von Menüeinträgen

Fig. 4:  Das Skript del M[Zur Reservierung...]  löscht automatisch den Button und die zugehörige Funktionstaste zusammen mit dem Menüeintrag

Es kommt vor, dass mehrere Menüeintrage mit dem gleichen Text existieren. In der Transaktion MB1A ist dies der Fall für den Eintrag [Zur Reservierung...], der sowohl in dem Untermenü “Erfassen mit Bezug” als auch in “Stornieren mit Bezug” auftaucht:

Sap Guixt menuitems05 Löschen von Menüeinträgen

Fig. 5:  Der Eintrag  [Zur Reservierung...] existiert in einem zweiten Untermenü

GuiXT hat nur den ersten Eintrag im “Erfassen mit Bezug” Untermenü gelöscht. Um zwischen den beiden gleichlautenden Einträgen zu unterscheiden, verwenden Sie am besten den Funktioncode. Sie finden ihn, indem Sie F1 nach der Markierung des Menüeintrags drücken.

Sap Guixt menuitems06 Löschen von Menüeinträgen

Fig. 6:  Verwenden Sie F1 um den Funktionscode für einen Menüeintrag zu finden

Verwenden Sie dann die del Anweisung mit dem Funktionscode anstelle des Menüeintrags:

del M[NFRS]

Anwender können übrigens jeden Funktionscode direkt im OK Eingabefeld eingeben, anstelle den Menüeintrag, den Button oder die Funktionstaste auszuwählen. Wenn Sie also einen Menüeintrag durch ihr GuiXT Skript löschen, so gäbe es noch diesen Geheimweg, um die verborgene Funktion auszuwählen. Aus diesem Grund löscht GuiXT alle Funktionscodes im OK Eingabefeld, wenn sie dem gelöschten Menüeintrag entsprechen.

Hierarchische Untermenüs können ebenfalls gelöscht werden, indem Sie den Menünamen verwenden. In diesem Fall werden alle Einträge im Untermenü (und im Untermenü des Untermenüs….) gelöscht, wieder zusammen mit den Buttons in der Symbolleiste und den zugeordneten Funktionstasten.

Sap Guixt menuitems07 Löschen von Menüeinträgen

Fig. 7:  Hierarchisches Untermenü 

Sap Guixt menuitems08 Löschen von Menüeinträgen

Fig. 8:  Hierarchisches Untermenü nach dem Skript  del M[In Konsi]

Hauptmenüs (wie “Warenausgang”, “Bearbeiten”) können nicht gelöscht werden. Selbst wenn Sie alle Menüeinträge löschen, bleibt der Menütitel erhalten, das Menü ist dann aber leer. In dem “System” und “Hilfe” Menü können Sie weder Einträge noch Untermenüs löschen.

In seltenen Fällen haben sogar Untermenüs den gleichen Namen. Das ist beispielsweise in MB1A der Fall mit dem Untermenü [In Konsi], das sowohl in [Stichprobe Storno] als auch in [Verschrottung Storno] existiert. In diesem Fall können Sie nicht wie oben beschrieben den Funktionscode verwenden, denn Untermenüs haben keinen Funktionscode. In solchen sehr seltenen Fällen können Sie mit den Positionen der Menüeinträge arbeiten, M[i,j,k,l],. Hier sind i,j,k,l bis zu vier Zahlen, die die Position in der Menühierarchie bezeichnen, beginnend mit 1. In unserem Beispiel wäre dies

del M[4,6,2]

Erklärung: 4=BewegArt, 6=Verschrottung Storno, 2=In Konsi

Sap Guixt menuitems09 Löschen von Menüeinträgen

Fig. 9:  Position des Untermenüs in der Menühierarchie

Ein abschließender Tipp: Falls Sie tatsächlich mit solchen absoluten Positionen arbeiten müssen, dann zählen Sie die Postionen, bevor irgendeine del M[...] An
weisung aktiv ist.

Löschen von Menüeinträgen