Was tun wenn im SAP der tp bzw. das TMS dauerhaft hängt?

In seltenen Fällen kann es vorkommen, dass es bei Nutzung des SAP Transport Management Systems (TMS) zu Problemen kommt. Dies äußert sich z.B. in schier endlos laufenden Transporten oder aber in Support Packages, die mitten im Importieren mit merkwürdigen Ressourcen-bezogenen Fehlern abrechen.

Gerade wenn es schnell gehen muss ist guter Rat teuer. Immerhin tritt das Problem nicht täglich auf und ist das TMS erst einmal konfiguriert ändert sich hier eigentlich auch nicht mehr viel.

Hier einige Schritte, die zu einer schnellen Lösung führen sollten:

1) Den Importmonitor prüfen.

Hierzu startet man die Transaktion STMS und ruft den Importmonitor auf – schneller geht es allerdings wenn man direkt die TX STMS_MONI öffnet. Bei dem entsprechenden Transport kann man den aktuellen Status bzw. aktiven Transportstatus sehen. Es bietet sich an alle 2-3 Minuten zu aktualisieren und ggf. auf eine Statusveränderung zu warten. Tut sich hier gar nichts kann man die Einträge der Transporte Löschen.

2) TP Syslog prüfen
Parallel zum ersten Schritt kann man das TP Syslog auf Einträge prüfen (TX STMS, Zielqueue auswählen, Springen und dann TP Systemlog wählen). Findet man hier keine Fehler bietet es sich an das STMS komplett zu prüfen um Grundlegende Probleme ausschließen zu können. Ggf. gibt es weitere Hinweise unter /usr/sap/<SID>/<INSTANZ>/work/dev_tp.

3) tp Prozesse abbrechen
Der nächste Schritt führt über das Betriebssystem. Kurz prüfen ob und wenn ja welche tp Prozesse aktuell laufen. Unter *nix artigen Systemen geht das wie folgt:

ps -ef | grep -i tp | grep -v grep

Die Prozesse kann man mit einem beherzten kill -9 <pid> beenden. Im Gateway Monitor (TX SMGW) müsste jetzt der entsprechende Verbindungsabbau für die gestarteten tp Prozesse sehen.

4) STMS Queue prüfen
In der STMS sollten jetzt keine LKW Symbole mehr zu sehen sein. Wenn doch über den Importmonitor die entsprechenden Transporteinträge löschen

5) Temporäres Verzeichnis prüfen
Im temp. Transportordner (/usr/sap/trans/tmp oder auch /usr/sap/trans/<SID>/tmp) sollten alle Rückstände der vorherigen Transporte beseitigt werden. Oft finden sich hier Sempohre-Dateien der tp Prozesse (LOB/LOC-Dateien) oder R3trans Control Files. Die Semaphore-Dateien sollte man natürlich nur löschen wenn man sicher ist, dass der tp Prozess definitiv nicht mehr läuft, da hierüber mehrere tp Prozesse ihre Ressourcen anfordern und sperren. Manchmal kann es vorkommen, dass nach einem fehlgeschlagenem Transport mit anschließendem Rollback die Dateien nicht wieder deaktiviert werden und somit für alle folgenden tp Prozesse der Lock über die Semaphore nicht mehr möglich ist (ewiges Warten auf die freie Ressource).

6) Tabellen prüfen
Folgende Tabellen sollten auf Einträge geprüft werden: TRBAT, TRJOB, TMSTLOCKP, TMSTLOCKR. Sind hier noch verweiste Einträge vorhanden diese bitte löschen (direkter DB-Zugriff oder per SM30). In der Tabelle TMSTLOCKR wird der betroffene Transport über TRKORR referenziert.

6. Transportjob prüfen.
Der Job RDDIMPDP sollte im System laufen. Ist dies nicht der Fall sollte er über den Mandant 000 neu eingeplant werden. Hierzu meldet man sich mit dem User DDIC an am Mandant 000 an und startet den Report RDDNEWPP. Der Job wird i.d.R. als Prio A Job eingeplant. Entsprechend muss mind. ein Batchprozess mit Prio A konfiguriert sein.

Nachdem die Schritte abgearbeitet/geprüft sind sollte der nächste Import wieder wie gewohnt erfolgreich vom TMS bearbeitet werden können.

About the author