Checks to avoid issues when transporting ABAP objects
This blog is intended to provide certain proactive checks for the ABAP developers and Project Managers to avoid incidents in production and movement of unwanted changes to production.
I have encountered certain serious production disruptions because we would transport into production simply based on our test results in the development and test environment (QA).
Here are some simple checks in addition to the functional/business/technical tests that can avoid serious issues after transports to Production environment:
|Is the transport successful in QA?||In some cases, there have been certain failures in QA that have gone unnoticed. When transports move with these errors to production can result in disruption because of the differences w.r.t. the environment.|
|Are all tests in QA (related to the transport) successful?||It is important to have a holistic view on the results of the functional and technical tests related to the change the object carries.|
|Have you checked the objects in the transport?||
Are the objects in the transport the intended ones?
I have seen some cases where unwanted objects come along (due to developer oversight). There has also been a case where some intended objects were missed out.
|Have you checked the versions of each of the objects in DEV in the transport?||In one case, the Basis team was upgrading the support pack in our SAP CRM development & test environment, while the developer was changing an ABAP object. This behaved differently in production because the object interacts with certain function modules from SAP that were changed in the newer support pack.|
|Have you checked the versions of each of the objects in QA in the transport?||The above check needs to be done in the QA environment also.|
|Have you checked the versions of each of the objects in PROD in the transport?||The above check needs to be done in the Production environment also.|
|Did you do a WHERE-USED analysis of each of the objects in the transport?||Same object is being used by several other functionalities other than in the scope of testing. These ‘Other’ functionalities can be disrupted because of changes to the concerned object.|
|Are all the previous transports of the objects in question in QA?||As we know the sequence of transports is so important and thus a mandatory check on this will help.|
|Are all the previous transports of the objects in question in PROD?||The above check needs to be done in the Production environment also.|
|Are there any unreleased transports related to the objects in question?||Same object is being changed by two different developers either in parallel or in adjacent time periods. These objects have been tested independently but not together. They both move to production together and can cause serious incidents|
|Did you do a peer check with other members if they are working on the concerned objects for any other development requests?||As above.|