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:

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:

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:

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

Fig. 4:  Das Script 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:

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.

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 Script 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.

Fig. 7:  Hierarchisches Untermenü 

Fig. 8:  Hierarchisches Untermenü nach dem Script  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

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 Positionen, bevor irgendeine del M[...] Anweisung aktiv ist.