Skip to Content

Bugs in your custom ABAP code can be quite expensive when they impact critical business processes, which is why quality assurance of custom ABAP code is receiving more and more attention in business. Detecting bugs in early in the development stages before they can be moved across the landscape ensure that the cost and risk is minimal. SAP also develops a great deal of ABAP code, and for us as well, highest quality is our primary goal. To reach this goal, SAP offers the ABAP Test Cockpit (ATC) and Code Inspector as quality assurance tools for ABAP.

Both ATC and the Code Inspector are loosely integrated with the following quality management processes

  • Transport Organizer (transaction code SE09),
  • Quality Gate Management (QGM) in the Solution Manager
  • Change Request Management (ChaRM) in the Solution Manager

The goal of this blog is to highlight how ATC and Code Inspector checks are integrated and used in the context of Transport Organizer (SE09), QGM, and ChaRM and how ABAP ‘errors’ can be prevented from being transported across the landscape.


Global activation of ATC and Code Inspector checks in CTS


For all the three scenarios described above, the feature to trigger the checks during the release of a transport request must be globally activated by performing the following steps in the satellite or managed system:

  1. Start the transport organizer tool (SE03)
  2. Double click on entry ‘Global Customizing’
  3. Select the option ‘Globally activated’ for the option ‘check objects when request released’.


Behavior of ATC or Code Inspector checks in transport organizer (tcode SE09)


In the framework of the Change and Transport System (CTS), the Transport Organizer is a tool for managing the objects that gather the changes carried on during the development and configuration phases, and for transporting (i.e. copying) them to quality system first, and then to production system. The two kinds of objects used in the CTS are the Request and the Task.

The Request is the main container, which contains zero to any number of Tasks. The CTS automatically creates one task for each user who adds objects to the request (In fact the objects are added in the task itself).

When you want to transport the Request, you have to first release all the tasks of the request, and then the request itself. When it is released, the transport is done automatically or manually by the administrator. The transport goes across the landscape as defined in the transport routes.

The release of a transport request and task serves as the first quality gate to ensure that poor quality custom code is not transported across the landscape.


Steps involved in triggering ATC checks during the release of a transport request via transaction code SE09

  1. Globally activate checks during the release of a request
    • Start the transport organizer tool (SE03)
    • Double click on entry ‘Global Customizing’
    • Select the option ‘Globally activated’ for the option ‘check objects when request released’
  2. Go to transaction ATC and double click on ‘Configure ATC’.

          /wp-content/uploads/2015/04/1_681743.png

     3.     Under the ‘Transport tool integration section’, select the option ‘Block on any error (priority 1 and 2)*’ and save your changes.

             /wp-content/uploads/2015/04/2_681744.png

     4.      Releasing transport request (via SE09) containing errors will now be blocked.

The above steps illustrate how custom code with errors can be prevented from being transported across the landscape by blocking the transport request. However, in some cases, there may be a need to trigger ATC or Code Inspector checks during the release of a transport task. Currently, this option is not available as a standard. To address this requirement, SAP provides a standard BAdI ‘CTS_REQUEST_CHECK’ that can be implemented by customers, to trigger the checks during the release of a task. Step-by-step instructions on how to implement the checks at a task level can be found here:

http://scn.sap.com/community/abap/testing-and-troubleshooting/blog/2013/09/19/how-to-trigger-atc-or-code-inspector-checks-during-the-release-of-a-transport-task


Behavior of ATC or Code inspector checks in Quality Gate MANAGEMENT (QGM) or ChaRM

Quality Gate Management and ChaRM gives you an overview of the status of the software distribution of your projects. It gives an integrated and consistent overview of the implementation of changes to your SAP software solution, for all operational units of the various organizations in a company. This increases the transparency of the software change process. Quality Gate Management combines different software developments in one logical structure. These developments are in turn collected in projects. You can organize and monitor the distribution of software by projects and their changes.

Quality Gate Management is part of the SAP Solution Manager and is only available via the SAP Solution Manager work centre.

ATC and Code inspector checks are already partially integrated with QGM and ChaRM. This is possible because QGM and ChaRM use the same underlying CTS functionality. So when a request is being released which contain errors, the checks ensure that that request is not released via QGM or ChaRM.

A full-blown integration between ChaRM/QGM and ATC where different user inputs are possible in cases ATC errors/warnings etc. is currently under development(expected to be available in 2016).

Please find below screenshots of the code quality related ‘errors’ being prevented from being released in QGM and ChaRM.

/wp-content/uploads/2015/04/3_681745.png

/wp-content/uploads/2015/04/4_681764.png


Note:

To prevent the release of transport requests containing errors via QGM or ChaRM, it is a pre-requisite that the steps in section ‘behaviour of ATC or Code inspector checks in transport organizer (tcode SE09)’ are followed.

If the option ‘inform on error’ is selected in ATC/CI transport properties, then ChaRM and QGM does not get this information and the transport request is simply released without any additional information

For more information about ATC, please refer to the following link

http://scn.sap.com/docs/DOC-31773

For more information about QGM and ChaRM, please refer to the following link in service market place

https://websmp105.sap-ag.de/alm-processes

To report this post you need to login first.

4 Comments

You must be Logged on to comment or reply to a post.

  1. Errol Villanueva

    i got an interesting question from one of my customer whois interested in turning on this ATC check with ChaRM. the question is – is it possible to trigger the check on the TOC (transport of copies)? if yes, how?

    thanks!

    errol

    (0) 
  2. Yuankai Fan

    Hi Patrick,

    Is it possible for ChaRM to show the error/warning of code inspector and still be able to release the TR if the setting of ATC/code inspector is ‘Inform on errors’? Hard blocking on errors is sometimes difficult for customer to accept especially in case of urgent change.

    Thanks!

    Yuankai

    (0) 

Leave a Reply