More Related Content
Similar to SAP S_4HANA Migration Cockpit - Deep Dive LTMOM for Direct Transfer.pdf
Similar to SAP S_4HANA Migration Cockpit - Deep Dive LTMOM for Direct Transfer.pdf (20)
SAP S_4HANA Migration Cockpit - Deep Dive LTMOM for Direct Transfer.pdf
- 2. 2
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
The information in this presentation is confidential and proprietary to SAP and may not be disclosed without the permission of SAP.
Except for your obligation to protect confidential information, this presentation is not subject to your license agreement or any other 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 directions 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 presentation 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 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.
Disclaimer
- 3. 3
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Document History
Revision Date Change
1.0 03.11.2020 Release for customer
2.0 June 2022 Updates for release 2021 included
- 4. 4
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Agenda
Create an own migration object – E2E example (& link to video)
Migrate custom-own fields and tables
Copy and delete migration objects
How to deal with changes in objects or structures
Adapt the selection
Transformation rules / Mapping
Transport
Debugging capabilities
Further information
Creating migration objects - the basics
Release overview – which features were delivered?
- 6. 6
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Release overview
Migration Cockpit (Fiori)
The approach “Migrate data directly from SAP system” is available since release 1909. Find below important new features.
Feature / Migration Cockpit (Fiori) With 2020 With 2021
Transport projects and project elements x
Mapping download/upload in Fiori x
Additional view on messages (instances concerned by message) x (FPS1)
Copy projects x (FPS1)
Step selection split into: selection and prepare mapping tasks x
Migration results view – display document no./record ID of migrated item x
Detailed view on migration process (multi-step objects, error case) x
Cancel function in MC monitor x (FPS1)
Download migration results x (FPS1)
Download selected items x (FPS1)
Message download customizable x (FPS1)
- 7. 7
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Release overview
LTMOM
Feature / LTMOM With 2020 With 2021
Copy objects x
Delete objects x
Selection – skip rule x
Mapping – custom-own source code rules x
Mapping download/upload disabled in LTMOM – now in Fiori only x (FPS1)
Create migration object from template – copy an (updated) standard
SAP migration object into your project (a second time if needed)
x
Selection – BAdI for selection x
The approach “Migrate data directly from SAP system” is available since release 1909. Find below important new features.
- 9. 9
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Creating migration objects - the basics
Organizational units and their derivation
Each SAP application uses its organizational units to structure the data. Organizational units are assigned to each other in
order to be able to process the data in an integrated way.
Controlling area
Company code
Plant
For each MC scenario, SAP predefines the most suitable unit to be used as
selection unit, e.g. for SAP ERP to SAP S/4HANA the company code.
Sales organization
When starting the selection, an
integrated selection engine
derives the related organizational
units.
As long as you use SAP
delivered migration objects, the
engine ensures that all data
which belong to the selected
migration objects of this
company code(s) is selected.
…
Open items
Materials
Customers
Cost centers
- 10. 10
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Creating migration objects - the basics
Components of a migration object
Function module
Data model Migration object
instance
Transformation rule /
mapping
Migration object
Define selection
Define derivation of
organizational unit
- 11. 11
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Creating migration objects - the basics
Components of a migration object
Function module
Data model Migration object
instance
Transformation rule /
mapping
Define selection
Define derivation of
organizational unit
1. Expects
dedicated fields in
order to be able to
create a record in
the target system
3. Defines from
which tables in
the source
system the
data is read in
order to create
a migration
object instance
2. Contains the data
which is necessary to
feed the function
module.
4. Filters derive
the relevant
organizational
units from which
the data is
selected. More
selection options
exist.
6. Data is created
respectively
posted in SAP
S/4HANA
5. When starting the
simulation or migration,
the transformation rules
are applied to the fields
of the instance. The
transformed instance is
passed to the API.
Migration object
- 12. 12
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
API
Creating migration objects - the basics
Migration object instance
Transformation
rules
Root table CSKS
Company code: 0001
Cost center: 0815
Valid to: 31122099
Cost center category: A
….
Root table CSKT
Migration object
Cost center
Cost center
0111
Migration object instance
ID: 123489123
Company code: 0001
Cost center: 0815
Valid to: 31122099
Cost center category: A
….
KTEXT: Administration
LTEXT: Administration DE
SAP S/4HANA
KTEXT: Administration
LTEXT: Administration DE
- 13. 13
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Creating migration objects - the basics
As long as you use the delivered Migration Objects, SAP ensures that all relevant records (chosen organizational units and
chosen migration objects) are selected. The derivation of the dependent organizational units is also already part of the
delivered objects.
As soon as you start adapting the selection, adapting delivered objects or creating own
objects, it lies in your responsibility to take care for a consistent selection and a
successful migration.
Pls. refer to SAP note 2481235 for more details.
- 14. Create an own migration object – E2E
example (& link to video)
- 15. 15
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Scenario “SAP ERP to SAP S/4HANA” is used. Up to release OP2021 FPS0, migration object “CO Cost center” only
transferred the master data text in the logon language. If there were also texts in other languages, an additional migration
object for texts was needed. We use this text object example to demonstrate how to create an own object.
In this system, cost center KSDTGERMAN has texts in three languages: D, E and F.
SAP ERP source system
Create an own migration object – E2E example
Business example
- 16. 16
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Steps to be executed in the system:
▪ Transaction LTMOM: create a migration object – this opens the wizard
▪ Migration object wizard
− Edit the settings for all steps in the wizard
▪ Check project in the migration cockpit (SAP Fiori)
▪ LTMOM: source tables – define selection criteria
▪ LTMOM: target processing
− Structure mapping including access path to the child table
− Field mapping
▪ Execute the selection and simulation in the migration cockpit (SAP Fiori)
Find the full demo (30 min,
release 2020 FPS0) here:
Create an own migration object – E2E example
Steps in the system
- 17. 17
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Create an own migration object – E2E example
Wizard for basic settings
Transaction LTMOM (in the SAP S/4HANA backend)
Here you find the COMPLETE documentation for the modeler
functionality of the Direct Transfer!
Create a new migration object
Opens the migration object wizard
- 18. 18
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Create an own migration object – E2E example
Wizard - define source tables
Docu for each step
Often, a proposal
function is available
The guided procedure
leads you through all
basic steps
In this example, CSKT is the root
table, CSKS the child table
- 19. 19
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
These three table types are possible:
▪ Database table
Database tables exist in the ABAP Dictionary in your source system.
▪ Manually defined table
This table is freely defined and does not exist in the ABAP Dictionary in your source system. The data
for this table is selected according to provided ABAP source code that exists in your source system.
▪ Extension table
This table is freely defined and does not exist in ABAP Dictionary in your source system. It is
generated automatically in your control system. The system fills it with data during selection with
ABAP source code that exists in your control system.
Pls. note!
You can create or adjust tables of the first two types only. Extension tables are a specific
functionality that is rarely required in a standard case. It is used in a few SAP migration objects
created by SAP content developers, but its modification is currently not supported in the
Migration Object Modeler.
Create an own migration object – E2E example
Wizard - define source tables
- 20. 20
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Create an own migration object – E2E example
Wizard – data selection
Define selection logic later, directly
in LTMOM. We chose this option.
Pls. note: the wizard only provides “easy” selection possibilities. The wizard covers especially the case that you
want to define the selection by using one filter only. More advanced possibilities are provided directly in transaction
LTMOM – compare slides 16 ff.
Select all data from the tables defined in your
data model
Use a filter to select the data, e.g. company code,
controlling area. The filters are delivered by SAP.
Use a table field to filter the records
In this step you will
define the API which
is used for this object
- 21. 21
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Create an own migration object – E2E example
LTMOM for detailed settings: source tables – set filters
After you have finished all steps in the wizard, the new migration object is visible in the Migration Cockpit. Some detailed
settings have to be made in LTMOM before you can use the object.
In transaction LTMOM, go to your migration object and click on “source tables”.
Chose the table for
which you want to
define the selection
A click on the arrow opens the popup for detailed
selection settings referring to the respective field
- 22. 22
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Create an own migration object – E2E example
Which filters are needed for the current example?
Root table CSKT does not contain the company code.
Therefor we’ll chose controlling area (KOKRS) as selection
criteria instead. We will assign the filter for controlling area
which derives the controlling area from the company code.
The scenario „SAP ERP to SAP S/4HANA“ predefines the company code as selection criteria.
Child table CSKS contains the company code. We’ll
chose field company code (BUKRS) as selection criteria
and we will assign the filter for company code. This filter
gets its value directly from the input field of the migration
project.
Assign filter
KOKRS
Assign filter
BUKRS
- 23. 23
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Create an own migration object – E2E example
LTMOM for detailed settings: assign filters
Go to the popup for selection details and assign
the necessary filters.
Assign filter KOKRS to field CSKT-KOKRS
filter BUKRS to field CSKS-BUKRS
Click on the arrow to
define the selection
using field KOKRS
1
Show available filters
2
Assign filter, e.g. filter KOKRS
3
- 24. 24
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Popup: You select for BUKRS 0001
Table TKA02: BUKRS – KOKRS: 0001 – 0001
SAP S/4HANA
SAP ERP
Create an own migration object – E2E example
How does the selection work for the current example?
Start the selection in the
Migration Cockpit
CSKT-KOKRS CSKS-BUKRS
Reads Migration object definition
Applies logic of the assigned filters
Logic is delivered by SAP!
Entries from CSKT for KOKRS 0001
Entries from CSKS for BUKRS 0001
Selects entries from relevant tables
Creates migration object instances
Instance ID 1001 D … Verwaltung 01011995 31129999
Instance ID 1002 E … Administration EN 01012000 31129999
- 25. 25
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Create an own migration object – E2E example
LTMOM for detailed settings: structure mapping
After you have assigned the filters, you now map source to target structures.
Drag & drop structure
CSKT to structures
language and cost
center list
1
2 Position cursor on cost
center list & click
assignment
- 26. 26
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Create an own migration object – E2E example
LTMOM for detailed settings: structure mapping, foreign table data access
In this example, we have a child table (CSKS). We have to define how the corresponding lines in table CSKS are found –
this is called: foreign table data access. Each line in CSKT (root table) has exactly one corresponding line in table CSKS –
so we chose “any line”.
1
Click this link
2
We chose “read
any line”
- 27. 27
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Create an own migration object – E2E example
LTMOM for detailed settings: field mapping
The last step is to define the field mapping from source to target fields. Assign the fields by drag & drop. One field from
CSKS, the other 6 fields from CSKT. This creates simple MOVE rules. Find information on other rules in slides xxx.
Drag & drop the 7 source fields to assign
them to the target fields
For a better overview, display only
the fields with assignment
- 28. 28
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Create an own migration object – E2E example
Check function in LTMOM
After you finished the creation of your own object, it makes sense to use the check function in order to see if the new object
is consistently defined.
Check function
Check options
Example for one of the checks:
- 29. 29
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Create an own migration object – E2E example
Migration object ready to use
The new migration object is now ready to be used. As we have created simple MOVE rules there are no mapping tasks
shown. In case of fixed rules or mapping rules, you would see them in the column “mapping tasks” and it would be possible
to edit them in the mapping task detail screen.
- 31. 31
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
▪ Copy migration object from template
➢ Copy migration object within the same project
➢ Delete migration object (right mouse-click)
Copy and delete migration objects
1
2
3
1
2
3
With release 2020, you can copy migration objects from template (from the objects delivered by SAP) and you can copy
migration objects within the same project. Also the deletion of objects is possible
With 2020 FPS01: copy project
(in the Migration Cockpit/Fiori)
- 33. 33
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Adapt the selection
As long as you use the delivered Migration Objects with their delivered selection settings (especially filters and inheritance
of restrictions), SAP ensures that all relevant records (chosen organizational units and chosen migration objects) are
selected.
As soon as you start adapting the selection, it lies in your responsibility to take care for a
consistent selection which fulfills the need for a successful migration.
- 34. 34
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Adapt the selection
Ways how to influence
Skip rule
Table field
Define within the data model of the
migration
Selection result
Filter
SAP S/4HANA
SAP ERP
inheritance of restriction
BAdI for
selection*
Project
Company
codes
Migration
objects
SAP S/4HANA
How can you influence the selection?
Set a filter which is
delivered by SAP
Define selection criteria on
table field level
Write coding to skip
items from selection
Write coding to define
the selection
Restrictions => see slide 44
*new with 2021
- 35. 35
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Adapt the selection
Ways how to influence - details
Project
Company
codes
Migration
objects
Skip rule
Table field
How can you influence the selection?
Set a filter which is
delivered by SAP
Define selection criteria on
table field level
Define within the data model of the
migration object (affected tables)*
Selection result
Filter
Company code
Controlling area
Plant
…
Records belonging to respective organizational
units are selected from the source tables.
Restrictions on table field level are applied if
maintained.
Write coding to skip
items from selection
SAP S/4HANA SAP S/4HANA
SAP ERP
inheritance of restriction
Instances
CSKS CSKT Internal tables
Records are transferred to the
target system.
Skip rules are applied if
maintained.
BAdI for
selection
Write coding to define
the selection
- 36. 36
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Skip rule
Table field
Selection result
Filter
SAP S/4HANA
SAP ERP
BAdI for selection
BAdI for selection Skip rule
The BAdI allows you to apply additional logic to the data selection from the SAP source system. If the filtering
logic or simple selection criteria offered in the migration object modeler are not sufficient for you to support
your data selection requirements, you can implement ABAP code in the source system using this BAdI.
Find details in KBA 3092921.
▪ Control whether data will leave
the source system or not.
▪ Add, remove, or alter keys of
selected data records.
▪ Skip certain instances from being created
in the target system.
▪ Only restrict data set that has been
defined for the transfer.
Adapt the selection
BAdI for selection
- 37. 37
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
▪ Definition: a filter is a collection of values of the same type that is stored centrally for your
project, and therefore available for all migration objects assigned to the project. A filter can
be for example company code, controlling area, plant, chart of accounts, …
▪ Filters are defined by SAP per scenario (e.g. SAP ERP to SAP S/4HANA, SAP CRM to
SAP S/4HANA Service, …). The list of available filters can be seen in your object: source
tables, column selection for the respective field – click on the input help of field filtering
logic (see slide 18).
▪ The filters take care that the related organizational units or criterion are derived correctly
based on the values which have been defined in the respective Migration Cockpit project.
▪ The rules behind the filters are not visible to customers
▪ Derived filter values, e.g. the plants which have been derived by the company codes are
not visible to customers. Nor is it possible to change, add or delete the derived values. Pls.
check if table field restrictions can solve your requirement.
▪ New filters cannot be created by customers
▪ Slides 22 to 26 show an E2E example and how to assign filters
Adapt the selection
Filters
- 38. 38
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Adapt the selection
Table fields
Click on the arrow to open the popup for
detailed selection settings for field CSKT-
KOSTL
A click on the arrow opens the
standard select option dialog
In this example, only the texts for cost centers
1 to DE will be selected
In your migration object, under source tables, you can change the selection for this object. The standard select option dialog is
offered for each table field of the source tables.
- 39. 39
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Adapt the selection
Inherit restrictions (affected tables)
If you use filters and/or a restrictions on table fields, you have also to define how the selection for each source table at
level >=2 impacts other tables.
You find this setting on the same popup as the settings for filters and selection on table fields (see path on the previous
slide).
The selection criteria are only restricted to the current
table. There is no impact on the selection result from the
root table. But in this case, all its child tables are also
restrictive.
The selection result is aggregated level by level
upwards until it reaches the root table
▪ If you choose Selection only affects this table and any descendants, the dropdown list of
Affected Tables for all child tables will automatically not be editable.
▪ If you choose Selection affects the entire migration object instance, the dropdown list of
Affected Tables for the first level child tables will be editable.
- 40. 40
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Adapt the selection
Inherit restrictions (affected tables) – example
MARA
MARC WERKS
The below example for migration object product explains the logic of this setting. This example does not represent the
complete data model, it is a reduced and schematic representation!
…
…
Source tables and filters
MARA contains no field which is suitable for an
organizational derivation.
In order to migrate only the material numbers which belong
to the relevant company codes, the filter WERKS is set on
subordinated table MARC. The filter WERKS finds in
MARC all MATNR which are assigned to plants belonging to
the chosen company codes.
The setting Selection affects the entire migration object
instance has to be set. This means only when a MARC-
MATNR record is relevant, also the MARA-MATNR record
will be selected.
Will the settting Selection only affects this table and any
descendants be set, all MARA-MATNR would be selected,
no matter if a suitable MARC-MATNR is found. This will lead
to errors during simulation/migration in case of MARA
records without corresponding MARC records.
BUKRS: 1000
Detailled view on tables
MARA
MATNR
AAA
BBB
CCC
DDD
MARC
MATNR WERKS
AAA 1000
AAA 2000
BBB 2000
BBB 3000
CCC 4000
DDD 5000
WERKS_FILTER
WERKS
1000
2000
- 41. 41
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Adapt the selection
Skip rule
In your migration object, under source tables, using button Advanced selection settings, you can access the so-called skip
rule. You first generate the rule. It is of type “source code” and will be displayed under this section in your object. With the
pen button you access the source code. Here, you write your individual coding to skip items from the selection. As the skip
rule consumes more runtime in comparison to other possibilities, only use this rule if necessary.
First, click on
generate. The
button changes
then to the pen
button.
Here you put in your
coding
The rule is called from the target system after receiving corresponding data
for an instance from the source system and before creating a new instance
and adding it to the instance list. The selected data is passed to the rule by
its import parameters, so you can apply your criteria to the data and provide
your decision in the export parameter _EV_SKIP_RECORD.
- 42. 42
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
▪ These three types of selection criteria (filters, table fields, affected tables) can only be
applied at data base table level.
▪ If you add some manual definition tables or extension tables, you cannot set these
selection criteria.
▪ In addition, if your data base table is a cluster or pool table, you also cannot set these
selection criteria.
▪ If the header table is a cluster or pool table, the selection criteria cannot be applied to
all the tables.
▪ Skip rules can be applied for any kind of tables.
Adapt the selection
Restrictions
- 44. 44
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Transformation rules
Basics & rule types
The Migration Cockpit uses transformation rules to change values that are migrated from source fields to target fields. You
can use existing rules or create your own rules and assign them to the target fields in the Field Mapping.
In the Migration Cockpit, transformation rules are called mapping tasks.
The delivered Migration Objects already contain predefined mapping tasks.
The following rule types exist:
▪ Fixed Values
▪ Value Mappings
▪ Source Code*
*new with 2020
- 45. 45
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
▪ Until release 2020 (incl.), the step selection also created mapping value proposals. So
after you executed the selection from the source system, the mapping values were
visible. With release 2021, mapping values are created in the separate activity prepare
mapping tasks.
▪ In the Migration Cockpit, only the mapping tasks which have values after the selection
are displayed. If you go to download mapping templates, all mappings which are basically
available for this object are offered. In transaction LTMOM, you also see all mapping
tasks.
▪ Currently, there is no lock functionality for mapping values. Manual value editing is always
possible. Only the upload of mapping is blocked if at least one record for the migration
object has already been successfully migrated (or successfully partly migrated in case of
multi-step objects).
▪ Source code rules and MOVE rules are not displayed in the Migration Cockpit (under
mapping tasks), only in transaction LTMOM.
▪ The SKIP rule (influence selection) is a source code rule.
▪ Transformation rules can be transported. Values are never transported, they can be
downloaded and uploaded.
▪ With 2021, copy and deletion of transformation rules is possible (transportable).
Transformation rules
Basics & rule types
- 46. 46
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Transformation rules
Download / upload of mapping values
Mapping values can be downloaded/uploaded in the Migration Cockpit (since 2020). Mapping download/upload in
transaction LTMOM (since 1909) is not possible any more with release 2020 FPS1.
Migration Cockpit
Upload / download
mapping templates
Upload / download
mapping values
Upload/download all templates
and / or mappings for your
project!
- 47. 47
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Transformation rules
Create an own transformation rule of type mapping – E2E example
In the following example, a custom-own transformation rule of type mapping is created. It will map long texts for cost
centers. This new mapping task will be assigned to the migration object Z_KOSTL_DT_TEXT. Back in the Migration
Cockpit, selection will be executed (again) and mapping will be edited.
Right mouse-click on the rule type and
choose Create. In this example, the rule is
only valid for object Z_KOSTL_DT_TEXT.
Decide if you create a rule which is valid in the whole project or
only for a dedicated migration object.
Define the name of the rule
- 48. 48
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Transformation rules
E2E example – create mapping rule
Define suitable import and export parameters for the rule. In this example, import parameters are: KOKRS, SPRAS, LTEXT,
export parameter is: LTETXT. Activate and release the new rule.
Import / export parameter
Activate the rule
Release the rule
- 49. 49
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Go to the field mapping, field “DESCRIPT” – currently, a simple MOVE rule from the previous example is assigned.
Double-click on the line and assign the newly created rule MAP_KOSTL_LTEXT (type mapping). In case it is a rule only
valid for the current object – change the rule list display to the object.
MOVE rule assigned from
previous example
Assign new rule
Transformation rules
E2E example – assign mapping rule
Use F4 help
- 50. 50
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Define the import parameters for the rule. Use F4 for choosing import parameters: IV_KOKRS => CSKT-KOKRS,
IV_LTEXT => CSKT-LTEXT and IV_SPRAS => CSKT-SPRAS. Export parameter EV_LTEXT is set automatically.
Newly assigned
mapping rule
After you closed the popup, you see the newly
assigned transformation rule of type mapping
Transformation rules
E2E example – assign field mapping
Move rules
Also fixed value or system variable
are possible here
- 51. 51
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Transformation rules
Excursus: assign rules for documents (multiple lines)
For migration objects which create postings (e.g.
open items), an open item line (OI) and an offset
line (OL) is created by the API. This means, the
rule assignment has to be made for each of the
lines.
In the example below, the open item line is filled
with a cost center by using mapping rule
KOKRS_KOSTL. For the offset line, the cost
center is initialized.
Open item line and offset line
for the object FI – G/L open
items Rule assigned to open item
line, offset line is initialized
- 52. 52
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
The last step is to define that this mapping rule automatically creates mapping values. You see these mapping entries
in the Migration Cockpit as well as in LTMOM after the selection has been executed. Go to target API and click your
transfer step.
Click the plus button, this opens
a popup
Transformation rules
E2E example – create mapping proposals during the selection
In 1909, the feature to fill
source and target mapping
values for custom-own rules
automatically is not yet
available. You have to
download the mapping
template, fill it with source
and target values. Then
upload it in LTMOM.
- 53. 53
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Transformation rules
E2E example – create mapping proposals during the selection – popup with details
The export parameter defines how
the mapping values are filled
automatically. In this example, the
source value shall be proposed as
target value.
Detailed docu!
Entries with import parameters are
inactive, they are for your information only
(that means showing you source values of
your value mappings). Define how the
generated mapping should look like
(that means which target value the system
should set). You have several options:
▪ Fill with a fixed value
▪ Fill with a system variable
▪ Leave the target value blank
▪ Import parameter or source value
- 54. 54
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Transformation rules
E2E example – create mapping proposals during the selection – return transfer results
In case of internal numbering or if your object has multiple transfer steps (as e.g. in migration object fixed asset), the
target mapping values have to be returned back (after the mappings have been applied/created).
Assign the parameter which will
store the target mapping value
Go to the details
After you edited the transfer result entry, you can
then chose the update from transfer result and
assign the right step
Use F4 help to find
the parameter
- 55. 55
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Transformation rules
E2E example – use check function
After the creation of the mapping rule, the screen looks like shown below. Use the check function before you go ahead.
Use the check function
The new mapping rule is
ready to be used now
- 56. 56
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Go back to the Migration Cockpit and execute the selection (again). After that you see the mapping task
MAP_KOSTL_LTEXT. You can go into the detail screen and edit the mapping values.
Transformation rules
E2E example – result in the Migration Cockpit
- 57. 57
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
The system automatically creates the according mapping templates. You can use all standard functionality for mapping
tasks for your customer-own rule, too.
Transformation rules
E2E example – all standard functionality available
Download template
Mapping template
- 59. 59
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Migrate custom-own fields
If there are field extensions (custom-own fields resp. Z-fields) the Migration Cockpit recognizes it.
Transaction LTMOM displays these fields within the Migration Object under “source tables” as source fields.
If and how the custom-own field can be migrated to the target system depends on how the BAPI used in the Migration
Object is designed.
For function modules, three different concepts exist:
▪ Function modules which contain includes or append fields
▪ BAPI function modules with extension fields type 1 (e.g. BAPI_MATERIAL_SAVEREPLICA)
▪ BAPI function modules with extension fields type 2: with or without X-fields
In all cases, the includes and append structures have to be edited by the customer (transaction SE11).
The user needs deep DDIC knowledge and ABAP development authorization.
If you want to create an own function module, see SAP Note 2590165.
- 60. 60
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Source tables
▪ The same table can be added several times to the same data model of a migration object
▪ "Where used" function to find out where a table is used in source structures
▪ Restrict length of manual tables in source system to 16 characters
New namespace "Z_" for customer created objects: migration object and transformation rules. They all need to start with
"Z_".
New with 2021
- 61. 61
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Migrate custom-own tables
The SAP S/4HANA Migration Cockpit is able to migrate custom developments such as
▪ additional Z-fields in standard objects or
▪ completely individual custom objects
Design of the Migration Cockpit
▪ Instance based processing => each(!) line of the root table in the source structure definition is treated as instance
▪ Each sender record becomes an instance and is treated as single instance while transferring the data
▪ This makes sense for processing of an instance as a whole entity (usually an instance consists of several source
tables, which entries have a relation to each other via foreign key relations)
▪ The target API is doing plausibility checks for each instance before creating the instance on DB level. “All or nothing”
principle per instance to create/update only logically consistent instances.
If a simple 1:1 table transfer without the need for any transformations,
plausibility and consistency checks, the development of an own RFC-
enabled function module (currently used API just RFC-enabled) and a Z
program which is retrieving the data from the Z table and transfers it 1:1 from
sender to target should be considered.
- 62. How to deal with changes in objects or
source structures
- 63. 63
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Migration object updates can come into your system by:
▪ a new release,
▪ a feature package (FPS) or support package (SP) or
▪ by a so-called TCI note (SAP Note transport-based correction instructions).
The updates are always first available in client 000 only and must be loaded to the current client report
(CNV_PE_MC_LOAD_OBJECTS)!
If you experience issues with a migration object, for example issues with transformation rules, the outdated migration
object (outdated content) might be a reason.
An object update does not change already existing projects with their assigned objects. In order to use the new content,
you can either copy the updated migration object to your existing project (transaction LTMOM, create migration object from
template) or you create a new project.
Migration object updates
New with 2021: after a system upgrade, FPS, or TCI note implementation, you are
now forced to run the object update report CNV_PE_MC_LOAD_OBJECTS. When
creating a new project or adding an object, the system checks if updates exist.
- 64. 64
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Migration object updates
Project A
CO - Cost center
FI - G/L account
CNV_PE_MC_LOAD_OBJECTS
Client 000 contains the (updated) SAP template migration objects
execute program to update the template SAP migration objects in current client 001
already existing project
stays untouched!
Project A
CO - Cost center (new)
CO - Cost center
FI - G/L account
or create a new project
Client 001
Project AAA
CO - Cost center (new)
copy this updated template object
to an existing project (using
LTMOM, create migration object
from template)
1
2 2
(see SAP note 2870546)
In release 1909, “copy from template” does not yet exist. You have to create a
new project manually and assign the updated migration object.
- 65. 65
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
How to deal with changes in objects or structures
Migration objects refer to ABAP Dictionary objects (for example database
tables) and repository objects (for example function modules). The
migration cockpit can compare the available definitions in the migration
objects with the structures of the ABAP Dictionary objects. The
synchronize function checks if there are changes (e.g. additional
importing fields) and adapts the migration objects accordingly.
Updates in ABAP Dictionary objects
- 67. 67
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Transport
Migration Cockpit
When creating a project, you have to
assign a development package. If you
use $TMP, the project will not be
transported.
Since on-prem version 2020 the approach Direct Transfer is connected to the SAP transport management. Projects in non-
editable systems (e.g. quality and production) are accessible in display mode only.
Note that it will not be possible to change
the scenario or the development package
after you create the project.
Click here for more details
Important
- 68. 68
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Transport
LTMOM
In transaction LTMOM, you can add projects, migration objects, and rules to a transport request. If you add a project to a
transport request, then all migration objects and rules in the project will also be added to the transport request.
Only the definition of a rule is added to a transport
request.
If you add a migration object to a transport
request, then all rules that are used by the
migration object will also be added to the
transport.
Rule values, for example mapping values are not included in the
transport. They have to be brought by download/upload into the
system.
- 70. 70
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Debugging capabilities
Already since release 1909 there are debugging capabilities for transformation and simulation. Go to transaction LTMOM
and change to the edit mode. After you clicked on a migration object, you see the simulation function. This opens a
program.
Select the instances you
want to debug
Sets a breakpoint where the migration cockpit starts to
apply the transformations (e.g. mappings) to the
instances
Sets a breakpoint where the migration cockpit starts to
feed the API with the transformed instances
- 72. 72
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
SAP S/4HANA migration cockpit
Migration object modeler for file/staging
Migration Object Modeler File/Staging
- 73. 73
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
SAP S/4HANA Migration Cockpit 2021 & CE2202
SAP S/4HANA migration cockpit
Complete overview presentation
- 74. 74
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Data Migration Landing Page on SAP S/4HANA SAP Help Portal
- 75. 75
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
SAP S/4HANA migration cockpit – further training material
* openSAP Course based on 1909
*
- 76. 76
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
SAP S/4HANA migration cockpit community
https://community.sap.com/topics/
s4hana-migration-cockpit
One-stop shop – free access
▪ Latest news
▪ Blogs
▪ Q&A section
FAQ
- 77. 77
PUBLIC
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Preconfigured SAP S/4HANA sandbox system
Demo scripts for SAP S/4HANA migration cockpit available
System access for externals
External CAL: https://cal.sap.com/catalog#/solutions/52c66f34-9174-4692-b64d-4c34b955d9bc
Demo scripts for SAP S/4HANA migration cockpit
• File approach (bank)
• File approach (material) LTMOM - file approach (cost center
texts)
• Staging approach (G/L accounts)
• Direct Transfer approach (cost centers and activity types)
• LTMOM – Direct Transfer approach (cost center texts)
• Direct Transfer approach (material)
• Direct Transfer approach (vendor, CVI)
SAP S/4HANA trial system (external link):
https://www.sap.com/cmp/oth/crm-s4hana/s4hana-on-premise-trial.html
https://blogs.sap.com/2019/04/23/sap-s4hana-fully-activated-
appliance-demo-guides/
- 78. © 2020 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.
The information contained herein may be changed without prior notice. 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 or its affiliated companies shall not be liable for errors or omissions with respect to the materials.
The only warranties for SAP 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 platforms, 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, and they
should not be relied upon in making purchasing decisions.
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. All other product and service names
mentioned are the trademarks of their respective companies.
See www.sap.com/copyright for additional trademark information and notices.
www.sap.com/contactsap
Follow us