Konfiguration der Objektkollisionsprüfung
Die frühzeitige Erkennung von Objektkollisionen unterstützt Entwickler bei der Identifizierung problematischer Konstellationen während der Feature-orientierten Entwicklung. Beim Versuch, ein Repository-Objekt oder Customizing zu bearbeiten, das gleichzeitig von einer anderen Person geändert wird, wird der Entwickler sofort durch ein Dialogfeld benachrichtigt.
1. Vergleich der Objekte
Um festzustellen, ob ein bestimmtes Objekt gefahrlos geändert werden kann, wird folgender Ansatz verfolgt:
Ermitteln Sie den letzten Transport auf dem Entwicklungssystem, der das aktuelle Objekt oder ein Top-Level-Objekt des aktuellen Objekts enthält.
Wenn der in Schritt 1 gefundene Transportauftrag noch nicht freigegeben ist, kann das Objekt bearbeitet werden.
Suchen Sie auf ausgewählten entfernten Systemen (z.B. Entwicklungssystem für die Wartung, QA-Systeme und Produktion) die letzten Transportaufträge, die das aktuelle Objekt enthalten.
Vergleichen Sie die in Schritt 3 gefundenen Transportauftragsnummern mit den in Schritt 1 gefundenen Transportauftragsnummern.
Wenn in Schritt 4 unterschiedliche Transportauftragsnummern gefunden wurden, wird dem Entwickler ein Warnungs-Popup angezeigt.
Wenn alle in Schritt 1 und 3 gefundenen Transportauftragsnummern identisch sind, kann das Objekt sicher geändert werden. Auf allen ausgewählten Systemen ist die gleiche Objektversion vorhanden.
Außerdem gibt es den Sonderfall: Neu angelegte lokale Objekte (d.h. Objekte, die bisher mit keinem Transportauftrag verbunden sind) können bearbeitet werden.
2. Unterstützte Transaktionen
Die Objektkollisionsprüfung wurde erfolgreich in folgenden Transaktionen getestet:
SE11
SE24
SE37
SE38
SE80
3. Integration in das SAP-System
Bitte führen Sie den TMS Index Builder (ABAP-Report /GAL/TMS_INDEX_BUILDER) auf jedem System aus, das an der Kollisionsprüfung teilnimmt. Dieser Report kann mehrere Stunden laufen, daher sollte er als Hintergrundjob mit folgender Variante eingeplant werden:
Ein SAP-Funktionsbaustein muss geändert werden, um bei jeder Änderung eines Workbench-Objekts zusätzliche Prüfungen zu ermöglichen. In der ersten Zeile des Funktionsbausteins RS_ACCESS_PERMISSION befindet sich ein Aufruf des Formulars PRELIMINARIES_TEST. Direkt nach dieser Zeile müssen Sie die folgende Anweisung einfügen:
Abbildung 1: Modification of functions module RS_ACCESS_PERMISSION
Wenn die Objektkollisionsprüfung von Tabellenschlüsseln erforderlich ist, dann muss auch der Funktionsbaustein TRINT_ORDER_CHOICE geändert werden.
Abbildung 2: First modification of function module TRINT_ORDER_CHOICE
Wenn die Genehmigungsfunktionalität aktiviert ist, dann ist eine zweite Änderung am Ende des Funktionsbausteins TRINT_ORDER_CHOICE erforderlich.
Abbildung 3: Second modification of functions module TRINT_ORDER_CHOICE
4. Konfiguration
Die Konfiguration auf SAP System- und Mandantenebene wird im Conigma Repository Browser durchgeführt. Öffnen Sie den Pfad 'Konfiguration -> Infrastruktur und Kommunikation -> Systeme und Mandanten' und doppelklicken Sie auf das Entwicklungssystem. Gehen Sie auf die Registerkarte 'Systemspezifische Einstellungen', dort finden Sie den Parameter zum Aktivieren oder Deaktivieren der Objektkollisionsprüfung für dieses System.
Abbildung 4: Enable object collision check for a specific SAP system
Doppelklicken Sie nun auf das Entwicklungssystem in Conigma und wählen Sie die Registerkarte 'Objektkollisionsprüfung'.
Abbildung 5: Configuration on SAP system level
In der Tabelle können Sie alle Systeme angeben, die Sie in die Versionsprüfung für dieses Entwicklungssystem einbeziehen möchten.
Doppelklicken Sie nun auf den zugehörigen Entwicklungsmandant in Conigma und wählen Sie die Registerkarte 'Objektkollisionsprüfung'.
Abbildung 6: Configuration on SAP client level
In der Tabelle können Sie alle Systeme/Mandanten angeben, die Sie in die Versionsprüfung für dieses Entwicklungssystem einbeziehen möchten.
5. Benutzerschnittstelle
Das folgende Popup wird angezeigt, wenn eine Kollision erkannt wird:
Abbildung 7: User interface
Die entsprechenden Konfliktinformationen werden neben dem Typ und dem Namen des Objekts, das den Konflikt verursacht, angezeigt. Der obere Teil des Fensters enthält Informationen über das lokale System, das Table Control im unteren Teil enthält Informationen über die auf entfernten Systemen gefundenen Konflikte. Das Dialogfenster erscheint nur, wenn auf mindestens einem der zu überprüfenden Systeme ein Konflikt gefunden wurde. Obwohl die Kollisionsprüfung dieses Warn-Popup anzeigt, kann das Objekt weiterhin bearbeitet werden.