Improving BDLS Runtime with Post-Copy...
Transcript of Improving BDLS Runtime with Post-Copy...
Boris Zarske, SAP SE
November 2014
Improving BDLS Runtime with
Post-Copy Automation
© 2014 SAP SE or an SAP affiliate company. All rights reserved. 2Public
Agenda
Logical System Names + BDLS in General
Overview – Improving Performance of BDLS with Post-Copy Automation
Post-Copy Automation – BDLS Tasks
Post-Copy Automation – Optimized BDLS Tasks
Post-Copy Automation – Guidance
Logical System Names +
BDLS in General
© 2014 SAP SE or an SAP affiliate company. All rights reserved. 4Public
Logical System NamesIntroduction
For several use cases, you have to assign unique IDs to systems participating in a distributed environment –
for example:
– Communication partners in Application Linking and Enabling (ALE) scenarios
o Interface technology developed by SAP to loosely connect application systems (SAP and external systems) with one another
– Communication partners in an SAP Business Warehouse scenario
o Connecting SAP BW systems and SAP BW source systems
– Communication partners in central user administration
For systems based on SAP NetWeaver ABAP, logical system names are defined as unique ID
You assign a name explicitly to one client in an SAP system – for example:
C12C11
C11CLNT100 C12CLNT200
Participating System Unique ID
System A (SAPSID: C11), client 100 C11CLNT100
System B (SAPSID: C12), client 200 C12CLNT200
System A System B
© 2014 SAP SE or an SAP affiliate company. All rights reserved. 5Public
Logical System NamesConversion with BDLS
In case of a system copy or a system refresh, logical system names get duplicated and you have to convert
them afterwards, to end up with unique IDs again
To convert one or more logical system names to new or existing logical names, you use transaction BDLS
– Determines all relevant tables (application tables, master data tables, control data tables) using specific logical system
names
– Converts the corresponding table entries (field values) to a different logical system name
PRDQAS
QASCLNT001 PRDCLNT001 PRDCLNT001 PRDCLNT001
QASCLNT001
system refresh
BD
LS
Conversion of
logical system name
Logical system names
before system refresh
QAS PRD
Logical system names
after system refresh
© 2014 SAP SE or an SAP affiliate company. All rights reserved. 6Public
Logical System NamesChallenges
BDLS performs the following steps:
1. It determines all active, transparent database tables, whose fields have references to following domains: LOGSYS, EDI_PARNUM
2. It converts corresponding field values to new logical system names
3. It updates the database
Logical system name conversion usually takes a long time, as the standard conversion program used
by BDLS scans all tables in your system and converts the corresponding logical system names –
especially in case your system uses many logical system names or has very huge tables (such as
in the range of billion table entries), this most probably results in a long-running conversion task
In this presentation, you get an overview how this issue is addressed by Post-Copy Automation – for
more information and details, see the White Paper – ABAP Post-Copy Automation: Conversion of
Logical System Names in SAP Community Network
Overview – Improving Performance of
BDLS with Post-Copy Automation
© 2014 SAP SE or an SAP affiliate company. All rights reserved. 8Public
Improving BDLS Performance with Post-Copy AutomationOverview
As an enhancement to transaction BDLS, ABAP post-copy automation (PCA) offers automated procedures that
improve the performance and reduce the duration of the conversion
For this, PCA offers three Job Execution Modes in the BDLS conversion task:
• Job Execution Mode : Single Job Execution
• Job Execution Mode : Concurrent Jobs based on Table Name
• Job Execution Mode : Concurrent Jobs based on Table Entry
1
2
3
© 2014 SAP SE or an SAP affiliate company. All rights reserved. 9Public
Improving BDLS Performance with Post-Copy AutomationOverview
With ABAP PCA for BDLS, you can:
Define more than one conversion name pair
Execute concurrent jobs for performance improvements
Execute the BDLS conversion in other clients than executing client and in multiple clients
Use built-in checks to verify the parameter consistency
Execute the conversion with background jobs
All this is described in section “Post-Copy Automation – BDLS Tasks” and covers Job Execution Modes +
If the achieved runtime does not suffice your requirements, you can further optimize by reducing the amount of tables for
conversion – for this, you select Job Execution Mode to process according to table entry and get several options to run a
detailed analysis to isolate tables affected by logical system name change:
– Option A: You execute a specific report for the table analysis before system copy in the source/original system
– Option B: You run the table analysis at the execution of the configuration task for BDLS conversion
– Option C: You execute a specific task for table analysis prior to executing the configuration task for BDLS conversion
This is described in section “Post-Copy Automation – Optimized BDLS Tasks”
2
3
1
© 2014 SAP SE or an SAP affiliate company. All rights reserved. 10Public
Execution
Improving BDLS Performance with Post-Copy AutomationRough execution comparison
ExecutionJob Execution Mode :
Single (serial) job) execution
ExecutionJob Execution Mode :
Parallelization by Table Name
Task List Execution
Job Execution Mode :
Analysis
Analysis by report Execution
Analysis by report +
SAP Note 1894679 Exec
SAP BW
optimi-
zations
CopyPreparation
Analysis
Analysis
1
2
3
Option
Option
C
A
Analysis task beforehand
ExecutionAnalysisOption B Analysis by report at execution
Time
Post-Copy Automation – BDLS Tasks
© 2014 SAP SE or an SAP affiliate company. All rights reserved. 12Public
Post-Copy Automation – BDLS Tasks
Post-Copy Automation offers tasks based on standard BDLS that already contain several improvements compared to
transaction BDLS
Using BDLS with Post-Copy Automation, you have the possibility to define more than one conversion name pair
Furthermore, it is possible to execute concurrent jobs for performance improvements and to execute the BDLS conversion in
other clients than executing client
Conversion execution is done with background jobs
To parallelize, choose the Job Execution Mode
“Concurrent Job based on Table Name” in BDLS conversion task
– To define logical system name conversion pairs, enter Old Logical
System Name and New Logical System Name in the Logical
System Name Mapping field
o If you want to convert multiple pairs, specify first pair and press the
Multiple Selection button to specify the remaining pairs
– To enable this execution mode, local server must have at least 4
work processes of type batch
– This option will execute several jobs that convert tables based on name
prefix
2
Post-Copy Automation – Optimized BDLS TasksAs offered with System Copy: Task Content (8th Improvement)
© 2014 SAP SE or an SAP affiliate company. All rights reserved. 14Public
Post-Copy Automation – Optimized BDLS TasksOverview
If the runtime achieved with the PCA – BDLS task does not suffice your requirements, you can further optimize by
reducing the amount of tables for conversion
If you want to reduce amount of tables for conversion, you
analyze the system first according to corresponding logical
system names – for this, choose the Job Execution Mode
“Concurrent Job based on Table Entry” in the BDLS conversion task
For this Job Execution Mode , you have several options
when and how to run a detailed analysis in order to isolate tables
affected by the required logical system name change
– All these options use a standard BDLS feature (report RBDLS_CHECK),
which determines the number of logical systems in relevant tables, but embed this feature in different ways
– RBDLS_CHECK generates list of tables and table fields that might contain values that are equal to given list of logical system names – also, it
counts the number of occurrences of these logical system names within these table fields
– Results of analysis get stored in table BDLSCOUNTALL, relevant tables and values are automatically passed to BDLS conversion task
CL_STCT_SC_CONV_BDLS as input parameters, which will create separate jobs with specific sets of tables, such that each job converts
approximately the same number of table entries
– For all these analysis options, you get an overview on the upcoming slides – for more information and details, see the White Paper –
ABAP Post-Copy Automation: Conversion of Logical System Names in SAP Community Network
3
3
© 2014 SAP SE or an SAP affiliate company. All rights reserved. 15Public
Post-Copy Automation – Optimized BDLS TasksOverview of options for analysis for Job Execution Mode
Source
Option
Target
Co
py
Analyze1
2
Convert 3
Source
Option
Target
Co
py
1
Analyze &
Convert2
Source
Option
Target
Co
py
1
Convert 3
Analyze 2
You execute report RBDLS_CHECK for table
analysis together with execution of the BDLS conversion task CL_STCT_SC_CONV_BDLS
Interesting especially, if it is organizationally not
possible to execute analysis prior to task list
execution
You execute report RBDLS_CHECK for table
analysis before the system copy in the
source/original system
Report collects detailed table information for
optimizing the BDLS conversion task
Allows a visual inspection of table structure before
copy procedure
You execute specific configuration task for table
analysis prior to executing BDLS conversion task CL_STCT_SC_CONV_BDLS, but after copy
For this, you use BDLS analysis task CL_STCT_SC_PREPARE_BDLS
Similar to option B, but allows to run the analysis
standalone, before the conversion
A B C
3
For more information and details, see White Paper – ABAP Post-Copy Automation: Conversion of Logical System Names in SAP Community Network
© 2014 SAP SE or an SAP affiliate company. All rights reserved. 16Public
Post-Copy Automation – Optimized BDLS TasksHistory + latest improvements
With the 7th improvement of system copy task content, only option of the optimized BDLS
execution was offered by PCA
With the 8th improvement of system copy task content and later deliveries, the optimization got further
improved with introducing options and , further enhanced with later (≥ 9th) improvements
For more information about the 8th improvements, see SAP Note 2039075
For more information about the 9th improvements, see SAP Note 2109013 – highlights of implemented BDLS improvements:
– Multi-pair conversion support: all relevant logical system names are converted
together per table
– Conversion batch job names now listed in tabular format in task log details,
which makes it easy to find a particular conversion log for a table
For SAP Business Warehouse and connected SAP Business Warehouse source systems (such as SAP ECC Server or
SAP CRM systems), the optimized BDLS scenario is only supported using ≥ 8th improvement of system copy task content
We strongly recommend to use the latest version of the system copy task content for the BDLS improvements
C
A B
© 2014 SAP SE or an SAP affiliate company. All rights reserved. 17Public
Post-Copy Automation – Optimized BDLS TasksOption : Execute report for table analysis before system copy in source system
You run report RBDLS_CHECK before system copy in the source/original system
Available as of the 8th improvement of system copy task content
Existing analysis from execution of report RBDLS_CHECK is used, if report was executed with
corresponding logical system names
Report RBDLS_CHECK can be called using transaction SE38, either in source/original system of the copy or in local
system (the copy), because analysis results are stored persistently and are hence copied together with system itself
Execution of analysis in source/original system can reduce BDLS execution time significantly, as it allows a visual inspection of
table structure before the copy procedure:
– Enables you to define early your optimization strategy
– Improves planning of your system copy project
– Is especially interesting in SAP BW systems, since certain generated SAP BW tables might be excluded from conversion or
a change of the data model using SAP Note 1894679 might be applied
In any case, potentially time consuming analysis is then done prior to time-critical post-copy activities – refer to slide “Rough
execution comparison” in this presentation deck
A
© 2014 SAP SE or an SAP affiliate company. All rights reserved. 18Public
Post-Copy Automation – Optimized BDLS TasksOption : Run table analysis together with BDLS conversion
You run the table analysis within executing the BDLS conversion
Available as of the 8th improvement of system copy task content
A new analysis of logical system names is executed within task directly before conversion to determine
corresponding relevant tables
Analysis is not done in separate task, but within BDLS conversion task itself
Interesting especially, if it is organizationally not possible to execute report RBDLS_CHECK prior to task list
execution, meaning that result remains valid until execution takes place or the source/original system is not
accessible before
Since analysis and conversion are combined within BDLS conversion task, only logical system names entered
for conversion will be analyzed
Since analysis itself is time-consuming as well, significant overall performance gain can only be expected
(compared to parallelization by table name), if histogram is very distinct from equal distribution, meaning that
some tables contain many more entries than most other tables (such as for SAP BW, where most tables start
with 'R')
B
© 2014 SAP SE or an SAP affiliate company. All rights reserved. 19Public
Post-Copy Automation – Optimized BDLS TasksOption : Execute table analysis prior to executing BDLS conversion
You add BDLS analysis task manually to the BDLS task list prior to BDLS conversion task
Available as of the 7th improvement of system copy task content
This option is basically the same as option B mentioned before, however with the BDLS analysis task (CL_STCT_SC_PREPARE_BDLS) and with the option to run the analysis standalone, before the conversion
BDLS analysis task CL_STCT_SC_PREPARE_BDLS executes report RBDLS_CHECK and generates list of relevant tables for
optimizing actual BDLS conversion task
Similar to option B, option C is interesting especially, if it is organizationally not possible to analyze long prior to task list
execution
Option C is only enabled in the BDLS conversion task, if the BDLS analysis task is placed in the same task list
UI is the same as of the report RBDLS_CHECK – customers who already have used this option before, can reuse their
corresponding task list variants
It is not recommended to use this option in BW PCA task lists
Like option B, an overall performance gain can be expected (compared to parallelization by table name), if the histogram is
very distinct from an equal distribution, meaning that some tables contain many more entries than most other tables or if the
names of the tables cluster for certain letters (such as for SAP BW, where most tables start with 'R')
C
Post-Copy Automation – Guidance
© 2014 SAP SE or an SAP affiliate company. All rights reserved. 21Public
Post-Copy Automation – BDLS TasksGuidance
In case you know your system already very well (for example, because you have executed BDLS conversions or system
copies before in system and do not face any need to improve conversion speed), we recommend that you choose
Job Execution Mode "Concurrent Jobs based on Table Name" in the BDLS conversion task, as described in section
“Post-Copy Automation – BDLS Tasks” of this presentation
However, if you observed high BDLS conversion runtimes or have no idea of table distribution in your system yet, choose
Job Execution Mode "Concurrent Jobs based on Table Entry“, as described in section
“Post-Copy Automation – Optimized BDLS Tasks” of this presentation
– If you have possibility to execute report RBDLS_CHECK in original system before system copy, we recommend to do so
– In case your system is an SAP BW system, we recommend that you use following advanced procedure and that you check for big generated
SAP BW tables:
o Execute table analysis (to reduce table analysis time in the phase of post-copy activities, we recommend to perform the analysis already in the source
system)
o Analyze results of analysis run to define optimization strategy – when performed before system copy, you also get a better estimation of improvable
BDLS execution runtime, which improves the planning of your system copy project
o Execute BDLS conversion task considering the analysis results – resulting in a significantly reduced BDLS execution time
For more information and details, see the White Paper – ABAP Post-Copy Automation: Conversion of Logical System
Names in SAP Community Network
2
3
© 2014 SAP SE or an SAP affiliate company. All rights reserved.
Thank you
Contact information:
Boris Zarske
SAP SE
Product Management for System Provisioning
© 2014 SAP SE or an SAP affiliate company. All rights reserved. 23Public
© 2014 SAP SE or an SAP affiliate company. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE or an
SAP affiliate company.
SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE
(or an SAP affiliate company) in Germany and other countries. Please see http://global12.sap.com/corporate-en/legal/copyright/index.epx for additional trademark
information and notices.
Some software products marketed by SAP SE and its distributors contain proprietary software components of other software vendors.
National product specifications may vary.
These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP SE or its
affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP SE or
SAP affiliate company products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing
herein should be construed as constituting an additional warranty.
In particular, SAP SE or its affiliated companies have no obligation to pursue any course of business outlined in this document or any related presentation, or to develop or
release any functionality mentioned therein. This document, or any related presentation, and SAP SE’s or its affiliated companies’ strategy and possible future
developments, products, and/or platform directions and functionality are all subject to change and may be changed by SAP SE or its affiliated companies at any time for
any reason without notice. The information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. All forward-
looking statements are subject to various risks and uncertainties that could cause actual results to differ materially 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.
© 2014 SAP SE or an SAP affiliate company. All rights reserved. 24Public
© 2014 SAP SE oder ein SAP-Konzernunternehmen.
Alle Rechte vorbehalten.
Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer, ohne die ausdrückliche schriftliche
Genehmigung durch SAP SE oder ein SAP-Konzernunternehmen nicht gestattet.
SAP und andere in diesem Dokument erwähnte Produkte und Dienstleistungen von SAP sowie die dazugehörigen Logos sind Marken oder eingetragene Marken der
SAP SE (oder von einem SAP-Konzernunternehmen) in Deutschland und verschiedenen anderen Ländern weltweit.
Weitere Hinweise und Informationen zum Markenrecht finden Sie unter http://global.sap.com/corporate-de/legal/copyright/index.epx.
Die von SAP SE oder deren Vertriebsfirmen angebotenen Softwareprodukte können Softwarekomponenten auch anderer Softwarehersteller enthalten.
Produkte können länderspezifische Unterschiede aufweisen.
Die vorliegenden Unterlagen werden von der SAP SE oder einem SAP-Konzernunternehmen bereitgestellt und dienen ausschließlich zu Informations-zwecken.
Die SAP SE oder ihre Konzernunternehmen übernehmen keinerlei Haftung oder Gewährleistung für Fehler oder Unvollständigkeiten in dieser Publikation.
Die SAP SE oder ein SAP-Konzernunternehmen steht lediglich für Produkte und Dienstleistungen nach der Maßgabe ein, die in der Vereinbarung über die jeweiligen
Produkte und Dienstleistungen ausdrücklich geregelt ist. Keine der hierin enthaltenen Informationen ist als zusätzliche Garantie zu interpretieren.
Insbesondere sind die SAP SE oder ihre Konzernunternehmen in keiner Weise verpflichtet, in dieser Publikation oder einer zugehörigen Präsentation dargestellte
Geschäftsabläufe zu verfolgen oder hierin wiedergegebene Funktionen zu entwickeln oder zu veröffentlichen. Diese Publikation oder eine zugehörige Präsentation, die
Strategie und etwaige künftige Entwicklungen, Produkte und/oder Plattformen der SAP SE oder ihrer Konzernunternehmen können von der SAP SE oder ihren
Konzernunternehmen jederzeit und ohne Angabe von Gründen unangekündigt geändert werden.
Die in dieser Publikation enthaltenen Informationen stellen keine Zusage, kein Versprechen und keine rechtliche Verpflichtung zur Lieferung von Material, Code oder
Funktionen dar. Sämtliche vorausschauenden Aussagen unterliegen unterschiedlichen Risiken und Unsicherheiten, durch die die tatsächlichen Ergebnisse von den
Erwartungen abweichen können. Die vorausschauenden Aussagen geben die Sicht zu dem Zeitpunkt wieder, zu dem sie getätigt wurden. Dem Leser wird empfohlen,
diesen Aussagen kein übertriebenes Vertrauen zu schenken und sich bei Kaufentscheidungen nicht auf sie zu stützen.