Ansicht
Dokumentation

ISU_DEVCHECK_START_REPARATUR - IS-U Gerätechecker: Startet Reparatur für alle markierten Fehler

ISU_DEVCHECK_START_REPARATUR - IS-U Gerätechecker: Startet Reparatur für alle markierten Fehler

ABAP Short Reference   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Dieser Funktionsbaustein steuert den gesamten Prozess der Reparatur.

Als Parameter bekommt er die Analyse- und Versionsnummer, deren Fehler repariert werden sollen, sowie eine interne Tabelle mit den gefundenen Fehlern der Analysenversion.
Die interne Tabelle ist diejenige, die in dem Dynpro dargestellt wird, auf dem die Reparatur gestartet werden kann. Auf diesem Dynpro können die zu reparierenden Fehler ausgewählt werden.

Da in der reinen Analyse ohne das Setzen von Sperren analysiert wurde, kann es aufgrund von Dirty Reads zu erkannten Fehlern kommen, die eigentlich gar keine sind.

Deswegen wird vor der Reparatur eines fehlerhaften Objektes erneut analysiert, ob der Fehler immer noch auftritt oder z. B. aufgrund eines Dirty Reads in der Analyse oder da er bereits repariert wurde nicht mehr existiert.

Für diese einzelnen Analysen vor den Reparaturen wird genau eine neue Analyse angelegt, d. h. alle Analysen der einzelnen Fehler werden unter der gleichen Analysenummer durchgeführt. Für jeden neu zu analysierenden Fehler wird dann nur noch die Testkombination in der Analyse geändert. Damit muss nicht für jeden zu reparierenden Fehler für die zuvor durchgeführte Analyse eine neue Analyse auf der Datenbank angelegt werden.

Die Fehler, die durch die erneute Analyse gefunden wurden, werden nicht in der Tabelle EFLOG mitgeloggt, sondern nur in einer internen Tabelle gespeichert, die nach der speziellen Analyse ausgewertet wird. Nur wenn der gleiche Fehler erneut aufgetreten ist, wird der Fehler repariert.

Bevor die Reparatur beginnt, werden die gefundenen Fehler derart sortiert, dass Fehler, die durch einen SelfCheck gefunden wurden, am Anfang der Fehlertabelle stehen. Dadurch werden automatisch die Fehler zuerst repariert, die durch einen SelfCheck gefunden wurden, d. h., die Objekte selbst werden erst mal repariert, bevor Beziehungen zu anderen Objekten repariert werden.

Es werden nur Fehler repariert, deren Fehlerstatus weder auf 'Repariert' noch auf 'Fehler nicht mehr vorhanden' gesetzt ist.

Erneute Analyse eines Fehlers

In der internen Tabelle, in der die zu reparierenden Fehler an diesen Baustein übergeben werden, ist bereits zu jedem Fehler vermerkt, in welcher Testkombination der Fehler analysiert wurde. Für diese Testkombination wird nun erneut die Analyse für die fehlerhaften Objekte durchgeführt. Dazu wird aus dem Ausgangsobjekt der Wert für das Lauffeld der Testkombination ermittelt. Mit diesem Wert wird die Analyse später gestartet.

Nun wird die bereits angelegte Analyse mit dieser einen Testkombination für das fehlerhafte Objekt gefüllt.

Nach dieser Vorbereitung kann nun analysiert werden, ob der Fehler noch auftritt. Die Analyse wird jetzt im Gegensatz zur allgemeinen Analyse, bei der der Fehler das erste mal ermittelt wurde, mit Anfordern von Sperren durchgeführt. Dadurch kann es nicht mehr zu einem Dirty Read kommen. Wird jetzt der Fehler erkannt, so liegt er auch wirklich vor.

Reparatur eines Fehlers

Je nach Ausgang der Analyse wird nun unterschiedlich verfahren. Wurde der gleiche Fehler nicht mehr gefunden oder konnte mindestens eine der benötigten Sperren nicht gesetzt werden, so wird der Fehlerstatus in dem Fehlereintrag entsprechend gesetzt und die restlichen Sperren werden wieder freigegeben.

Wurde der Fehler in der Analyse erneut gefunden, so wird nun die Reparatur gestartet. Dazu wird aus der Tabelle EREP_FUBA der Name des Reparatur-Funktionsbausteines ermittelt, der für das Ausgangsobjekt zuständig ist.

Falls der Funktionsbaustein nicht existiert, wird dies im Fehlerstatus vermerkt, ansonsten wird der Reparaturbaustein aufgerufen. Je nachdem, wie der Funktionsbaustein beendet wurde, wird auch hier der Fehlerstatus entsprechend angepasst, d. h. es wird evtl. vermerkt, ob eine für die Reparatur benötigte Sperre nicht erhalten wurde oder ob eine Reparatur für diesen Fehler nicht implementiert ist.





Parameter

XYT_TEST_ITAB
X_ANANR
X_VERSN

Ausnahmen

Funktionsgruppe

EDEC

RFUMSV00 - Advance Return for Tax on Sales/Purchases   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4920 Date: 20240523 Time: 131549     sap01-206 ( 111 ms )