cast for sap applications
DESCRIPTION
Many organizations manage huge portfolios of custom applications on top of SAP. A number of them are mission-critical so it is vital to preserve or enhance the quality, robustness, maintainability and performance of these applications, whether developed in ABAP, Java or other languages, to reduce application maintenance costs and better manage outsourced development and maintenance.TRANSCRIPT
SAP Customizations Increase Risk, Cost, and Complexity
As a core component of the information
system for many organizations, SAP eventu-
ally finds its way into detailed company-
specific processes supporting the very
heart of the business. Despite the desire
to minimize customizations of SAP imple-
mentations, ultimately the unique aspects
of the business win out and the software is
customized to support the “as is” business
processes. The result is most SAP custom-
ers have to manage significant volumes of
SAP customization - a trend that seems to
increase exponentially as time goes by and
the business continues to grow. An effective
solution for managing SAP customization
size, quality, and complexity is critical to har-
ness the maintenance cost, improve system
performance, and reduce the risks that lead
to outages.
Improve SAP Performance, Reduce Maintenance Costs, and Increase Delivery Transparency
When SAP suffers performance and stability
issues, the business becomes frustrated,
there is a potential for lost business, and
support costs are increased. The mainte-
nance costs of customizations can represent
up to half of the overall SAP maintenance
expenditure. It is thus critical to improve the
governance of SAP customization develop-
ment and the quality of delivery from internal
teams and outsourcers alike. Likewise, the
upgrade to ECC 6.0 creates another incen-
tive to immediately assess SAP customiza-
tion, to measure upgrade risks and impact
mitigation costs, and to ultimately optimize
the upgrade process itself.
CAST Application Intelligence Platform Helps Control and Improve the Quantity and Quality of SAP Delivery
The CAST Application Intelligence Platform
automatically analyzes the source code
of SAP customizations and provides the
metrics and technical information that IT
management needs to control, monitor and
improve SAP development activities and
production performance and stability.
Using the CAST Dashboard, IT Managers
can assess and monitor key Application
Health Factors, SAP Application owners can
determine the root cause of quality drifts,
verify compliance of application delivery
against development rules and best prac-
tices, and provide teams with prioritized lists
of corrective actions. Through the Discovery
Portal, development teams have access to
automatically-generated technical documen-
tation representing the customizations and
their interaction with the SAP Core-System.
CAST Application Intelligence Platformfor SAP
CAST application intelligence is based on
automated analysis of SAP custom ap-
plications and core system’s source code -
whether that be ABAP, ABAP Objects, Java
or any other major development language
used to customize or extend the baseline
SAP functionality.
CAST solution benefits for SAP include:
• Immediate improvements in stability
• Improved transaction performance
• Maintenance cost reduction
• Significantly improved outsourcing
transparency
• Reduce upgrade risk
Lower your costs and reduce time to market by getting control of your SAP customizations.
www.castsoftware.com
Europe 3 rue Marcel Allégot 92190 Meudon - France Phone: +33 1 46 90 21 00
North America 373 Park Avenue South New York, NY 10016 Phone:+1 212-871-8330Copyright © 2013 CAST All Rights Reserved
Questions?
Email us at [email protected]
1
www.castsoftware.com
Europe 3 rue Marcel Allégot 92190 Meudon - France Phone: +33 1 46 90 21 00
North America 373 Park Avenue South New York, NY 10016 Phone:+1 212-871-8330Copyright © 2013 CAST All Rights Reserved
Questions?
Email us at [email protected]
2
CAST Application Intelligence Platform for SAP
With Application Intelligence generated by
CAST, managers can:
• Preserve and enhance the quality of their
application assets for immediate gains in
stability and performance with reduced
maintenance cost over time.
• Better manage the delivery of internal
and outsourced development teams by
measuring the quality of their output,
benchmarking the quantity of work deliv-
ered and by verifying the justification for
workloads and costs.
• Benefit from the enhanced productivity
and security resulting from the empower-
ment of internal and external teams with
technical documentation and application
structure exploration capabilities.
Key Functions of the CAST Applica-tion Intelligence Platform
Monitor Key Application Health Factors
and Compliance with Development and
Architecture Rules
Using the CAST Dashboard, IT managers can
assess the application portfolio with high-level
metrics. They can monitor key Application
Health Factors as well as ensure compliance
with development and architecture best prac-
tices. When the scorecard-based interface
highlights a metric that does not meet expec-
tations, technical managers can drill down to
more detailed analysis that helps identify the
root cause of the deviation. In doing so AIP
will produce lists of application objects deviat-
ing from a development or architecture rule.
Key metrics in the AD Governance Dashboard
include:
• Application size, technical and functional.
(Functional size being measured by the
Number of Functions Points automati-
cally estimated several ways including an
IFPUG compliant method.)
• Maintainability and changeability
• Robustness
• Performance (through the identification of
programming practices that are known to
put performance at risk)
• Security
Compliance with development rules and best
practices encompassing:
• Programming practices
• Architectural Design
• Documentation
Measure the technical quality of ap-
plication delivery
Beyond the measurement of key Applica-
tion Health Factors, SAP customers can
use the Dashboard upon delivery of a new
customizations for in-depth technical accep-
tance reviews. These reviews can assess the
technical quality of the customizations and
their compliance with predefined development
and architecture rules. CAST provides over
1000 of these predefined rules and validates
based on a combination of ISO 9126, CMM,
and Carnegie-Mellon’s SEI recommendations.
Some of these validations are generic while
others are language specific. This library of
validations and controls is constantly enriched
and customers can easily define their own
rules to be automatically checked by CAST.
Verify if the costs of SAP deliverables
are justified
SAP customers can use CAST to verify if the
workload and costs associated with the set
of changes in a given version is fully justified.
This helps benchmark the performance of de-
velopment and maintenance teams while also
creating objective evidence for discussions
about maintenance costs or change requests
between customers and outsourcers.
How does this work? CAST detects changes
between two versions of an application and
generates a multi-criteria measure of com-
plexity and maintainability for each object.
This measure is compared to those of
elemental objects in each language for which
the maintenance workload is well-known,
and from there automatically estimates the
workload and costs the changes should have
represented.
Figure 1
www.castsoftware.com
Europe 3 rue Marcel Allégot 92190 Meudon - France Phone: +33 1 46 90 21 00
North America 373 Park Avenue South New York, NY 10016 Phone:+1 212-871-8330Copyright © 2013 CAST All Rights Reserved
Questions?
Email us at [email protected]
3
CAST Application Intelligence Platform for SAP
Enable development teams with tech-
nical documentation of SAP custom-
izations.
CAST Application Intelligence Platform em-
powers and accelerates onboarding of new
resources and team knowledge transfer for
both internal and outsourced development
teams. The detailed documentation produced
in online reports allows developers to acquire
low-level insight of SAP customizations, and
as a result make changes that result in fewer
defects and better debugging.
CAST generated technical documentation
provides clear insight into the technical struc-
ture of SAP customizations. The documen-
tation is displayed in a web portal for easy
access and information sharing by the entire
development team. Beyond this, power users
can use the CAST AIP application discovery
tools to generate graphical structure views of
specific application domains or transactions in
just minutes. They can identify the interactions
between customization objects and SAP core-
system objects. They can also run impact
analyses that better facilitate code changes or
upgrade activities.
In Figure 2, the structure of a multi-tier web
application is shown. It comprises JSP, Java,
and ABAP tiers interacting with a core-system
object.
Immediately Improve Custom Appli-cations’ Performance and Stability
Performance and stability issues are usually
the result of poor programming practices
and inexperienced ABAP and SQL develop-
ers - often the case in outsourced environ-
ments where there is a significant turnover of
staff. Custom applications in ABAP tend to
be heavily data-oriented and make extensive
use of SQL, which when poorly written may
have significant effects on performance due to
high-volume tables.
CAST performs a number of developer-
independent performance and stability checks
on ABAP and SQL. With CAST, managers
can rate delivery for performance and stability
risks and provide teams with an extensive list
of application objects at risk. Commonly used
SAP IDE code checking tools, while of value,
are not enough. They are always optional, only
address coding errors at a unit/program level,
and only perform a limited number of checks
that are insufficient in modern and complex
architectures. CAST goes beyond these,
providing a deeper analysis and the impact of
the new or changed code on the rest of the
application.
An example of CAST performance check
is: “Avoid nested SELECT ... ENDSELECT
statements”. These ABAP statements are
not considered bad in nature by SAP as they
are routinely used to query parameter tables.
Unfortunately, developers also use them
extensively on high volume data tables; these
statements are automatically converted in
searches with SQL cursors that can signifi-
cantly slow down database queries and satu-
rate the memory. CAST analyses regularly
find several inappropriate uses of this syntax
per custom program.
An example of a CAST stability check is:
“Avoid using BREAK or BREAK-POINT state-
ment”. This is an example of fairly simple cod-
ing implementation that can bring a produc-
tion program to a halt. Despite the fact that
SAP provides tools to help developers not
forget these after they have debugged, CAST
finds as many as one to two break points for
each 100 programs running in production.
Needless to say that the more complex pro-
gramming associated with new ABAP Objects
and Java programs more common in ECC 6.0
are likely to make the performance and stabil-
ity issue an even greater one in the future.
Reducing Maintenance Costs
Maintenance costs of custom applications
tend increase over time. There are many
reasons for this, some of the more prevalent
being:
• Increased volume of custom code
• Maintainability drifts resulting from
changes that are added to the queue
• Growing complexity that is not adequate-
ly commented in-line or through other
Figure 2
www.castsoftware.com
Europe 3 rue Marcel Allégot 92190 Meudon - France Phone: +33 1 46 90 21 00
North America 373 Park Avenue South New York, NY 10016 Phone:+1 212-871-8330Copyright © 2013 CAST All Rights Reserved
Questions?
Email us at [email protected]
4
CAST Application Intelligence Platform for SAP
technical documentation methods
• Widespread use of Copy/Paste to create
new custom code
CAST performs multiple automated checks
on custom ABAP, ABAP Objects or Java code
to ensure and improve transferability, change-
ability and maintainability.
Examples or transferability checks are: “Avoid
Undocumented Functions” and “Avoid
Unreferenced Functions”. To demonstrate
the potential significance of this latter rule,
at a large energy customer who was about
to upgrade to ECC6.0, CAST found close to
70% of a 6,000 program portfolio not being
used anymore.
Specific checks on factors affecting the
timely and efficient maintenance of SAP
customizations are critical to maintaining
costs. Examples of maintainability checks
are: “Copy Paste Ratio”, “Avoid Artifacts with
High Fan-Out” and “Avoid Artifacts with High
Cyclomatic Complexity”. CAST often finds
copy paste ratios of 15% to 35%, making
applications hard to maintain. Customers also
often have no control on the consequences of
Note OSS applications correcting the original
programs on these copy pasted programs.
Good monitoring of object complexity helps
avoid drifts and helps identify candidates for
refactoring.
Improving Transparency of Outsourc-er and Internal Team Delivery
Managers of SAP applications faced with
rising maintenance costs and sub-optimal
performance often have very little transparen-
cy and control over the quantity and quality of
delivery from their teams. Without an automat-
ed solution for assessing delivery, the amount
of SAP custom code clients need to manage
makes systematic assessments impossible.
CAST addresses this challenge by:
• Verifying the technical quality of SAP
customizations
• Monitoring quality trends across builds
• Identifying changes between versions al-
lowing more focused test campaigns
• Assessing how much these changes
should have cost; an effective way to
challenge baseline maintenance and
change request costs
• Benchmarking team performance
Usage of CAST by the owner of applications
facilitates rapid improvements in the techni-
cal quality of delivery and team productivity.
It consequently makes discussions on the
cost of maintenance or changes much easier
and fact-based, usually resulting in significant
maintenance cost savings.
In addition, the CAST Discovery Portal can
help improve application knowledge transfer
making both outsourcing and insourcing more
efficient while reducing client’s dependency
with existing outsourcers or key individuals.
Improving Management of SAP Cus-tomization Branches in International Deployments
When deploying SAP in multiple locations
Corporate IT usually delivers customizations
together with core system versions. Local IT
groups often have to modify these customiza-
tions due to specific business needs or local
regulations thus creating new code branches.
It is important to facilitate the transferability of
custom applications to these groups. When
Corporate IT in turn delivers new versions
of the custom applications, reconciliation of
branches with new corporate applications
becomes an issue. Furthermore, the efforts on
the part of some SAP clients to create single
instance implementations of SAP may result in
the need to facilitate modifications and refac-
toring of the custom applications to reconcile
branches into a common trunk.
CAST helps keep transferability of custom ap-
plications optimized, automatically documents
custom code versions and identifies changes
between these custom code versions and
Figure 3
Figure 4
www.castsoftware.com
Europe 3 rue Marcel Allégot 92190 Meudon - France Phone: +33 1 46 90 21 00
North America 373 Park Avenue South New York, NY 10016 Phone:+1 212-871-8330Copyright © 2013 CAST All Rights Reserved
Questions?
Email us at [email protected]
5
CAST Application Intelligence Platform for SAP
corporate versions in order to facilitate
branch management. It also helps identify
change impact of new custom versions from
corporate on local existing branches. Lastly,
when consolidation of multiple custom appli-
cation branches is the goal, CAST’s docu-
mentation helps corporate groups document
each local branch and assess the quality and
complexity of the programs covering similar
functions in the different branches in order to
facilitate choice of programs to retain, refac-
tor or consolidate.
Reducing Risk and Augmenting ROI on Upgrades to ECC6.0SAP clients need to mitigate the risk as-
sociated with the impacts of the upgrade to
ECC6.0 on their many customizations; not
just in terms of raw impacts on stability, but
also in terms of impact on performance as
ECC6.0’s more complex architecture is likely
to have detrimental effects on performance.
IT groups want to minimize disruption to
the business and the duration of the freeze
period during the upgrade. Furthermore,
the cost justification of the upgrade to the
business is often problematic as the techni-
cal upgrade is often perceived as a pure
IT operation cost with no direct business
benefits. Thus it is important to first minimize
upgrade efforts on the custom code. If the
upgrade becomes an opportunity to clean
up custom code, suppress some in favor of
new core system functions and reduce future
maintenance costs, IT can then demonstrate
an ROI on the upgrade that translates to
business value.
CAST enables all these activities. First during
the upgrade scoping phase that is focused
on assessing upgrade workload and cost,
and then during the upgrade to clean up
the custom portfolio, facilitate testing and
mitigate impact. Finally after the upgrade to
carry out quality improvement and return to
core system programs.
During the preparation of the upgrade for
the scoping study, CAST first identifies the
custom code inventory and assesses it along
multiple factors, among them:
• Identification of unused and dead code
• Measurement of custom code coupling
with the core system
• Measurement of performance risk
• Identification of user exits embedded
in custom code, BAPI lists with calling
objects, programs affected by an OSS
Note
• Identification of high complexity
programs and programs presenting a
stability or performance risk
CAST helps measure and identify key im-
pacts of the upgrade on the custom applica-
tions by analyzing the differences between
client’s version of core system tables and
those of ECC6.0, then the links between
custom code and the modified tables.
• At the time of the upgrade CAST
provides lists of custom objects to take
action upon and based on the findings
from the scoping study, together with
technical documentation of custom ap-
plications and their interaction with core
system tables. This combination firstly
helps minimize upgrade efforts due to
the pre-migration clean-up of unneces-
sary or overly complex programs and
secondly, makes upgrade efforts much
more productive and secure.
• After the upgrade CAST helps define
additional custom applications optimiza-
tion programs to further improve main-
tainability and may in some instance
also help identify some of the custom
programs that may be candidate for
suppression in favor of core system
functions.
Supported languages:
ABAP 4, 4.6, 4.7, ECC5, ECC6
Objects Retrieved:
ABAP File
ABAP Project
ABAP Program
ABAP Include
ABAP Function Pool
ABAP Type Pool
ABAP Form
ABAP Function
ABAP Event Block
ABAP Processing Screen
ABAP Macro
ABAP Module
ABAP Unresolved Object
ABAP Dynpro
ABAP Objects
www.castsoftware.com
Europe 3 rue Marcel Allégot 92190 Meudon - France Phone: +33 1 46 90 21 00
North America 373 Park Avenue South New York, NY 10016 Phone:+1 212-871-8330Copyright © 2013 CAST All Rights Reserved
Questions?
Email us at [email protected]
6
CAST Application Intelligence Platform for SAP
The CAST Technology
CAST Application Intelligence Platform relies
on unrivaled source code analysis technol-
ogy developed over more than 15 years.
CAST combines unique depth of analysis,
allowing a fine-grained representation of
application object structure and relations,
with coverage of all major development
languages. This is all combined into a unified
description of entire applications and sys-
tems across multiple tiers and technologies.
CAST supports most major programming
languages with dedicated analyzers:
• Server and client tiers: ABAP, Java,
.NET, C/Pro C, C++, Power Builder,
Visual Basic, Delphi, Oracle Forms,
COBOL/JCL
• Database platforms: SQL from Oracle,
Microsoft SQL Server, Sybase, IBM
UDB DB2
• Specific environments: TIBCO, Business
Objects, CICS, IMS
• Major Enterprise Software: SAP, Oracle
E Business Suite, PeopleSoft, Siebel
CAST also features Universal Analyzer, a
programmable analyzer that allows rapid
coverage of other languages and environ-
ments: It has been used by customers on
environments like: WebMethods, Uniface, or
JDEdwards.
About CAST
CAST is the pioneer and leader of Software
Measurement & Analytics. With more than
15 years of experience in advanced source
code analysis and delivery of application
intelligence, CAST offers a unique portfolio
of comprehensive products and solutions.
CAST is listed on Compartment C - Eurolist
by Euronext Paris. It serves Fortune 500
customers with a network of 11 fully-staffed
offices in the US, Europe, and India. CAST is
a recognized as a market leader by major IT
analysts and SIs.