ich muss einige Funktionalitäten zur ME21N hinzufügen. Die möchte ich natürlich nur so gering wie möglich verändern, deshalb will ich über einen Button einen Report mit den Anforderungen aufrufen lassen.
Ich habe also recherchiert, was es da für Möglichkeiten gibt, dies zu tun und diese Möglichkeiten gefunden:
1. Button über GuiXT Scripting in Standard einfügen Scripting scheint mir keine allzu saubere Lösung zu sein und ich wüsste erstmal auch nicht wie.
2. über BADI? Das wurde überall nur kurz erwähnt und nicht erklärt, daher weiß ich nicht, ob das eine Möglichkeit ist oder wie es geht.
3. mit Screen Exits Ich habe herausgefunden, dass ME21N ein Enhancement Exit mit ID MM06E005 hat, und ich darunter auf Positionsebene z.B. weitere Reiter einfügen könnte. Ein Beispiel für Buttons habe ich aber nicht gefunden.
4. GUI Status kopieren und eigenen Z-Status mit eigenem Button verwenden Hiermit würde der Button auf der Applikationstoolbar erscheinen, das wäre ok. Aber ist das eine saubere Lösung? Das würde dann so oder so ähnlich aussehen:
- den Gui Status von ME21N kopieren und eigenen erstellen, dabei extra Button einfügen
- einen FM erstellen, der den PF Status ändert
- den FM im letzten PBO aufrufen
- im PAI wo die Button Funktionscodes bearbeitet werden meinen Report aufrufen
Gibt es sonst noch weitere Möglichkeiten? Wie würdet ihr das machen?
( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support/enhancement packages )
@1. Müsstest du auf jedem Rechner installieren, der das braucht. Würde ich von abraten ( aber auch , weil ich selber keine Erfahrung damit habe )
@2. BADI ( oder alte SMOD-Erweiterung ): Ich kenne das z.B. aus der FBL5N ( OP-Liste Debitoren ). Aber wenn das gehen soll, muss im GUI-Status eine Erweiterung vorgesehen sein. Und das ist es bei der ME21N nicht bzw. ich habe dort nichts gesehen ---> wird wohl nicht klappen.
@3. Da du einen Button haben willst: Siehe @2.
@4. Wenn du so vorgehen willst, dann aber wie Daniel schon sagt lieber via Modifikation ( oder im PAI von mir aus via Enhancement )
Weitere Möglichkeit: ME21N zeigt auf Report RM_MEPO_GUI und dort wird nach kurzer Initialisierung lediglich der FuBa MEGUI_MAINTAIN aufgerufen. Du könntest jetzt via Enhancement ( z.b. am Ende der FORM-Routine init_transaction oder am Anfang der FuBa MEGUI_MAINTAIN einen Dockingcontainer an den rechten Rand werfen ( da ist bei mir noch Platz ) und dort dann irgendwie hübsch deine Extrafunktionen unterbringen. Ist dann zwar nicht auf der Buttonleiste, aber immerhin kannst du was machen. Reagieren kannst du dann darauf auch wieder via Enhancement im PAI beim Verarbeiten der FCodes.
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag: Legxis
Ein Enhancement geht für das Coding,
den GUI-Status kann man leider nicht enhancen.
Da wurde mal wieder nicht zu Ende gedacht.
Genauso wie es keine impliziten Erweiterungen
in Modulen gibt.
Es wird ohne Modifikation wohl nichts werden.
Folgende Benutzer bedankten sich beim Autor Daniel für den Beitrag: Legxis