Sortierung von BADIs

Hinweise, Tips und Tricks, FAQs - keine Anfragen!!
1 Beitrag • Seite 1 von 1
1 Beitrag Seite 1 von 1

Sortierung von BADIs

Beitrag von foessleitnerj (ForumUser / 51 / 4 / 18 ) »
Die Aufrufreihenfolge von mehrfachverwendbaren BADIs erfolgt normalerweise in einer undefinierten Reihenfolge. Es gibt jedoch die Möglichkeit diese Sortierung auf Definitionsebene zu steuern:

- No Sorting – Undefinierte Reihenfolge
- Standard Sort – Sortiert nach einem nummerischen Wert welcher dann bei allen Implementierungen angegeben werden kann.
- Special Sort – Sortiert nach einer eigenen Implementierung auf Basis des BADI BADI_LAYER. – Nähere Infos wie dies zu implementieren ist: http://help.sap.com/saphelp_dimp50/help ... ontent.htm

Technisch gesehen ist die Änderung der Sortierung auch bei Standard-Implementierungen möglich und laut SAP auch keine Modifikation. Hier ein Ausschnitt aus der SAP Online Dokumentation:

Sortierung ausschalten

Um die Sortierung für die Ausführung von BAdI-Implementierungen auszuschalten, wählen Sie Hilfsmittel  Sortierung und anschließend Keine Sortierung. Die Implementierungen laufen in dem Fall wieder in beliebiger Reihenfolge ab. Das Editierfeld, welches mit Hilfe eines Subscreens bei der Ausführung einer BAdI-Implementierung eingeblendet wurde, verschwindet.
Die Sortierung von BAdI-Implementierungen kann jederzeit eingeschaltet werden, ohne dass es sich dabei um eine Modifikation des Standards handelt. Die BAdI-Definition wird nicht geändert. Bei einer Ausschaltung oder Änderung handelt es sich hingegen um eine Modifikation.


Betreffend No Sorting: Undefiniert stimmt nicht ganz, sortiert wird bei „no sorting“ nach dem Namen der Implementierungsklasse, aufsteigend. Sprich die Z Klassen werden immer nach den SAP BADIs durchlaufen. Namensraumimplentierungen „/xyz/..“ jedoch vor den SAPeigenen Implentierungen

Neue BADIs

Auch dazu hab ich von der SAP was gefunden – sollte auch hier möglich sein. (Diese BADIs werden im Coding mit GET BADI … bzw. CALL BADI …. Genutzt):

Vorgehensweise
Bei einem mehrfachverwendbaren BAdI können mehrere Implementierungen nacheinander mit CALL BADIaufgerufen werden. Die Reihenfolge in der mehrere Objekt-Plugins nacheinander aufgerufen werden ist zwar bei wiederholten Aufrufen die gleiche, und kann mit Hilfe des vordefinierten BAdIs BADI_SORTER im Erweiterungsspot BADI_SORTER festgelegt werden:
...
1. Legen Sie eine neue Implementierung BADI_SORTER an.
2. Geben Sie als Filterbedingung für den Filter BADI_NAMEden Namen des BAdIs an, dessen Objekt-Plugins sortiert aufgerufen werden sollen.
3. Legen Sie eine Screen-Erweiterung zur Abfrage eines beliebigen Sortierkriteriums an.
Dieser Sub-Screen wird dann bei jeder Implementierung des zu sortierenden BAdIs vom Enhancement Builder angezeigt.
4. Implementieren Sie die Methoden des BAdI Interfaces IF_BADI_SORTER gemäß Ihrer Sortierkriterien in der BAdI-Implementierungsklasse.
Ohne diese Vorgehensweise ist Reihenfolge undefiniert.



Fößleitner Johann / Cadaxo Gmbh
Die Performance und Ergebnisse von SELECTs und JOINs im Produktivsystem überprüfen?
=> SQL Cockpit
http://www.cadaxo.com

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Seite 1 von 1

Vergleichbare Themen

1
Antw.
2676
Views
BADIs transportieren
von schuessler » 22.02.2007 08:05 • Verfasst in ABAP® für Anfänger
1
Antw.
872
Views
Internal SAP BADIs implementieren?
von retsch » 07.06.2023 10:54 • Verfasst in ABAP® für Anfänger
2
Antw.
1965
Views
BADIS Fehler werfen lassen
von t0mt0m » 30.11.2007 18:57 • Verfasst in ABAP Objects®
6
Antw.
9502
Views
Implementierung der BAdIs ME_GUI_PO_CUST+ME_PROCESS_PO_CUST
von Torsten » 09.07.2007 16:01 • Verfasst in ABAP Objects®
0
Antw.
2595
Views

Über diesen Beitrag

foessleitnerj
Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.