Selektion für MD04/ MD06 + MS04/06 eingrenzen

Je nach Größe und aufkommen in Werk und Dispobereich dauert die Auswertung in den Transaktionen recht lange. Die Standardselektion erlaubt es leider nur sehr begrenzt die Ergebnismenge einzugrenzen – Select-Options vermisst man gänzlich. Der Benutzer wird oft gezwungen die komplette Liste aufzubauen und anschließend mit Filtern die Datenmenge einzugrenzen.
Zum Glück bietet die SAP uns hier die Möglichkeit die Situation mittels BAdI MD_EXCLUDE_MATERIAL zu verbessern. Der BAdI erlaubt es im Einstiegsbild einen zusätzlichen Reiter „Zusatzselektion“ einzubinden und dort ein eigenes Dynpro mit einem Selektionsbild einzubinden.

Link zur SAP-Doku

https://help.sap.com/erp_hcm_ias_2013_01/helpdata/de/45/188147e1235d79e10000000a11466f/content.htm

„SAP empfiehlt, sich stark an der Beispielimplementierung zu orientieren und einen speziellen kundenspezifischen Report analog dem Report RMD07_BADI_SCREEN_EXTENSION01 mit Selektionsscreen 347 und Auswahl-Formroutine zu definieren. Der Selektions-Subscreen muss dann in der Screen-Erweiterung den leeren Subscreen 347 ersetzen, während die Auswahl-Formroutine innerhalb der Methode EXCLUDE_MATERIAL_EVAL aufgerufen werden muss.“

Demoreport der SAP

Report RMD07_BADI_SCREEN_EXTENSION01

Beispiel

Beispielsweise könnte das wie folgt aussehen:

Erweiterung der Selektionsoptionen bei MD04
Erweiterung der Selektionsoptionen bei MD04

Vor der Auswertung der Dispositionsdaten wird dann für jedes Material im Dispobereich die BAdI-Methode gerufen und die Möglichkeit gegeben das Material aus der Auswertung auszuschließen.
Unbefriediegend dabei ist, dass die „Speichern“ Funktion des Standards die Eingabewert im Subscreen nicht mit speichert und entsprechend beim Start der Transaktion nicht wiederherstellt. Zum Glück erlaubt uns das Sel-Screen Eventing die entsprechenden Zeitpunkte ebenfalls abzuhandeln und das so zu ermöglichen. *** Einmalig beim Start der Transaktion gespeicherte Daten wiederherstellen via FuBa RS_SUPPORT_SELECTIONS

CASE sy-ucomm. 
  WHEN 'YES'. 
*** Wiederherstellen Selektionsbild via FuBa RS_SUPPORT_SELECTIONS wenn 
*** der Benutzer zurück aus der Auswertung kommt. 
  WHEN 'SAVP'. 
*** Speichern des Selektionsbild via FuBa RS_REFRESH_FROM_SELECTOPTIONS 
*** und RS_CHANGE_CREATED_VARIANT_255 bzw. RS_CREATE_VARIANT_255 
ENDCASE.
Enno Wulff
Letzte Artikel von Enno Wulff (Alle anzeigen)