Premier Partners:   Supported by:   Produced by:
Worried about the cost of your
           SAP Custom code?
            Tony de Thomasis
           Alisdair Templeton
                   SAPWORKS
What we will cover
•   Why control Custom Code?
•   Transparency - How much?
•   Control – How often?
•   Optimisation – How well?
•   Q&A




                               M ast e ring SA P T e chn ologies 201 3| 3
Why control Custom code?
• SAP delivered software
   • Standards and best practices
   • Integrity and flexibility

• Enhanced by Custom code
   • Creates competitive advantage
   • Extends innovation and functionality

• Having custom code is OK
   • Based on an educated decision and business requirement
   • Loss of “built-in” capabilities need to be properly addressed
   • Doing it “right” helps to develop and operate code
     effectively                                         M ast e ring SA P T e chn ologies 201 3| 4
Custom Code Transparency
• SAP Solution Manager
   • Custom Code Lifecycle Management (CCLM)
   • Custom Development Management Cockpit (CDMC)
   • Guided Self Service Reports (GSS)




                                                M ast e ring SA P T e chn ologies 201 3| 5
Custom Code Control
• SAP Solution Manager
   • SAP Coverage Analyser (SCOV)
   • Custom Code Lifecycle Management (CCLM)
   • Custom Development Management Cockpit (CDMC)




                                                M ast e ring SA P T e chn ologies 201 3| 6
Custom Code Optimisation
• SAP Managed Systems – Custom Code Management
  is more than just Solution Manager!

   •   SAP Code Inspector
   •   ABAP Test Cockpit
   •   ABAP Unit
   •   SAP Clone Finder



          It‘s all about Developer Empowerment!


                                                  M ast e ring SA P T e chn ologies 201 3| 7
Custom Code Optimisation
• Metrics are Important
  – Use the SAP Code Inspector (SCI) to generate code metrics
  – Runs a set of “rules” across your code base


• Introduce a Quality Gate
  – The Code Inspector can act as a quality gate by checking
    objects on transport release.




                                                      M ast e ring SA P T e chn ologies 201 3| 8
Custom Code Optimisation
• Examples of useful code quality metrics
  –   Lines of code
  –   Modularisation units
  –   Cyclomatic Complexity
  –   Coupling (ca/ce) and Cohesion
  –   Temporal coupling
  –   Frequency of change
  –   What’s trending?
       • Increasing code line count
       • Top 10 changing objects



                                            M ast e ring SA P T e chn ologies 201 3| 9
Custom Code Optimisation


• ABAP Test Cockpit
   • Available from Basis 702 SP12
   • Used internally at SAP
   • Integrates the SAP Code Inspector (SCI) into the ABAP
     Workbench
   • Centralised reporting and exception management




                                                 M ast er in g S AP T echn olog ie s 20 13 | 10
Custom Code Optimisation

 • ABAP Unit – Putting it into perspective




 • © Mike Cohn, Mountain Goat Software
                                             M ast er in g S AP T echn olog ie s 20 13 | 11
Custom Code Optimisation
• ABAP Unit
   •   Available since ABAP 640
   •   Tightly integrated with the ABAP Workbench
   •   Tests are defined and implemented as local classes
   •   ABAP Unit Browser
   •   Execute and measure coverage
   •   Code Inspector can execute Unit Tests on release




                                                   M ast er in g S AP T echn olog ie s 20 13 | 12
Custom Code Optimisation
• SAP Coverage Analyser
   • Which parts of my system are used?
   • What is my test coverage?
   • Do I have any dead code?

• SCOV and SCOV Lite (Usage and Procedure
  Logging).
• Need to understand the differences.



                                            M ast er in g S AP T echn olog ie s 20 13 | 13
Custom Code Optimisation


• Code quality starts when the first line of code is
  written



               Empower Your Developers




                                                 M ast er in g S AP T echn olog ie s 20 13 | 14
Custom Code Optimisation
• SAP Clone finder




                           M ast er in g S AP T echn olog ie s 20 13 | 15
Released in December!

   Managing Custom Code with SAP Solution Manager

                           •   Learn how to identify good and bad
                               instances of custom code.
                           •   Understand how to monitor the amount
                               and efficiency of custom code in your
                               system.
                           •   Explore the Solution Manager tools that
                               help you manage your code.


  Mastering SAP Special: Save 10% when ordering this title!
  Use code 2013MASTERING10 at the SAP PRESS bookstore
Tony de Thomasis
                Alisdair Templeton
                SAPWORKS




How to contact me:
Custom Code Bonus Slide
• What transaction is that?

       T-Code        Function                          System
       CCLM          Custom Code Lifecycle Management SolMan
       ATC           ABAP Test Cockpit                 Managed
       SCOV          Coverage Analyser                 Managed
       CNV_CDMC      Custom Code Development Cockpit   SolMan
       /SDF/CD_CCA   Clone Finder                      Managed
       SCI           SAP Code Inspector                Managed



                                                                 M ast er in g S AP T echn olog ie s 20 13 | 19
