EGI S4HANA Custom Code Impact Analysis Day 1
EGI S4HANA Custom Code Impact Analysis Day 1
▪ The information in this presentation is confidential and proprietary to SAP and may not be disclosed without the permission o f SAP. Except
for your obligation to protect confidential information, this presentation is not subject to your license agreement or any ot her service or
subscription agreement with SAP. SAP has no obligation to pursue any course of business outlined in this presentation or any related
document, or to develop or release any functionality mentioned therein.
▪ This presentation, or any related document and SAP's strategy and possible future developments, products and or platforms dir ections and
functionality are all subject to change and may be changed by SAP at any time for any reason without notice. The information in this
presentation is not a commitment, promise or legal obligation to deliver any material, code or functionality. This presentati on is provided
without a warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a
particular purpose, or non-infringement. This presentation is for informational purposes and may not be incorporated into a contract. SAP
assumes no responsibility for errors or omissions in this presentation, except if such damages were caused by SAP’s intentional or gross
negligence.
▪ All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ material ly from
expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as of their dates,
and they should not be relied upon in making purchasing decisions.
• Introductions
Automation Automation
Level 0 Level 1
Empowering Execution
Execution Expertise on Demand
Expertise on Demand
Day 1
Web session, 1-2 hours 2-3 hours on the same day Demand
During Execution
Day 2 each morning
Participants execute Participants have direct access
Day 3 SAP expert explains step-by- demonstrated steps within their to an SAP expert who directly
step configuration using own project, on their own SAP supports them remotely, if
Day 4 training materials environment necessary, during the execution
Day 5 ✓ ✓ ✓
Delivery Training, practical experience, remote consulting
• Do you have the correct • …to participate in the Options if not prepared for today
authorizations? empowering sessions each
morning? • Reschedule to the next EGI on
• Do you have time allocated for the schedule
this week? • …to configure your own system
each afternoon? • Execute preparation steps
• Do you the prerequisites before attendance
complete? • …to provide feedback on your
progress to the SAP Expert
Goal of the day Goal of the day Goal of the day Goal of the day
◼ Reasons and approach of the custom code ◼ Configuration of SAP Fiori for Custom Code ◼ Understand how to view the ATC results in
adaptation for SAP S/4HANA are understood ◼ Configure Remote ATC Migration SAP GUI and SAP Fiori App
◼ ATC deployment option chosen ◼ Deploy Remote ATC analysis ◼ Required UPL/SCMON Configuration ◼ Understand how to analyze the result
complete ◼ Understand how to track
• is the central point of access for all functions that you use to monitor
and manage the lifecycle of custom developments from creation to
deletion.
>20000
objects in customer namespaces* of the custom code
of the custom code
objects have not been
60% objects contain code
inspection messages*
65% used within the last
months*
CCLM
of the cloned custom
of the custom code
code objects are
objects were
12% identical or very similar
to the original SAP SAP Solution
23% supporting critical
processes*
object*
Manager
of the system
of the custom code
resources are
objects have to be
~50% adjusted on change
events*
>2000 20% attributed to the
execution of custom
modification and enhancements* code*
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 12
* Based on SAP (CQC) Solution Transition Assessment and Custom Code services
Reminder about Custom Code Management
Lifecycle - From requirement to retirement
From conception to retirement, get the transparency on Custom Code objects, automates the analysis of every change and clearly
identifies their usage, utilization and business impact of the customer objects. It also supports optimization cycles with a project based
approach to reduce the Custom Code footprint.
• get transparency on your
require custom code situation
• always be up-to-date with
your custom code situation
run • take action not only react
build
• never stop optimizing your
custom code situation
optimize
retire
Custom code including enhancements and modifications that exist in a company’s SAP system landscape can be
evaluated in four dimensions. These dimensions are Quantity, Quality, Technical severity and Business criticality.
The goal is to establish a constant evaluation process of custom solutions in these four dimensions, to optimize them
on the basis of the results that were obtained and in alignment with the goals that have to be achieved.
3 + 2 dimensions
• number of objects
• severity
• criticality
• quality
• usage
Enable
Get transparency and
define the scope Improve
✓ Gain transparency on Optimize and control
Custom Code and its Sustain
TCO effect
Traditional SAP Custom code uses With SAP S/4HANA, there are changes in
the SAP Standard code in an Open- the standard SAP code. Related Custom
source manner. code can become incompatible
Custom
code has
to be X
X X
adapted X
*
*
SAP code Simplified SAP code
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 17
Motivations for Custom code Impact Analysis in SAP S/4HANA projects
Two main reasons for impacts
SAP HANA database related ▪ Apply SQL “golden rules”. Example: it’s bad practice to assume i
(can be mostly done before / that a DB returns results sorted if not explicitly requested ABAP custom code migration
and recommendations for SAP
independently of a SAP S/4HANA (ORDER BY) HANA:
conversion) ▪ Performance optimizations (optional) SAP Note: 1912445
SAP SCN: Link
5-20x Compression
Column based compression
Up to 10,000x Faster
Massive parallel scaling
Only if ABAP code relies on technical specifics of the old database, ABAP code changes
might be necessary
✓ Column Store, Though SAP HANA is a hybrid database which uses both row as well as column
store techniques, most of the functional and technical issues are related with Row Store
substitution by Column Store.
✓ Although there are many advantages with Column Store, the most important issue is
reconstruct a complete record after the selection. (Join n fields from the Select List for each
record)
✓ In traditional Databases, when reading Cluster/Pool tables, records are sorted by primary
key. When reading from a transparent table, records might not be sorted. (This depends on
the Database type)
Technical changes with SAP HANA that may affect existing DB specific ABAP code
Technical and Examples – Effect on DB specific ABAP code
DB migration Each DB has specific features and unique technical behavior.
DB specific code may rely on these features of the used database.
Depooling/Declustering During the migration to SAP HANA most pool and cluster DB tables are
transformed to transparent DB tables (depooling/declustering) so that
the tables can be used in analytic scenarios.
DB specific code may rely on the technical specifics of pool/cluster tables.
Technical Change ABAP code which must be checked / corrected Recommended solution
DB migration Native SQL, Hints, ADBC which uses DB specific features Use Open SQL if possible, adapt native SQL and DB hints if necessary
Technical Change ABAP code which must be checked / corrected Recommended solution
- (Rare problem) Direct access to physical clusters / pools − Get rid of direct access to physical clusters / pools
For all main functional error categories we provide Code Inspector checks to find the issues easily
Recommendation
◼ Run both checks for your custom code
◼ Concentrate on findings (priority 1 and 2) of the “Search problematic
statement…w/o ORDER BY” check
◼ Treat findings of “Depooling/Declustering: …” check with reduced priority
• In general, existing ABAP code runs on SAP HANA as before. Only DB specific ABAP code must
be analyzed
• ABAP Test Cockpit can be used to find and adapt DB specific ABAP custom code easily
• In general, the well known golden Open SQL rules are still valid on SAP HANA - only some
priorities have shifted
• For effective SQL tuning and to find HANA potential in existing ABAP code, new monitoring tools
like the SQL Monitor are available
• The preparation of your custom code can start now – before the migration to SAP HANA, but
make sure you do not remove necessary coding (eg hints) too early
The Simplification Database is a database table in the SAP S/4HANA SAP S/4HANA System
system, which stores all incompatible changes of the SAP code in SAP
S/4HANA compared to the SAP ECC system as simplification items.
Custom code
Each simplification item describes changed or removed SAP objects and
refers to a dedicated SAP Note, which describes the impact of the change
and how the related custom code can be adapted.
Recommended: 13months of
collection
Mandatory Recommended
Optional Optional
Generate
Collect Evaluate
SAP Adapt Tune
Activity Custom Custom
S/4HANA custom code Performance
code Usage code usage
Worklist
Collect code usage Remove obsolete code Check SAP S/4HANA and Adapt custom code to SAP Tune performance of
using Usage Procedure based on Usage Procedure SAP HANA related changes HANA and SAP S/4HANA critical database queries
Log (UPL/SCMON) Log (UPL/SCMON) related changes
Adapt modifications in
SPDD/SPAU
ABAP Test Cockpit /
Tool UPL / SCMON CCLM Fiori App for Custom code migration
ERP DEV New DEV = Copy of SAP S/4HANA DEV SAP S/4HANA DEV SAP S/4HANA DEV
ERP PROD
ERP DEV
Local ATC configured Local ATC configured
Usage
• Code adjustment is executed during project phase of SAP S/4HANA conversion on a converted DEV system
(either the DEV system or a copy of DEV system in the case of a dual-track landscape)
• Analysis can be carried out using ATC worklist or SAP Fiori App Custom Code Migration
Remote Stubs
Both ATC and SCI use the same check variants.
Before project starts, you (or the system integrator) will likely be interested in assessing the
workload of adapting the custom-code to SAP S/4HANA. For this purpose, you will need to
use the ABAP Test Cockpit tool.
In a SAP S/4HANA context, ABAP Test Cockpit tool can be deployed in 4 different options:
1. On a SAP NetWeaver system 7.52 (New or existing, temporary or long term) to carry out
analysis remotely
2. On a fresh “empty” SAP S/4HANA system, to benefit from the latest functionality such as
the Custom Code migration SAP Fiori app , if you do not plan to convert a sandbox in the
pre-project phase
3. On a converted sandbox SAP S/4HANA system, to benefit from the latest additional
functionality such as the Custom Code migration SAP Fiori app
4. In the Cloud, using SAP Cloud Platform ABAP Environment, using the custom Code
migration SAP Fiori App, more details here
Analysis of SAP S/4HANA findings with Detailed analysis of SAP S/4HANA findings
Statistics View, simplification information incl. analytical representation of ATC
in ATC result, navigation capabilities result, filtering by scope and usage data,
simplification information in ATC result,
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC navigation capabilities 43
ATC Deployment Options
Option 1: ATC Remote Analysis with a Central 7.52 SAP NetWeaver System
• Analysis carried out during Pre-project phase of SAP S/4HANA Conversion
• Pre-requisites :
• ATC to be enabled in the Central system (SAP_BASIS 7.52 or higher)
• SAP S/4HANA system doesn’t exist in the system landscape
• Analysis carried out during Pre-project phase of SAP S/4HANA Conversion if a POC is planned
before the project
• Analysis can be carried out using ATC worklist or SAP Fiori Custom Code Migration App
• Pre-requisite : Sandbox system is converted to SAP S/4HANA 1809 release or higher
Checked Custom
coding for workload
estimate
SAP Cloud
Platform ABAP
ERP PROD
SAP Cloud Platform SAP Cloud Platform environment
ABAP environment ABAP environment Worklist displayed Usage
in Fiori UI based on
prod usage
• The simplifications made to SAP S/4HANA will impact your custom code existing in the current
ECC system.
• The move to SAP HANA database may impact your custom code from a technical and functional
side.
• You can identify the impacted custom code using SAP ABAP Test Cockpit or SAP Fiori App for
Custom Code Migration
• You have several deployment options for the ABAP Test Cockpit depending on your current
project status and perspective
• Either deployed as a separate system if you do not have yet a SAP S/4HANA converted environment and
want to estimate workload.
• Either within the SAP S/4HANA system, a fresh installation or a sandbox converted.
SAP Enterprise EGI “SAP Readiness Check tool for SAP S/4HANA” Go to https://support.sap.com/esacademy
Support Explains how to prepare and run the check as well as how to → Access Learning content
EGI analyze and follow-up on the results → Search by course ID: SUP_EDE_0080_1712
Duration: 3 days
SAP Enterprise Expert Guided Implementation “Custom Code Quality and Go to https://support.sap.com/esacademy
Support Clones” →Access Learning Content
EGI Understand
Duration: 4 days Search by course ID: SUP_EDE_0180_1312 or course name
Simplification List Simplification List and Simplification Item Catalogue • the Simplification List PDF:
https://help.sap.com/viewer/product/SAP_S4HANA_ON-PREMISE/
• the Simplification Item Catalog:
https://launchpad.support.sap.com/#/sic/
• SAP Note 2313884 in XLS format
• Blog: The SAP S/4HANA Simplification List
• Blog: The SAP Simplification Item Catalog & Simplification Item
Checks
Blogs How to activate ABAP Call Monitor (SCMON) Go to blogs.sap.com and search for:
“ABAP Call Monitor (SCMON)”
Wiki Further How-To Guides for activating UPL and SCMON https://wiki.scn.sap.com → SAP Solution Manager → Custom
Code Management
Blog SAP S/4HANA Custom Code Migration Worklist Go to blogs.sap.com and search for:
“SAP S/4HANA Custom Code Migration Worklist”
Blog SAP S/4HANA System Conversion – Custom code adaptation Go to blogs.sap.com and search for:
process “SAP S/4HANA System Conversion – Custom code adaptation
process”
Blog How-to guides to setup and utilize ABAP Test Cockpit Go to blogs.sap.com
and search for:
“Remote Code Analysis in ATC”
“ATC – Technical Setup Step by Step”
Discover the value Plan, prepare, and start Define all the details
the implementation
Engage with us
Engageandwith
getustheand get
best
the bestguidance
guidancewherewhere
Run Deploy Realize
youyou
need it from
need it fromour
globalteam
our global teamofof
Optimize the operability Prepare to go live Implement technical and
functional changes SAPS/4HANA
SAP S/4HANA
©Disclaimer:
2019 SAP SE **Valid
or an SAPS-User is required
affiliate company. to sign
All rights up for
reserved. SAP Learning
Hub, edition for SAP Enterprise Support in order to access all value maps available in
ǀ PUBLIC experts
experts
56
SAP Enterprise Support Value Maps Learning Room. Identify or request your S-User.
7 REASONS WHY YOU SHOULD JOIN
the SAP Enterprise Support value map for SAP S/4HANA
Structured Guidance
All the SAP S/4HANA related expert lead and self-paced content from the SAP
Enterprise Support Academy (webinars, workshops, best practice documents…) are
centralized in one place so you can find what you need when you need it.
Platform
Facts Personal Onboarding
Blog Directory
Subscribe to our blog posts and review our published content to keep We encourage you to request a touch-point call with one of our team members. A value
abreast of the latest SAP S/4HANA news and product updates. map onboarding call allows us to understand what exactly you are doing in terms of your
project plans, tasks you are working on and any issues or areas of concern that you
might have. In turn, we will tailor the conversation to suit your needs and highlight
specific content for you.
Sales Order VBAK VBAP VAKPA VAPMA GL, AR, AP BKPF BSEG GLT0 KNC1 KNC3 BSIS BSAS BSIK
PRCD_
FAAT_
Conditions KONV
Elements VBOX AA ANEK ANEP
YODA ANEA ANLC ANLP
(new)
FAAT_
VBFA
Document Flow VBFA
(Simplified) ML MLHD… MLIT…
PLAN_ MLCD… MCLR… BSIM* CKMI1*
VALUES
MATERIAL VALUES
SAP ERP MATERIAL QUANTITIES
Valuation in MM or Valuation ML Aggregates
Aggregates Stock Aggregates History
Used for
Hybrid: Master Data Master ML
History Valuation Material Document
with Valuated Stock Data only MSSA MSSL MSSQ MSSAH MSTBH MSSQH
MATDOC_
MBEW MBEWH
MBEW CKMLCR MLPP CKMLPP MLDOC
CKMLPPWIP MKPF
MATDOC MSEG
EXTRACT MSTE MSTQ MSTB MSTEH MSTQH
EBEW EBEWH
EBEW CKMLPP MLCR CKMLCR CKMLKEPH
MLDOCCCS Inventory Movements Hybrid: Master
Used Data with
for Master DataStock
only Aggregates MARCH MARDH MKOLH
QBEW QBEWH
QBEW MLHD MLCRF MLCD CKMLMV004 MCHB MARC MARD MSKU MSLBH MCHBH MSKUH
OBEW OBEWH
OBEW MLIT MLKEPH CKLMMV004 MSKA MKOL MSPR MSLB MSKAH MSKAH
www.sap.com/contactsap