Download as pdf or txt
Download as pdf or txt
You are on page 1of 39

Custom Code Management Tools

@Timo_John

27.06.2015
How does your Custom Code look like in all
your SAP and non SAP systems?

src1 : SAP AG page 9

27.06.2015 Custom Code Management Tools Seite 2


Motivation

src1 : SAP AG page 4

27.06.2015 Custom Code Management Tools Seite 3


AGENDA

1 Motivation

2 Usage & Procedure Logging

3 Clone Finder

4 Interface Analysis

5 Code Metric Tool

6 ABAP Test Cockpit

7 SQL Performance Tuning Worklist

8 Closure

27.06.2015 Custom Code Management Tools Seite 4


Custom Code Management

What is it?

src1 : SAP AG page 4

27.06.2015 Custom Code Management Tools Seite 5


Motivation

Custom code is the most expensive part of the software

src1 : SAP AG page 7

27.06.2015 Custom Code Management Tools Seite 6


Motivation

Low usage and quality of custom code drives costs

src1 : SAP AG page 7

27.06.2015 Custom Code Management Tools Seite 7


Motivation

Main benefits for reduced custom code objects

• Less maintenance and adjustment efforts for custom code

• Less security-, destabilization-, data consistency risk

• Less testing effort

• Less complexity Reduce

src1 : SAP AG page 9

27.06.2015 Custom Code Management Tools Seite 8


Getting started

How do I manage my custom code?

STEP 1 Analyse custom code in system(s) based on actual usage:


Most usage in the system? 
Usage, but not core business  UPL
Not used 

STEP 2 Identify the pain points in - fix them


Security
Performance
CCAPPS / ATC
Maintenance

should be decommissioned

If the budget allows it; clean up

27.06.2015 Custom Code Management Tools Seite 9


Getting started

Where can I start Custom Code Management?

• Tools shipped with SAP Netweaver

• Custom Code Apps by SAP

• ABAP Test Cockpit / Code Inspector

• SQL Monitor & SQL Performance Tuning Worklist

• Coverage Analyser

• Custom Code Lifecycle Management by SAP Solution Manager

• 3rd party tools

27.06.2015 Custom Code Management Tools Seite 10


Custom Code Apps

CCAPPS - Tools that help you

• Set of powerful programs


• Take your time

02.07.2015 Custom Code Management Tools Seite 11


Usage & Procedure Logging

What code is executed in production systems?

• Monitors executed functions

• Integrated in CCLM of
Solution Manager

• Different aggregations

• Long term evaluation possible

• Kernel function
- No measurable performance impact
neither CPU nor runtime1

1) src3 : SAP AG page 7

02.07.2015 Custom Code Management Tools Seite 12


Usage & Procedure Logging

Display UPL Data

• Find code that is used most


• Identification of code that is not used with manual work -
• Find used EXITS and Enhancements
• Use UPL List for ATC object sets
• Currently no user segmentation like provided by SCOV
src3 : SAP AG page 7

02.07.2015 Custom Code Management Tools Seite 13


Custom Code Apps

CCAPPS - Tools that help you

• Set of powerful programs


• Take your time

02.07.2015 Custom Code Management Tools Seite 14


SAP Clone Finder

Where do we have copy & paste coding?

• Copy of SAP code with modifications

• Z-Code that is cloned in same / other packages

• Persistency of results

• Clones across systems

• Remote compare

27.06.2015 Custom Code Management Tools Seite 15


SAP Clone Finder

Result List

27.06.2015 Custom Code Management Tools Seite 16


SAP Clone Finder

Result

• Copy of SAP code with modifications


• Z-Code Clones in same / other packages

27.06.2015 Custom Code Management Tools Seite 17


Custom Code Apps

CCAPPS - Tools that help you

• Set of powerful programs


• Take your time

02.07.2015 Custom Code Management Tools Seite 18


SAP Interface Analysis

Result

• In which SAP Tables are my Z-Function Modules registered?


• Use of unreleased FMs
• List of Enhancements / Badis …
• Usage of obsolete Objects
• Reports that use SAP Object that have changed after Z-Object.

27.06.2015 Custom Code Management Tools Seite 19


SAP Interface Analysis

Result List

27.06.2015 Custom Code Management Tools Seite 20


