Zu, de Thread habe ich doch glatt übersehen - dabei ist das eigentlich mein Spezialthema, weil mich inzwischen mehrere Kunden auf die hier genannten Probleme angesprochen habe.
Zunächst:
ewx hat geschrieben:
Zudem kann man da noch Änderungen dokumentieren, was wohl für Pharma-Firmen wichtig und interessant ist.
Das ist nicht nur wichtig und interessant, die MÜSSEN das dokumentieren, schon aus Audit-Gründen. Daran hängt unter anderem nicht weniger als die Existenz des Unternehmens.
airwaver hat geschrieben:Mich würde mal interessieren, wie in euren Firmen der Lebenszyklus eines ABAP-Programms vom Anlegen bis zum Produktivgang ist.
Im Grunde genommen beschreibst du einen Umgang mit dem Transportwesen aus den 80er Jahren (was unter Nennung des Unternehmensnamens nicht witzig ist), was ein deutliches Zeichen von Rückständigkeit und Unverständnis in der Thematik ausdrückt.
Ich habe eine ganze Reihe von Kunden, bei denen die Situation sehr unterschiedlich ist:
1. We are in the 80s, dude!
Ein Kunde machte das genau so wie du beschrieben hast, bis ich in einem Vortrag dargelegt habe, wie rückständig das ist. Das wollte der Kunde so nicht hören, gesagt habe ich es ihm trotzdem in diesen Worten. Wir hatten zum Teil hunderte Transportaufträge in einer Produktivsetzung, die Fehlerhäufigkeit ist enorm.
Du weißt ja schon, dass eine Auftragsfreigabe die Sperre aufhebt, also kann sich ein anderer Entwickler das Objekt schnappen (zum Beispiel zur Fehlerkorrektur) und an dir vorbeitransportieren und BUMM.
Sammelaufträge sind Mist, weil die die aktuelle Version jedes Objektes in den Auftrag schreiben, das ist aber oft nicht erwünscht (weil zum Beispiel schon ein anderes Projekt an dem Ding dran ist oder eine Reparatur.
Wer so transportiert, hat zuviel Zeit und zuviel Geld.
2. Vertrauen Sie mir, ich weiß was ich tue
Schon besser ist es, den Auftrag gar nicht freizugeben, sondern bis vor der Produktivsetzung offen zu halten. Wenn DANN jemand an eines deiner Objekte rangeht, wird er benachrichtigt und kann keinen neuen Auftrag mit diesem Objekt erzeugen. Will er an dir vorbeitransportieren, muss er sich mit dir absprechen - eine Fehlerquelle weniger.
Die Frage ist also: Wie kriege ich die Objekte ins Testsystem????
Hier gibt es mehrere Wege: Man kann unmittelbar nach der Freigabe einen neuen Auftrag anlegen und die Objekte des freigegebenen Auftrages darin aufnehmen. Dann muss man nur den letzten produktivsetzen und kann alle anderen in der Queue löschen / ablehnen lassen. Ein Verfahren, das Auditoren GAR nicht mögen. Das ist etwa das, was ST22 automatisiert macht.
Außerdem sollte man daran denken, dass man mit jeder Transportfreigabe eine Version jedes enthaltenen Objektes erzeugt. Wenn du einen Transportauftrag mit 50 Objekten hast, eine Codingzeile änderst und den Auftrag freigibst, hast du von 49 Objekten eine Version angelegt, die identisch zur vorherigen ist. Mach das oft genug und du findest nie mehr was wieder. Das ist die Schwäche beim Konzept von st22.
Da ist es schon klüger, einen Transport von Kopien anzulegen und diesen zu transportieren und den ursprünglichen Auftrag gar nicht freizugeben (im Groben macht das der Solution Manager so). Das macht aber NUR Sinn, wenn man alle nicht geänderten Objekte rauswirft, die nicht geändert wurden, sonst schreibst du wieder identische Versionen.
Außerdem gibt es noch ZPOP - das ist ein Tool mit dem ich bei einem meiner Kunden erfolgreich arbeite (und der Entwickler seit viel mehr Jahren bei mehreren Kunden). Das kopiert Objekte via Filesystem von einer Maschine auf eine andere, ohne dabei Versionen zu schreiben. Quasi am TMS vorbei. Dieses Tool habe ich auch beim obigen Kunden (aus den 80ern) eingesetzt, als wir für ein Projekt eine eigene Maschine bekamen und Riesenbohei um den Anschluss an das Transportwesen gemacht wurde. Ich hab ZPOP installiert, so brauchten wir kein funktionierendes Transportwesen LOL
3. Arbeiten wie die Profis
Ein funktionierendes Transportwesen ist immer auch ein Element des Entwicklungsprozesses (das ist das, was der "80er Jahre Kunde" gar nicht hatte) und ein Glied in der Kette "Ticketaufnahme - Ticketzuweisung - Entwicklung - Test - Produktivsetzung - Dokumentation". (Beim letzten Punkt werden einige sagen:"Wasn das????")
So ist der Solution Manager ein recht gutes Tool, um diesen Prozess inkl. Dokumentation integriert hinzubekommen, es gibt aber auch andere. Insbesondere gibt es Non-SAP-Prozesse, weshalb viele Jira verwenden (finde ich gar nicht schlecht), dann gibt es aber Probleme mit der Integration, man kann Jira und SolMan nicht miteinander vernetzen.
Abgesehen braucht man den SolMan eh für den SAP Support....
Bei meinem aktuellen Kunden fühle ich mich wie im Paradies: Auf dem Entwicklungssystem ein Mandant mit guten Testdaten, kein Transport geht ohne bestandenen (und schriftlich dokumentierten!) Unit Test in das Testsystem. So hat man in der Regel ohnehin nur einen Auftrag. Nur wenn beim User Acceptance Test noch Bedarfe entstehen, gibt es einen weiteren. So viel Übersicht hatte ich noch NIE - bei keinem Kunden. Ich hoffe, ich darf hier noch lange arbeiten. Leider hat man sich beim Dokumentieren auf die überholten Werkzeuge Word+Excel+Filesystem verlassen, wo ich ein Wiki viel besser gefunden hätte.
Soviel von mir zu dem Thema...