{"id":37032,"date":"2024-09-04T09:47:28","date_gmt":"2024-09-04T07:47:28","guid":{"rendered":"https:\/\/www.blue.works\/?p=37032"},"modified":"2026-02-17T10:41:21","modified_gmt":"2026-02-17T09:41:21","slug":"alm-coffee-party-vi-charm-dos-and-donts","status":"publish","type":"post","link":"https:\/\/www.blue.works\/en\/alm-coffee-party-vi-charm-dos-and-donts\/","title":{"rendered":"ALM Coffee Party VI &#8211; ChaRM, Dos and Don&#8217;ts"},"content":{"rendered":"\n<p>Management Summary: Don&#8217;t think, just let the ChaRM machine run!&nbsp;<\/p>\n\n\n\n<p>There is a decades-long conflict between the way SAP ABAP transports are conceived and the way SAP customers want to handle them. ChaRM tries to enforce the SAP standard with gentle pressure, but has become more flexible over the years in line with customer requirements. However, this opens up treacherous traps into which SAP customers can stumble.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1647\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-01-1.jpg\" alt=\"\" class=\"wp-image-36868\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-01-1.jpg 1920w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-01-1-1024x878.jpg 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-01-1-768x659.jpg 768w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-01-1-1536x1318.jpg 1536w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/figure>\n\n\n\n<p>Here I would like to shed light on the conflict and uncover the most dangerous traps.&nbsp;<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">The ABAP transport system<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Do not intervene manually<\/h2>\n\n\n\n<p>Developers and customizers have been struggling with ABAP <a href=\"https:\/\/help.sap.com\/docs\/ABAP_PLATFORM_NEW\/4a368c163b08418890a406d413933ba7\/48c4300fca5d581ce10000000a42189c.html\">Change and Transport System (CTS)<\/a>. for more than 30 years, as long as R\/3 has been around.<\/p>\n\n\n\n<p>They see themselves as craftsmen or even artists and think in terms of individual changes, which they lovingly work on for a long time. When the artfully crafted workpiece is finally finished, it is packed into a transport, and this individual transport is then transferred to the production system like a package so that it can be imported by the Operating team &#8211; straight away, of course.&nbsp;<\/p>\n\n\n\n<p>But unfortunately for the artists, the CTS follows an industrial paradigm: the CTS is like an assembly line in which <strong>everything<\/strong>, but really everything, that is automatically recorded onto the conveyor belt <strong>must<\/strong> be transported into the production system <strong>in the same order<\/strong>.&nbsp;<\/p>\n\n\n\n<p>Ideally, this is done automatically with ChaRM.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"900\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-20-1.jpg\" alt=\"\" class=\"wp-image-37035\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-20-1.jpg 1200w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-20-1-1024x768.jpg 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-20-1-768x576.jpg 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/figure>\n\n\n\n<p>Attribution I Cory M. Grenier, <a href=\"https:\/\/creativecommons.org\/licenses\/by-sa\/2.0\">CC BY-SA 2.0<\/a>, via Wikimedia Commons<\/p>\n\n\n\n<p>This is because SAP, as a software manufacturer, has developed the CTS for its own purposes. The main objective of the CTS is a consistent transport landscape. A transport landscape is only consistent if development, QA, possibly PreProd and production have the same software version.<\/p>\n\n\n\n<p>Therefore, the golden rule to avoid chaos is: <strong>no manual intervention!<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"841\" height=\"649\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-04-2.png\" alt=\"\" class=\"wp-image-37037\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-04-2.png 841w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-04-2-768x593.png 768w\" sizes=\"(max-width: 841px) 100vw, 841px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">The golden rule<\/h2>\n\n\n\n<p>So the main rule is: <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">export order == import order<\/mark><\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The transport order &#8211; a hybrid<\/h3>\n\n\n\n<p>During development and customizing, the CTS collects every change in transport requests. Only the keys of the changed objects are recorded, not the objects themselves, i.e. the content.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1290\" height=\"696\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-21e.png\" alt=\"\" class=\"wp-image-37123\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-21e.png 1290w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-21e-1024x552.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-21e-768x414.png 768w\" sizes=\"(max-width: 1290px) 100vw, 1290px\" \/><\/figure>\n\n\n\n<p>This is important to understand, because it is therefore irrelevant in which order the transport requests are created, just as it is irrelevant in which order the objects are recorded &#8211; as long as the transport request is modifiable.&nbsp;<\/p>\n\n\n\n<p>Only when the transport request is released (exported) does the system (kernel programs <a href=\"https:\/\/help.sap.com\/docs\/ABAP_PLATFORM_NEW\/4a368c163b08418890a406d413933ba7\/3dad5a8a4ebc11d182bf0000e829fbfe.html\" target=\"_blank\" rel=\"noreferrer noopener\">tp<\/a> and <a href=\"https:\/\/help.sap.com\/docs\/ABAP_PLATFORM_NEW\/4a368c163b08418890a406d413933ba7\/3dad5c974ebc11d182bf0000e829fbfe.html\" target=\"_blank\" rel=\"noreferrer noopener\">R3trans<\/a>) read the database using those keys and save the read content in an archive file at operating system level.&nbsp;<\/p>\n\n\n\n<p>This means that the exported content has frozen the status it had at the time of export.&nbsp;<\/p>\n\n\n\n<p>A released transport request is therefore simultaneously a collection of keys in the database and an unchangeable archive at operating system level.&nbsp;<\/p>\n\n\n\n<p>A released transport request can therefore no longer be modified.&nbsp;<\/p>\n\n\n\n<p>If the objects are changed again later in the development system, the same keys are recorded in a new transport request. Upon release (export), this newer transport archive file will contain the latest version of the objects.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Downgrade And Overtaker&nbsp;<\/strong><\/h3>\n\n\n\n<p>As each transport request has time-dependent content, it is crucial that the older transport request is imported first and the newer one afterwards.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"350\" height=\"350\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-22-1.webp\" alt=\"\" class=\"wp-image-37041\"\/><\/figure>\n\n\n\n<p>Downgrade protection attempts to enforce precisely this conveyor belt sequence by preventing the later import of the older transport request. Overwriting the newer version of an object with an older one is called a downgrade; the older transport request has thus overtaken the newer one.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/www.youtube.com\/watch?v=rUVEFkjqiEE\" title=\"\">With a little help from my ChaRM<\/a><\/h2>\n\n\n\n<p>I have already explored the benefits of introducing ChaRM <a href=\"https:\/\/www.blue.works\/en\/alm-coffee-party-iii-why-charm-part-3\/\" target=\"_blank\" rel=\"noreferrer noopener\">in this blog<\/a>. Here too, the more you stubbornly let the machine belt run &#8211; without manual intervention! &#8211; the better you live.\u00a0<\/p>\n\n\n\n<p>But fiddling around in the assembly line is not always the cause of annoyance and stress. Well-intentioned but inadequate architecture is also sufficient.&nbsp;<\/p>\n\n\n\n<p>It becomes problematic if, on the one hand, you want to separate project and maintenance cleanly, but on the other hand you ignore the recommendations of <a href=\"https:\/\/www.blue.works\/en\/alm-coffee-party-v-dual-landscape-part-1\/\" target=\"_blank\" rel=\"noreferrer noopener\">this blog series<\/a> and force both project and maintenance into a single system landscape because you are afraid of the costs of additional SAP ABAP systems.\u00a0<\/p>\n\n\n\n<p>Everything looks neat and tidy on the presentation slides, but in practice it massively clashes.&nbsp;<\/p>\n\n\n\n<p>What is happening here?&nbsp;<\/p>\n\n\n\n<p>As both have their own cycle and their own task list, their transports belong to different CTS projects; there is no joint import, as ChaRM only imports per cycle and not across cycles.&nbsp;<\/p>\n\n\n\n<p>Maintenance corrections usually go into production much faster than the slow, phase-controlled project changes.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1277\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-23-1-1920x1277.jpg\" alt=\"\" class=\"wp-image-37045\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-23-1-1920x1277.jpg 1920w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-23-1-1024x681.jpg 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-23-1-768x511.jpg 768w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-23-1-1536x1021.jpg 1536w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-23-1-2048x1362.jpg 2048w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/figure>\n\n\n\n<p>Attribution&nbsp; II Rados\u0142aw Dro\u017cd\u017cewski (Zwiadowca21), <a href=\"https:\/\/creativecommons.org\/licenses\/by-sa\/4.0\">CC BY-SA 4.0<\/a>, via Wikimedia Commons<\/p>\n\n\n\n<p>Therefore, if the same object is changed both by the project work and by an error correction in maintenance, it can easily happen that a maintenance transport overtakes the project transports that have only been imported into the test system but not yet into the production system.&nbsp;<\/p>\n\n\n\n<p>Here we have a nice real-life example. An important customer class for sales was changed by five different developers within the scope of three change documents:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-fixed-layout\"><tbody><tr><td>TR<\/td><td>Export<\/td><td>Import QA<\/td><td>Import PreProd<\/td><td>Owner<\/td><td>Change<\/td><td>Status<\/td><td>CTS Project<\/td><\/tr><tr><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">DEVK922007<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">23.07.24 12:51<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">23.07.24 17:10<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">23.07.24 17:16<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">USR1<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">602542<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">TR to Retesting<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">DEV_P03<\/mark><\/td><\/tr><tr><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">DEVK922158<\/mark><\/td><td>30.07.24 12:54<\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">30.07.24 17:10<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">30.07.24 17:16<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">USR<\/mark>2<\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">602542<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">TR to Retesting<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">DEV_P03<\/mark><\/td><\/tr><tr><td><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#981e1e\" class=\"has-inline-color\">DEVK922389<\/mark><\/strong><\/td><td><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#981e1e\" class=\"has-inline-color\">14.08.24 14:49<\/mark><\/strong><\/td><td><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#ff0000\" class=\"has-inline-color\">14.08.24 17:11<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\"> <\/mark><\/strong><\/td><td><strong>&#8211;<\/strong><\/td><td><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#981e1e\" class=\"has-inline-color\">USR<\/mark><\/strong>3<\/td><td><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#981e1e\" class=\"has-inline-color\">851879<\/mark><\/strong><\/td><td><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#981e1e\" class=\"has-inline-color\">Being Corrected<\/mark><\/strong><\/td><td><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#981e1e\" class=\"has-inline-color\">DEV_P05<\/mark><\/strong><\/td><\/tr><tr><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">DEVK922591<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">14.08.24 17:01<\/mark><\/td><td><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">14.08.24 17:01<\/mark><\/strong><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">14.08.24 17:16<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">USR1<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">602542<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">TR to Retesting<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">DEV_P03<\/mark><\/td><\/tr><tr><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">DEVK922725<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">16.08.24 11:18<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">16.08.24 12:11<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">16.08.24 12:16<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">USR<\/mark>4<\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">602542<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">TR to Retesting<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">DEV_P03<\/mark><\/td><\/tr><tr><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">DEVK921089<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">19.08.24 18:01<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">19.08.24 18:01<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">19.08.24 18:31<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">USR<\/mark>5<\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">602490<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">TR to Retesting<\/mark><\/td><td><mark style=\"background-color:rgba(0, 0, 0, 0);color:#110f75\" class=\"has-inline-color\">DEV_P03<\/mark><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Blue fontcolor: project (DEV_P03), red fontcolor maintenance (DEV_P05), which coexist in a 4-system landscape. The table clearly shows how the older maintenance transport DEVK922389, which belongs to a different cycle, has overwritten the more recent project transport DEVK922591.&nbsp;<\/p>\n\n\n\n<p>There were also dependencies between the transports; the maintenance transport contained the implementation of a method to which later project transports referred. Result: RC=8.&nbsp;<\/p>\n\n\n\n<p>And since maintenance and project are interlinked like a zipper, it is not possible to establish a proper sequence for the go-live. A situation to tear your hair out!&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"658\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-24-1.jpg\" alt=\"\" class=\"wp-image-37047\" style=\"width:324px;height:auto\"\/><\/figure>\n\n\n\n<p>Attribution&nbsp; III Caravaggio, Public domain, via Wikimedia Commons<\/p>\n\n\n\n<p>In such chaotic cases, only the \u201cfountain of youth method\u201d remains.&nbsp;<\/p>\n\n\n\n<p>Two of the three change documents, one for maintenance and one for project, were reset in status so that two transport requests could be created, one within the maintenance cycle, the other within the project cycle.&nbsp;<\/p>\n\n\n\n<p>The parts list of all involved transport requests was copied into both transports and they were released practically simultaneously; both were then set live on the same weekend. Since both transports contained the identical latest status on release, and since both transports were the latest and last in the import queue of the production system, their order was now irrelevant.&nbsp;<\/p>\n\n\n\n<p>Unfortunately, this only works if you act so quickly that no other changes have already been made to the objects that would first require a tester approval.&nbsp;<\/p>\n\n\n\n<p>Conclusion:<\/p>\n\n\n\n<p>Never, never ever run a maintenance cycle and a project cycle in one and the same transport landscape, but either use the preliminary functionality for work items for corrections, or establish <a href=\"https:\/\/www.blue.works\/en\/alm-coffee-party-v-dual-landscape-part-1\/\" target=\"_blank\" rel=\"noreferrer noopener\">two transport landscapes with retrofit<\/a>.\u00a0<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Excursus: Decoupling transports<\/h1>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"457\" height=\"298\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-05-2.png\" alt=\"\" class=\"wp-image-37049\"\/><\/figure>\n\n\n\n<p>Attribution V Uri-Levy, <a href=\"https:\/\/creativecommons.org\/licenses\/by-sa\/3.0\">CC BY-SA 3.0<\/a>, via Wikimedia Commons<\/p>\n\n\n\n<p>A favourite sport of developers and customizers is the cheerful rearrangement of their work packages, i.e. their change documents.&nbsp;<\/p>\n\n\n\n<p>New change documents are created, old ones should be deleted, but this is not possible, so they should at least be withdrawn. However, this only works if these change documents have no or only empty transport requests.&nbsp;<\/p>\n\n\n\n<p>However, if the change document has transport requests that are not empty, these must be reassigned beforehand.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Reassignment of a changeable transport<\/h2>\n\n\n\n<p>There is no direct drag&amp;drop reassignment.&nbsp;<\/p>\n\n\n\n<p>First you have to decouple the transport request from its change document, only then can you assign it to the other change document.&nbsp;<\/p>\n\n\n\n<p>Both activities are hidden in the \u201cMore\u201d menu of the Transport Management block:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1396\" height=\"243\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/PIc-06-2.png\" alt=\"\" class=\"wp-image-37051\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/PIc-06-2.png 1396w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/PIc-06-2-1024x178.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/PIc-06-2-768x134.png 768w\" sizes=\"(max-width: 1396px) 100vw, 1396px\" \/><\/figure>\n\n\n\n<p>These actions are more visible in Focused Build:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1394\" height=\"507\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-07-2.png\" alt=\"\" class=\"wp-image-37053\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-07-2.png 1394w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-07-2-1024x372.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-07-2-768x279.png 768w\" sizes=\"(max-width: 1394px) 100vw, 1394px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Decoupling Transport Request&nbsp;<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"483\" height=\"634\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-08-2.png\" alt=\"\" class=\"wp-image-37055\" style=\"width:385px;height:auto\"\/><\/figure>\n\n\n\n<p>After the decoupling, the transport disappeared from the ChaRM administration. It has also lost its connection to the CTS project. However, a trace of the past relationship still remains (in addition to the ID of the old change document in the short text):<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"636\" height=\"467\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-09-2.png\" alt=\"\" class=\"wp-image-37057\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Assign transport order<\/h3>\n\n\n\n<p>We link the lone transport to an Urgent Change that belongs to a different cycle. The transport is now assigned a new, different CTS project:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"643\" height=\"467\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-10-2.png\" alt=\"\" class=\"wp-image-37060\"\/><\/figure>\n\n\n\n<p>And the ChaRM administration now lists the transport under the Urgent Change task list:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"513\" height=\"596\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-11-2.png\" alt=\"\" class=\"wp-image-37062\" style=\"width:388px;height:auto\"\/><\/figure>\n\n\n\n<p>If you have activated the BAdI \/TMWFLOW\/ASSIGN_TRANS_DESC_UPD (IMG \u201cBAdI: Change Description after Assign Transport Request to Change Document\u201d), the ID of the new change document is entered in the transport request short text, see SAP Note <a href=\"https:\/\/me.sap.com\/notes\/2849745\/E\" target=\"_blank\" rel=\"noreferrer noopener\">2849745 \u00abRename transport request when reassigning to a new change<\/a>\u00bb&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Decoupling a released transport<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Spoiler: It does not work.<\/h3>\n\n\n\n<p>By default, this action is only offered in the \u201cDevelopment\u201d status, in all other statuses the menu entry is inactive:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"827\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-12-4-1920x827.png\" alt=\"\" class=\"wp-image-37064\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-12-4-1920x827.png 1920w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-12-4-1024x441.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-12-4-768x331.png 768w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-12-4-1536x662.png 1536w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-12-4-2048x882.png 2048w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/figure>\n\n\n\n<p>We are clever and change the customizing to allow the action for status E0009 \u201cTestedOK\u201d after all:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"414\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-13-2-1920x414.png\" alt=\"\" class=\"wp-image-37066\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-13-2-1920x414.png 1920w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-13-2-1024x221.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-13-2-768x166.png 768w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-13-2-1536x331.png 1536w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-13-2-2048x441.png 2048w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"833\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-14-3-1920x833.png\" alt=\"\" class=\"wp-image-37068\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-14-3-1920x833.png 1920w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-14-3-1024x444.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-14-3-768x333.png 768w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-14-3-1536x666.png 1536w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-14-3-2048x888.png 2048w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1319\" height=\"682\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-15-2.png\" alt=\"\" class=\"wp-image-37070\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-15-2.png 1319w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-15-2-1024x529.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-15-2-768x397.png 768w\" sizes=\"(max-width: 1319px) 100vw, 1319px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">And it does work!<\/h3>\n\n\n\n<p>However, since this activity is extremely popular, I have written the report \/BLUWRKS\/TRANSPORT_DELETE, which frees change documents from transport requests that have already been released:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"786\" height=\"235\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-16-2.png\" alt=\"\" class=\"wp-image-37072\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-16-2.png 786w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-16-2-768x230.png 768w\" sizes=\"(max-width: 786px) 100vw, 786px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"855\" height=\"230\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-17-2.png\" alt=\"\" class=\"wp-image-37074\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-17-2.png 855w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-17-2-768x207.png 768w\" sizes=\"(max-width: 855px) 100vw, 855px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1084\" height=\"251\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-18-2.png\" alt=\"\" class=\"wp-image-37076\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-18-2.png 1084w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-18-2-1024x237.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-18-2-768x178.png 768w\" sizes=\"(max-width: 1084px) 100vw, 1084px\" \/><\/figure>\n\n\n\n<p>E voila:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1449\" height=\"766\" src=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-19-2.png\" alt=\"\" class=\"wp-image-37078\" srcset=\"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-19-2.png 1449w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-19-2-1024x541.png 1024w, https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-19-2-768x406.png 768w\" sizes=\"(max-width: 1449px) 100vw, 1449px\" \/><\/figure>\n\n\n\n<p>The change document can now finally be withdrawn.&nbsp;<\/p>\n\n\n\n<p>This report is selling like hot cakes (Semmeln), as we would say here in Munich.&nbsp;<\/p>\n\n\n\n<p>By the way, in task lists with Central CTS you can also reassign transport requests that have already been released, but cCTS is quite slow and therefore unpopular.&nbsp;<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>There is a decades-long conflict between the way SAP ABAP transports are conceived and the way SAP customers want to handle them. ChaRM tries to enforce the SAP standard with gentle pressure, but has become more flexible over the years in line with customer requirements. However, this opens up treacherous traps into which SAP customers can stumble.\u00a0<\/p>\n","protected":false},"author":16,"featured_media":37034,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[351],"tags":[352],"class_list":["post-37032","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-alm-coffee-party-the-alm-magazine","tag-coffee-party"],"acf":[],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/www.blue.works\/wp-content\/uploads\/2024\/09\/Pic-02-3-scaled.jpg","_links":{"self":[{"href":"https:\/\/www.blue.works\/en\/wp-json\/wp\/v2\/posts\/37032","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.blue.works\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.blue.works\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.blue.works\/en\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blue.works\/en\/wp-json\/wp\/v2\/comments?post=37032"}],"version-history":[{"count":17,"href":"https:\/\/www.blue.works\/en\/wp-json\/wp\/v2\/posts\/37032\/revisions"}],"predecessor-version":[{"id":45074,"href":"https:\/\/www.blue.works\/en\/wp-json\/wp\/v2\/posts\/37032\/revisions\/45074"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.blue.works\/en\/wp-json\/wp\/v2\/media\/37034"}],"wp:attachment":[{"href":"https:\/\/www.blue.works\/en\/wp-json\/wp\/v2\/media?parent=37032"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blue.works\/en\/wp-json\/wp\/v2\/categories?post=37032"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blue.works\/en\/wp-json\/wp\/v2\/tags?post=37032"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}