Custom Code Apps

CCAPPS - Tools that help you

• Set of powerful programs


• Take your time

02.07.2015 Custom Code Management Tools Seite 21


SAP Code Metric Tool

What is the most complex code in one section?

• Analyses the code for static metrics

• List all SAP modifications

• ( incl. Exit - coding )

• Limitations:

• No detection of complexity across modularisation units

27.06.2015 Custom Code Management Tools Seite 22


SAP Code Metric Tool

Identification

Lines of coe / number of statemts - what is the biggest codings?

Complexity ( conditions / decisions ) - where is the “spaghettiest” code?

Database interaction - who is reading / writing DB?

Autors / Version / Changes - which code was fixed most?



27.06.2015 Custom Code Management Tools Seite 23
SAP Code Metric Tool

Identification

Mehr Details über die Liste

27.06.2015 Custom Code Management Tools Seite 24


SAP Code Metric Tool

Identification

27.06.2015 Custom Code Management Tools Seite 25


SAP Code Metric Tool

Alternative : Code Inspector Metrics

Metrics: Max nesting, long coding block, comments, others

• Less Information available compared to Code Metric Tool

• Not so handy in use

• Can be used to create tends charts if executed regularly (Excel)

27.06.2015 Custom Code Management Tools Seite 26


ABAP Test Cockpit

Use ATC to analyse trends based on statistic

• Schedule ATC periodic runs to monitor trends in the coding

• Use stable check variant

• Combine Information with Code Inspector Metrics (Nos / Loc )

• ATC messages per number of statements; lower is better

27.06.2015 Custom Code Management Tools Seite 27


ABAP Test Cockpit

Use ATC to analyse trends based on statistic

09.06.2015 19.06.2015
2.597Prio1 / 116.359Nos = 2,23% 2.650Prio1 / 117.775Nos = 2,25%

27.06.2015 Custom Code Management Tools Seite 28


ABAP Test Cockpit - Evaluation

bonprix Z-Tool to analyse ATC result trends

• In which package are the most ATC findings / exemptions?


• Comparison between packages
• Trends
• Usage of Pragmas
27.06.2015 Custom Code Management Tools Seite 29
SQL Performance Tuning Worklist

Where do we waste performance?

1. Start SQL Monitor on productive system

2. Merge with Coverage Analyser data from test system

3. Merge with ATC findings from development system

4. Inspect results in development system SWLT

What Code is working on which tables hard

and has ATC Issues?

27.06.2015 Custom Code Management Tools Seite 30


SQL Performance Tuning Worklist

Select screen

Select data to include in evaluation

27.06.2015 Custom Code Management Tools Seite 31


SQL Performance Tuning Worklist

Identification

See the results of used data in one place

27.06.2015 Custom Code Management Tools Seite 32


SQL Performance Tuning Worklist + UPL

Identification

Found performance Issue within 10 minutes

27.06.2015 Custom Code Management Tools Seite 33


SQL Performance Tuning Worklist

Second Example

27.06.2015 Custom Code Management Tools Seite 34


Closure

There tools that help you out!

Why do we do it?

• Less maintenance and adjustment efforts for custom code

• Less security-, destabilization-, data consistency risk

• Less testing effort

• Less complexity Reduce

src1 : SAP AG page 4

PLEASE DO TESTING WITH BUSINESS!

27.06.2015 Custom Code Management Tools Seite 35


Questions & Links

links & text to scan

27.06.2015 Custom Code Management Tools Seite 36


Questions & Contact Information

@Timo_John
Custom Development ABAP

bonprix Handelsgesellschaft mbH


Haldesdorfer Straße 61
22179 Hamburg

http://scn.sap.com/people/timo.john

src1 : SAP AG page 9

27.06.2015 Custom Code Management Tools Seite 37


Resources

scr1: Custom Code Management – Decommissioning[PDF] SAP 2014

scr2: Custom Code Management Custom Code Apps [PDF] SAP Active Global Support

scr3: CCM Usage & Procedure Logging[PDF] SAP Active Global Support

Usage & Procedure Logging [SCN] SCN 2015

27.06.2015 Custom Code Management Tools Seite 38


VIELEN DANK FÜR IHRE AUFMERKSAMKEIT!

You might also like