Premier Partners:   Supported by:   Produced by:

Managing SAP Custom Code

  • 1.
    Premier Partners: Supported by: Produced by:
  • 2.
    Worried about thecost of your SAP Custom code? Tony de Thomasis Alisdair Templeton SAPWORKS
  • 3.
    What we willcover • Why control Custom Code? • Transparency - How much? • Control – How often? • Optimisation – How well? • Q&A M ast e ring SA P T e chn ologies 201 3| 3
  • 4.
    Why control Customcode? • SAP delivered software • Standards and best practices • Integrity and flexibility • Enhanced by Custom code • Creates competitive advantage • Extends innovation and functionality • Having custom code is OK • Based on an educated decision and business requirement • Loss of “built-in” capabilities need to be properly addressed • Doing it “right” helps to develop and operate code effectively M ast e ring SA P T e chn ologies 201 3| 4
  • 5.
    Custom Code Transparency •SAP Solution Manager • Custom Code Lifecycle Management (CCLM) • Custom Development Management Cockpit (CDMC) • Guided Self Service Reports (GSS) M ast e ring SA P T e chn ologies 201 3| 5
  • 6.
    Custom Code Control •SAP Solution Manager • SAP Coverage Analyser (SCOV) • Custom Code Lifecycle Management (CCLM) • Custom Development Management Cockpit (CDMC) M ast e ring SA P T e chn ologies 201 3| 6
  • 7.
    Custom Code Optimisation •SAP Managed Systems – Custom Code Management is more than just Solution Manager! • SAP Code Inspector • ABAP Test Cockpit • ABAP Unit • SAP Clone Finder It‘s all about Developer Empowerment! M ast e ring SA P T e chn ologies 201 3| 7
  • 8.
    Custom Code Optimisation •Metrics are Important – Use the SAP Code Inspector (SCI) to generate code metrics – Runs a set of “rules” across your code base • Introduce a Quality Gate – The Code Inspector can act as a quality gate by checking objects on transport release. M ast e ring SA P T e chn ologies 201 3| 8
  • 9.
    Custom Code Optimisation •Examples of useful code quality metrics – Lines of code – Modularisation units – Cyclomatic Complexity – Coupling (ca/ce) and Cohesion – Temporal coupling – Frequency of change – What’s trending? • Increasing code line count • Top 10 changing objects M ast e ring SA P T e chn ologies 201 3| 9
  • 10.
    Custom Code Optimisation •ABAP Test Cockpit • Available from Basis 702 SP12 • Used internally at SAP • Integrates the SAP Code Inspector (SCI) into the ABAP Workbench • Centralised reporting and exception management M ast er in g S AP T echn olog ie s 20 13 | 10
  • 11.
    Custom Code Optimisation • ABAP Unit – Putting it into perspective • © Mike Cohn, Mountain Goat Software M ast er in g S AP T echn olog ie s 20 13 | 11
  • 12.
    Custom Code Optimisation •ABAP Unit • Available since ABAP 640 • Tightly integrated with the ABAP Workbench • Tests are defined and implemented as local classes • ABAP Unit Browser • Execute and measure coverage • Code Inspector can execute Unit Tests on release M ast er in g S AP T echn olog ie s 20 13 | 12
  • 13.
    Custom Code Optimisation •SAP Coverage Analyser • Which parts of my system are used? • What is my test coverage? • Do I have any dead code? • SCOV and SCOV Lite (Usage and Procedure Logging). • Need to understand the differences. M ast er in g S AP T echn olog ie s 20 13 | 13
  • 14.
    Custom Code Optimisation •Code quality starts when the first line of code is written Empower Your Developers M ast er in g S AP T echn olog ie s 20 13 | 14
  • 15.
    Custom Code Optimisation •SAP Clone finder M ast er in g S AP T echn olog ie s 20 13 | 15
  • 16.
    Released in December! Managing Custom Code with SAP Solution Manager • Learn how to identify good and bad instances of custom code. • Understand how to monitor the amount and efficiency of custom code in your system. • Explore the Solution Manager tools that help you manage your code. Mastering SAP Special: Save 10% when ordering this title! Use code 2013MASTERING10 at the SAP PRESS bookstore
  • 18.
    Tony de Thomasis Alisdair Templeton SAPWORKS How to contact me:
  • 19.
    Custom Code BonusSlide • What transaction is that? T-Code Function System CCLM Custom Code Lifecycle Management SolMan ATC ABAP Test Cockpit Managed SCOV Coverage Analyser Managed CNV_CDMC Custom Code Development Cockpit SolMan /SDF/CD_CCA Clone Finder Managed SCI SAP Code Inspector Managed M ast er in g S AP T echn olog ie s 20 13 | 19
  • 20.
    Premier Partners: Supported by: Produced by: