{"id":39397,"date":"2025-03-21T13:40:38","date_gmt":"2025-03-21T12:40:38","guid":{"rendered":"https:\/\/www.blue.works\/?p=39397"},"modified":"2026-02-18T16:01:26","modified_gmt":"2026-02-18T15:01:26","slug":"alm-kaffeekranzchen-ix-features-mit-neuen-features-downgrade-protection","status":"publish","type":"post","link":"https:\/\/www.blue.works\/de\/alm-kaffeekranzchen-ix-features-mit-neuen-features-downgrade-protection\/","title":{"rendered":"ALM Kaffeekr\u00e4nzchen IX: Downgrade Protection\u00a0"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Einleitung<\/h2>\n\n\n\n<p>Es ist eine hehre Aufgabe, den riesigen, in seiner breiten Funktionalit\u00e4t einmaligen, \u00fcber mehr als zwanzig Jahren gewachsenen SAP Solution Manager, liebevoll SolMan genannt, mit SAP Cloud ALM zu ersetzen.<\/p>\n\n\n\n<p>Ein Leuchtturm-Szenario des SolMans ist der ChaRM (Change Request Management). Als ChaRM-Experte beobachte ich nat\u00fcrlich das Werden der analogen Cloud ALM \u00abFeatures\u00bb, einen ersten Rundgang habe ich <a href=\"\/de\/cloud-alm-kaffeekraenzchen-viii\/\">hier beschrieben<\/a>\u00a0. Und wie in der am Ende zitierten Roadmap angek\u00fcndigt, sind jetzt mit 2025\/Q1 zwei Transport-Checks, n\u00e4mlich die DGP (Downgrade Protection) und der Cross-Reference-Check geliefert worden.<\/p>\n\n\n\n<p>Wie wertvoll die DGP ist, falls man nicht dem industriellen Paradigma des ABAP CTS (Change and Transport System) Folge leisten kann, habe ich <a href=\"\/de\/dos-and-donts\/\">hier<\/a>\u00a0 verdeutlicht. Wir wollen uns daher auf diese neue Cloud ALM Funktionalit\u00e4t konzentrieren.<\/p>\n\n\n\n<p>Ich werde dabei an passenden Stellen den Cloud DGP mit dem DGP im Solution Manager vergleichen.<\/p>\n\n\n\n<p>Hier eine kurze Gegen\u00fcberstellung der \u00dcberpr\u00fcfungen in Cloud ALM und SolMan:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#1d57a5\" class=\"has-inline-color\">SAP Solution Manager<\/mark><\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#1d57a5\" class=\"has-inline-color\">Cloud ALM<\/mark><\/strong><\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">CSOL Check<\/td><td class=\"has-text-align-center\" data-align=\"center\">.\/.<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Release Check<\/td><td class=\"has-text-align-center\" data-align=\"center\">.\/.<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">&nbsp;Predecessor Check<\/td><td class=\"has-text-align-center\" data-align=\"center\">Potential Downgrade<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Imminent Check<\/td><td class=\"has-text-align-center\" data-align=\"center\">Imminent Downgrade<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">.\/.<\/td><td class=\"has-text-align-center\" data-align=\"center\">Intrinsic Downgrade<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Wie man sehen kann, fehlen noch die Cross System Object Lock (CSOL) \u00dcberpr\u00fcfungen. Neu ist der \u00abIntrinsic Downgrade\u00bb, der dann feuert, wenn mehr als ein Transport in einem Feature vorhanden ist, eins dieser Transporte aber ausserhalb vom Feature, manuell, in eine falsche Reihenfolge gebracht wurde (z.B. durch einen direkten Import in der STMS). Dazu sp\u00e4ter mehr.<\/p>\n\n\n\n<p>Die Einrichtung dieser wichtigen \u00dcberpr\u00fcfungen wird ausf\u00fchrlich in der <a href=\"https:\/\/help.sap.com\/docs\/cloud-alm\/applicationhelp\/transport-checks?sap-outbound-id=249D2D38DF80B35A0740D85D9A728552D4B1D8A1&amp;smc_campaign_id=0000047069&amp;source=email-smc\">SAP Hilfe<\/a> dokumentiert, sie soll daher hier nicht wiederholt werden.<\/p>\n\n\n\n<p>Die Implementierung der dort als Voraussetzung vorgegebenen Hinweise gestaltete sich bei dem ST-PI Stand 740 SP28 v\u00f6llig problemlos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Einschr\u00e4nkungen<\/h2>\n\n\n\n<p>Die oben zitierte SAP Help Seite erw\u00e4hnt, dass die zwei neuen Checks nur f\u00fcr Transporte durchgef\u00fchrt werden, die auf den Import in das Produktivsystem (hier production tenant genannt) warten oder bereits importiert worden sind (?!). Das ist eine gewichtige Einschr\u00e4nkung, denn es ist bekannt, dass die Kosten der Fehlerbehebung niedriger sind, wenn diese fr\u00fch erkannt werden (\u00ab<a href=\"https:\/\/de.wikipedia.org\/wiki\/Fehlerkosten#10er-Regel_der_Fehlerkosten\">10er-Regel der Fehlerkosten<\/a>&nbsp;\u00bb).<\/p>\n\n\n\n<p>Zu den Freuden der agilen Software-Entwicklung geh\u00f6rt, dass Funktionen nur scheibchenweise geliefert werden. Daher setzte ich meine ganze Hoffnung auf das von mir gr\u00fcn markierte Adverb aus dem SAP Help Text: &#171;<em>Transport checks are only possible for production systems. Pre-production and quality assurance systems are <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">currently<\/mark><\/strong> <mark style=\"background-color:rgba(0, 0, 0, 0);color:#219b6e\" class=\"has-inline-color\"><\/mark>not supported<\/em>.&#187;. Ich deduziere daher, dass bald auch das PreProd System in den Genuss dieser \u00dcberpr\u00fcfungen kommen wird (<em>Eigentlich bin ich fast sicher, denn &#8211; ich gebe es zu -, ich habe einfach den Produktmanager gefragt<\/em>).<\/p>\n\n\n\n<p>Eine weitere Einschr\u00e4nkung, dass n\u00e4mlich das Produktivsystem das letzte System eines Transportweges sein muss, k\u00f6nnte eine \u00c4nderung der bestehenden Transportlandschaft erzwingen, es ist n\u00e4mlich beliebt, ein Schulungssystem als Belieferung durch das Produktivsystem einzurichten.<\/p>\n\n\n\n<p>Schlie\u00dflich, die Einschr\u00e4nkung, dass Quell-System und Ziel-System auf unterschiedlichen physischen Systemen residieren sollen, macht mir etwas Sorgen, denn ich habe nun mal nur ein einziges Sandbox-System mit unterschiedlichen Mandanten zum Spielen. Wir werden sehen\u2026. (Spoiler: es hat trotzdem alles funktioniert, zum Gl\u00fcck!)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ausblick<\/h2>\n\n\n\n<p>Zurzeit (Anfang M\u00e4rz 2025) sind diese \u00dcberpr\u00fcfungen nur innerhalb eines Features m\u00f6glich, doch ich kann in der <a href=\"https:\/\/roadmaps.sap.com\/board?range=CURRENT-LAST&amp;PRODUCT=73554900100800002513#Q1%202025;INNO=81C4C671B92A1EDFA4AEA6242FFD649C\">Roadmap<\/a> sehen, dass sie bald f\u00fcr mehrere Features gleichzeitig m\u00f6glich sein werden:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1480\" height=\"598\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic002.png\" alt=\"\" class=\"wp-image-39404\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic002.png 1480w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic002-1024x414.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic002-768x310.png 768w\" sizes=\"(max-width: 1480px) 100vw, 1480px\" \/><\/figure>\n\n\n\n<p>Ich bin mir fast sicher [<em>auch hierzu habe ich einfach den Produktmanager gefragt<\/em>], dass so eine Block-\u00dcberpr\u00fcfung auch im Rahmen der frischen <a href=\"https:\/\/help.sap.com\/docs\/cloud-alm\/applicationhelp\/deploying-several-features?sap-outbound-id=249D2D38DF80B35A0740D85D9A728552D4B1D8A1&amp;smc_campaign_id=0000047069&amp;source=email-smc\">&#171;Deployment&#187; App<\/a> m\u00f6glich sein wird! Vermutlich verbirgt sie sich hinter <a href=\"https:\/\/roadmaps.sap.com\/board?range=CURRENT-LAST&amp;PRODUCT=73554900100800002513#Q1%202025;INNO=951BE4DE95861EDDA3A13773C4B207C7\">dieser geheimnisvollen Roadmap-Ank\u00fcndigung f\u00fcr Q1 2026<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/praxisphilosophie.de\/gramsci_philosophy_of_praxis_thomas.pdf\">Praxis<\/a><\/h2>\n\n\n\n<p>Wir testen wie \u00fcblich auf unserem Sandbox-System BSS mit unterschiedlichen Mandanten:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1631\" height=\"290\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic001.png\" alt=\"\" class=\"wp-image-39406\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic001.png 1631w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic001-1024x182.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic001-768x137.png 768w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic001-1536x273.png 1536w\" sizes=\"(max-width: 1631px) 100vw, 1631px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Erster DGP Test<\/h2>\n\n\n\n<p>Wir m\u00f6chten eine DGP Kollision innerhalb eines Feature erzeugen. Dazu legen wir ein Feature mit zwei Customizing Transporten an:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1393\" height=\"483\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic005.png\" alt=\"\" class=\"wp-image-39409\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic005.png 1393w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic005-1024x355.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic005-768x266.png 768w\" sizes=\"(max-width: 1393px) 100vw, 1393px\" \/><\/figure>\n\n\n\n<p>Jetzt kitzeln wir etwas die Transporte.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"229\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic007.png\" alt=\"\" class=\"wp-image-39412\"\/><\/figure>\n\n\n\n<p>Diese Neuanlage wird in Transport BSSK901969 &#171;6-60: RE DGP Check 1 &#8211; Two Transports: Older&#187; aufgezeichnet:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"829\" height=\"350\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic008.png\" alt=\"\" class=\"wp-image-39414\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic008.png 829w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic008-768x324.png 768w\" sizes=\"(max-width: 829px) 100vw, 829px\" \/><\/figure>\n\n\n\n<p>Wir exportieren diesen Transport, womit er nicht mehr \u00e4nderbar ist. Ergebnis:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1413\" height=\"199\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic009.png\" alt=\"\" class=\"wp-image-39416\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic009.png 1413w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic009-1024x144.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic009-768x108.png 768w\" sizes=\"(max-width: 1413px) 100vw, 1413px\" \/><\/figure>\n\n\n\n<p>Jetzt \u00e4ndern wir den Eintrag und zeichnen diese \u00c4nderung in den Transport <a>BSSK901967<\/a> &#171;6-60: RE DGP Check 1 &#8211; Two Transports: Newer&#187; auf:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"668\" height=\"48\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic010.png\" alt=\"\" class=\"wp-image-39418\" style=\"width:840px;height:auto\"\/><\/figure>\n\n\n\n<p>\u00dcbrigens taucht kein Warnungs-Popup auf, wie er sonst bei aktivem SolMan CSOL beim Speichern die Customizer informiert, in welchen weiteren Transporten derselbe Eintrag bereits aufgezeichnet ist. Wir sind gespannt, was in <a href=\"https:\/\/roadmaps.sap.com\/board?range=CURRENT-LAST&amp;PRODUCT=73554900100800002513#Q1%202025;INNO=4FD2997F86061EEF879A6B82D7E45EEB\">Q4 2005 als &#171;Cross-system object lock foundation for retrofit&#187;<\/a> kommen wird!<\/p>\n\n\n\n<p>Wir exportieren BSSK901967.<\/p>\n\n\n\n<p>Die Import-Reihenfolge f\u00fcr das QA-System BSS.803 ist korrekt:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1661\" height=\"216\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic011.png\" alt=\"\" class=\"wp-image-39420\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic011.png 1661w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic011-1024x133.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic011-768x100.png 768w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic011-1536x200.png 1536w\" sizes=\"(max-width: 1661px) 100vw, 1661px\" \/><\/figure>\n\n\n\n<p>Da wir es sehr eilig haben, importieren wir BSSK901967 direkt in der STMS Import Queue \u2013 es gibt ja keine CTS Projektschalter mehr, die dies verhindern! Damit verletzen wir die Import-Reihenfolge auch der Folgesysteme!<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1640\" height=\"212\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic012.png\" alt=\"\" class=\"wp-image-39422\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic012.png 1640w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic012-1024x132.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic012-768x99.png 768w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic012-1536x199.png 1536w\" sizes=\"(max-width: 1640px) 100vw, 1640px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1490\" height=\"334\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic013.png\" alt=\"\" class=\"wp-image-39424\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic013.png 1490w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic013-1024x230.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic013-768x172.png 768w\" sizes=\"(max-width: 1490px) 100vw, 1490px\" \/><\/figure>\n\n\n\n<p>Man kann nat\u00fcrlich vertrauen, dass niemand einen solchen manuellen Eingriff vornimmt. Doch vielleicht sollte man es sich genau \u00fcberlegen, ob man nicht doch per Berechtigungskonzept die M\u00f6glichkeit stark einschr\u00e4nkt, direkt in der STMS Import Queue Importe zu starten.<\/p>\n\n\n\n<p>Wir deployen das Feature zwei Mal, es hat damit das PreProd System BSS.804 erreicht und wartet, in das Prod System BSS.805 importiert zu werden:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1474\" height=\"437\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic014.png\" alt=\"\" class=\"wp-image-39426\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic014.png 1474w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic014-1024x304.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic014-768x228.png 768w\" sizes=\"(max-width: 1474px) 100vw, 1474px\" \/><\/figure>\n\n\n\n<p>Die DGP Falle steht bereit:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"974\" height=\"155\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/image-9.png\" alt=\"\" class=\"wp-image-39430\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/image-9.png 974w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/image-9-768x122.png 768w\" sizes=\"(max-width: 974px) 100vw, 974px\" \/><\/figure>\n\n\n\n<p>Wir f\u00fchren den DGP-Check aus dem einzelnen Feature aus:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"250\" height=\"237\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic021.png\" alt=\"\" class=\"wp-image-39432\" style=\"width:229px;height:auto\"\/><\/figure>\n\n\n\n<p>Tadaa!<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1621\" height=\"228\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic022.png\" alt=\"\" class=\"wp-image-39434\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic022.png 1621w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic022-1024x144.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic022-768x108.png 768w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic022-1536x216.png 1536w\" sizes=\"(max-width: 1621px) 100vw, 1621px\" \/><\/figure>\n\n\n\n<p>Klickt man als feinmotorisch begabter Mensch genau auf die Zahl \u00ab2\u00bb (es befinden sich ja zwei Tabellen-Eintr\u00e4ge in den Transporten), so navigiert man in ein neues Fenster, das m.E. auf sehr gelungene Weise \u00fcber die Probleme informiert:<\/p>\n\n\n\n<p><a id=\"_msocom_1\"><\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1625\" height=\"895\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic023.png\" alt=\"\" class=\"wp-image-39436\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic023.png 1625w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic023-1024x564.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic023-768x423.png 768w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic023-1536x846.png 1536w\" sizes=\"(max-width: 1625px) 100vw, 1625px\" \/><\/figure>\n\n\n\n<p>Wie erwartet, wird hier der \u00abIntrinsic Downgrade\u00bb Fehler gemeldet.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Zweiter DGP Test<\/h2>\n\n\n\n<p>Wir m\u00f6chten eine DGP Kollision zwischen zwei Features erzeugen. Dazu legen wir zwei Features mit je einem Customizing-Transport an:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"920\" height=\"413\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic003.png\" alt=\"\" class=\"wp-image-39438\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic003.png 920w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic003-768x345.png 768w\" sizes=\"(max-width: 920px) 100vw, 920px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"939\" height=\"593\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic004.png\" alt=\"\" class=\"wp-image-39440\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic004.png 939w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic004-768x485.png 768w\" sizes=\"(max-width: 939px) 100vw, 939px\" \/><\/figure>\n\n\n\n<p>Wie vorhin, zeichnen wir unterschiedliche \u00c4nderungen mit dem gleichen Transportschl\u00fcssel in die zwei unterschiedlichen Transporte mit unterschiedlichen Inhalten.<\/p>\n\n\n\n<p>Hier nur ein Beispiel f\u00fcr die erste \u00c4nderung.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"708\" height=\"240\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic006.png\" alt=\"\" class=\"wp-image-39442\"\/><\/figure>\n\n\n\n<p>Ich \u00fcberspringe jetzt die weiteren \u00c4nderungen, sie sind fast analog zum vorherigen Kapitel und komme zur entscheidenden Stelle, die die DGP \u00dcberpr\u00fcfung gestattet, diesmal verwenden wir die sch\u00f6ne \u00abTransport Analysis\u00bb App:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1713\" height=\"262\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic024.png\" alt=\"\" class=\"wp-image-39444\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic024.png 1713w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic024-1024x157.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic024-768x117.png 768w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic024-1536x235.png 1536w\" sizes=\"(max-width: 1713px) 100vw, 1713px\" \/><\/figure>\n\n\n\n<p>Der \u00dcberholer (Transport BSSK901965) steht bereit:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1645\" height=\"212\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic025.png\" alt=\"\" class=\"wp-image-39446\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic025.png 1645w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic025-1024x132.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic025-768x99.png 768w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic025-1536x198.png 1536w\" sizes=\"(max-width: 1645px) 100vw, 1645px\" \/><\/figure>\n\n\n\n<p>Wir starten den DGP Check in beiden Features fast gleichzeitig.<\/p>\n\n\n\n<p>Dieser Zustand als auch das Check-Ergebnis wird leider weder in der \u00abFeature Overview\u00bb, noch in der \u00abTransport Analysis\u00bb, noch in der ansonsten sehr ansprechenden \u00abFeature Traceability\u00bb angezeigt.<\/p>\n\n\n\n<p>Wir m\u00fcssen eins der zwei Features ausw\u00e4hlen und Refreshen st\u00e4ndig mit Geduld gewappnet den \u00abTransport Checks\u00bb Abschnitt mit dem Button \u00abrefresh\u00bb, bis der Job im ABAP System endlich gestartet ist und seinen Arbeitsauftrag durchgef\u00fchrt hat:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1570\" height=\"207\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic026.png\" alt=\"\" class=\"wp-image-39448\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic026.png 1570w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic026-1024x135.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic026-768x101.png 768w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic026-1536x203.png 1536w\" sizes=\"(max-width: 1570px) 100vw, 1570px\" \/><\/figure>\n\n\n\n<p>Das Ergebnis ist interessant. Das Feature mit dem \u00dcberholer-Transport zeigt n\u00e4mlich keine Probleme an. Eigentlich h\u00e4tte ich hier erwartet, dass es den Fehler &#171;Potential Downgrade&#187; anzeigen w\u00fcrde.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1601\" height=\"687\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic027.png\" alt=\"\" class=\"wp-image-39450\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic027.png 1601w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic027-1024x439.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic027-768x330.png 768w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic027-1536x659.png 1536w\" sizes=\"(max-width: 1601px) 100vw, 1601px\" \/><\/figure>\n\n\n\n<p>Nur im Feature, das einen Downgrade tats\u00e4chlich produzieren k\u00f6nnte, existiert eine rote Meldung, hier die entscheidenden Details:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"647\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic028-1920x647.png\" alt=\"\" class=\"wp-image-39452\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic028-1920x647.png 1920w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic028-1024x345.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic028-768x259.png 768w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic028-1536x518.png 1536w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic028-2048x691.png 2048w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/figure>\n\n\n\n<p>Doch so schlimm, wie es der \u00abImminent Downgrade\u00bb Langtext sagt, ist es nicht, denn beide Transporte sind ja noch nicht produktiv importiert worden. Wir k\u00f6nnen immer noch durch Einzel-Deploy der Features den korrekten Import durchf\u00fchren.<\/p>\n\n\n\n<p>Wir starten also den Deploy des Features \u00abRE DGP Check 2 &#8211; Older Transport\u00bb zuerst, warten bis der Import fertig ist, und starten dann den Deploy des neueren.<\/p>\n\n\n\n<p>So sah der Eintrag im PreProd System BSS.804 aus:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"749\" height=\"630\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic030.png\" alt=\"\" class=\"wp-image-39454\"\/><\/figure>\n\n\n\n<p>Eindeutig ein Downgrade!<\/p>\n\n\n\n<p>Und so sieht der Eintrag im Produktivsystem BSS.805 aus, dank unseres vorsichtigen Verhaltens:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"748\" height=\"622\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic031.png\" alt=\"\" class=\"wp-image-39458\"\/><\/figure>\n\n\n\n<p>Nat\u00fcrlich fragt man sich, was denn im PreProd System getestet wurde, aber das steht auf einem anderen Blatt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Bewertung<\/h2>\n\n\n\n<p>Der DGP Check funktioniert im Grossen und Ganzen gut. Wir fragen uns, ob das Ausfallen der Fehlermeldung \u00abPotential Downgrade\u00bb bei dem Feature \u00abRE DGP Check 2 &#8211; Newer Transport\u00bb eher ein Bug sein k\u00f6nnte.<\/p>\n\n\n\n<p>Das lange Warten auf die Ergebnisse des asynchronen Aufrufs k\u00f6nnte die Akzeptanz mindern. Ich habe noch nicht die Hoffnung aufgegeben, dass mein Verbesserungsvorschlag \u00ab<a href=\"https:\/\/influence.sap.com\/sap\/ino\/#\/idea\/310621\">Direct CTS Transport Handling by Feature via Cloud Connector<\/a>\u00bb, endlich angenommen wird.<\/p>\n\n\n\n<p>Zwei SAP Solution Manager F\u00e4higkeiten fehlen noch:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Die Automatik; die Checks m\u00fcssen, sozusagen freiwillig, vom Verantwortlichen gestartet werden, statt wie im SolMan beim Statuswechsel automatisch ausgef\u00fchrt zu werden<\/li>\n\n\n\n<li>Eine Import-Blockade, die erst durch eine berechtigte Person freigegeben werden muss, bevor der Import tats\u00e4chlich ausgef\u00fchrt wird.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Cross Reference Check<\/h3>\n\n\n\n<p>Wir durften auf einem Kundensystem auch den Cross Reference Check testen und er hat pr\u00e4chtig funktioniert. Dieser Check, auch RC=8-Check genannt, ist n\u00e4mlich Gold wert!<\/p>\n\n\n\n<p>Kurz gesagt, l\u00f6st er alle Objekte eines Workbench-Transports in ihre Grundelemente auf und f\u00fchrt f\u00fcr diese Elemente einen \u00abDependency Walk\u00bb durch, so dass er auch die implizit referenzierten Elemente ermittelt.<\/p>\n\n\n\n<p>F\u00fcr all diese vorausgesetzten Elemente \u00fcberpr\u00fcft der Check dann, ob sie im Zielsystem vorhanden sind und wenn ja, vergleicht er auch die Versionen. Bei L\u00fccken oder Unstimmigkeiten feuert er Fehler oder Warnungen. Denn wenn ich z.B. mit Transport A einen Include importiere, der ein Tabellenfeld referenziert, dessen Hinzuf\u00fcgung in Transport B aufgezeichnet wurde, der aber noch in Entwicklung ist (oh, wie h\u00e4ufig passiert so eine ungeschickte Architektur!), dann kracht es bei diesem Import mit einem Syntaxfehler.<\/p>\n\n\n\n<p>Wenn ich Pech habe, so war es eins dieser ZX-Erweiterungs-Includes im Vertrieb, die mehrmals in der Sekunde aufgerufen werden. In Nullkommanichts t\u00fcrmen sich im Produktivsystem Tausende von Short Dumps! Ich spreche hier aus Erfahrung. Da kann ein proaktiver Check, der den Schlamassel <strong>vor<\/strong> dem t\u00f6dlichen Import androht, den Karriereknick abwenden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wie funktioniert es?<\/h2>\n\n\n\n<p>Da es in einem Sandbox-System kaum m\u00f6glich ist, den Cross-Reference-Check durchzuf\u00fchren, konzentrieren wir uns hier auf den DGP Check.<\/p>\n\n\n\n<p>Die DGP war urspr\u00fcnglich Teil des CTS Plug-Ins, das seit <a href=\"https:\/\/me.sap.com\/notes\/1665940\">Netweaver Basis 7.40 SP10<\/a> Teil der Basis-Komponente geworden ist. Doch die Steuerung erfolgte im SolMan, und die Ergebnisse der \u00dcberpr\u00fcfungen wurden im SolMan in \/TMWFLOW\/DGP_CHK und \/TMWFLOW\/DGP_CNF zwischengespeichert, die Durchf\u00fchrung selbst in \/TMWFLOW\/DGP_ENT protokolliert.<\/p>\n\n\n\n<p>Jetzt wird der DGP Check nur noch im Produktivsystem durchgef\u00fchrt.<\/p>\n\n\n\n<p>Wie in meinem in der Einleitung zitierten Blog analysiert, holt sich ein Batch-Job im Produktivsystem diese DGP Aufgabe aus Cloud ALM und f\u00fchrt sie im Report \/SDF\/CALM_CDM_TR_SUB_CHECK aus. Er holt sich dazu die Transport-History aus dem Quell-System. Das Ergebnis der \u00dcberpr\u00fcfung (alles roger oder Liste der Konflikte) wird an den Cloud ALM Service &#8218;\/api\/transportCockpitService\/v1\/odata\/v4\/TransportCockpitService\/handleCheckResult&#8216; gesendet, es wird also in Cloud ALM gespeichert.<\/p>\n\n\n\n<p>Es stellt sich nat\u00fcrlich die Frage, welche Reorg-M\u00f6glichkeiten es in Cloud ALM gibt oder geben wird, da Cloud Speicher teuer ist.<\/p>\n\n\n\n<p>Hier als Beispiel die Protokolle aus dem Mandanten 000 eines gelungenen \u00dcberpr\u00fcfungslaufs f\u00fcr ein Feature (der Systembenutzer f\u00fcr die Batch-Jobs ist BG_CALM, und als \u00abTransaction Code\u00bb wird die RFC Destination angegeben, die in Transaktion \/SDF\/ALM_SETUP als &#171;Target ALM Description&#187; gepflegt wird)<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1696\" height=\"507\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic019.png\" alt=\"\" class=\"wp-image-39460\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic019.png 1696w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic019-1024x306.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic019-768x230.png 768w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic019-1536x459.png 1536w\" sizes=\"(max-width: 1696px) 100vw, 1696px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1648\" height=\"443\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic020.png\" alt=\"\" class=\"wp-image-39462\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic020.png 1648w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic020-1024x275.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic020-768x206.png 768w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic020-1536x413.png 1536w\" sizes=\"(max-width: 1648px) 100vw, 1648px\" \/><\/figure>\n\n\n\n<p>In den zugeh\u00f6rigen Job-Protokollen (SM37) steht das Identische drin.<\/p>\n\n\n\n<p>Ein Wermutstropfen: Weder erf\u00e4hrt man, welche Features die \u00dcberpr\u00fcfung getriggert haben, noch erf\u00e4hrt man, welche Transporte \u00fcberpr\u00fcft wurden.<\/p>\n\n\n\n<p>Hat man die \u00dcberpr\u00fcfung zeitnah aus mehr als einem Feature heraus getriggert, so wird f\u00fcr jedes Feature ein eigener Batch Report Lauf gestartet:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1404\" height=\"694\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic029.png\" alt=\"\" class=\"wp-image-39464\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic029.png 1404w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic029-1024x506.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic029-768x380.png 768w\" sizes=\"(max-width: 1404px) 100vw, 1404px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Anhang<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">RFC Verbindung<\/h3>\n\n\n\n<p>Nur eine kleine Bemerkung am Rande. Wir hatten dieses kleine W\u00f6rtchen in Hinweis <a href=\"https:\/\/me.sap.com\/notes\/3447901\">3447901 \u00abSet Up Transport Check for Feature in SAP Cloud ALM Change and Deploy Management\u00bb<\/a> \u00fcbersehen:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1371\" height=\"236\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic015-1.png\" alt=\"\" class=\"wp-image-39466\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic015-1.png 1371w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic015-1-1024x176.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic015-1-768x132.png 768w\" sizes=\"(max-width: 1371px) 100vw, 1371px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"428\" height=\"118\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic016.png\" alt=\"\" class=\"wp-image-39468\"\/><\/figure>\n\n\n\n<p>Obwohl die Validierung \u00abCheck use-cases\u00bb aus Transaktion \/SDF\/ALM_SETUP gr\u00fcnes Licht gab, brach der DGP Check trotzdem mit Fehler ab:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1093\" height=\"987\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic017.png\" alt=\"\" class=\"wp-image-39470\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic017.png 1093w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic017-1024x925.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic017-768x694.png 768w\" sizes=\"(max-width: 1093px) 100vw, 1093px\" \/><\/figure>\n\n\n\n<p>Kaum macht man es richtig, funktioniert alles:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"756\" height=\"217\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/Pic018.png\" alt=\"\" class=\"wp-image-39472\"\/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Es ist eine hehre Aufgabe, den riesigen, in seiner breiten Funktionalit\u00e4t einmaligen, \u00fcber mehr als zwanzig Jahren gewachsenen SAP Solution Manager, liebevoll SolMan genannt, mit SAP Cloud ALM zu ersetzen.<\/p>\n","protected":false},"author":16,"featured_media":39400,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[344],"tags":[251],"class_list":["post-39397","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-alm-kaffeekraenzchen-das-alm-magazin","tag-sap-cloud-alm-de"],"acf":[],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/www.blue.works\/wp-content\/uploads\/2025\/03\/fantasy-sunset-2025-02-10-14-37-49-utc-scaled.jpg","_links":{"self":[{"href":"https:\/\/www.blue.works\/de\/wp-json\/wp\/v2\/posts\/39397","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.blue.works\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.blue.works\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.blue.works\/de\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blue.works\/de\/wp-json\/wp\/v2\/comments?post=39397"}],"version-history":[{"count":18,"href":"https:\/\/www.blue.works\/de\/wp-json\/wp\/v2\/posts\/39397\/revisions"}],"predecessor-version":[{"id":45588,"href":"https:\/\/www.blue.works\/de\/wp-json\/wp\/v2\/posts\/39397\/revisions\/45588"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.blue.works\/de\/wp-json\/wp\/v2\/media\/39400"}],"wp:attachment":[{"href":"https:\/\/www.blue.works\/de\/wp-json\/wp\/v2\/media?parent=39397"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blue.works\/de\/wp-json\/wp\/v2\/categories?post=39397"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blue.works\/de\/wp-json\/wp\/v2\/tags?post=39397"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}