0% found this document useful (0 votes)
219 views139 pages

Data Migration Using The SAP S4HANA Migration Cockpit

The document is a participant handbook for a two-day instructor-led training course on data migration using the SAP S/4HANA Migration Cockpit. It covers various migration scenarios, methodologies, and tools, including the Extract-Transform-Load approach and the use of staging tables and direct transfer for data migration. The course is intended for application, development, and technology consultants, providing them with essential knowledge to successfully implement data migration projects.

Uploaded by

Pascual
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
219 views139 pages

Data Migration Using The SAP S4HANA Migration Cockpit

The document is a participant handbook for a two-day instructor-led training course on data migration using the SAP S/4HANA Migration Cockpit. It covers various migration scenarios, methodologies, and tools, including the Extract-Transform-Load approach and the use of staging tables and direct transfer for data migration. The course is intended for application, development, and technology consultants, providing them with essential knowledge to successfully implement data migration projects.

Uploaded by

Pascual
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 139

S4D445

Data Migration Using The SAP


S/4HANA Migration Cockpit

.
.
PARTICIPANT HANDBOOK
INSTRUCTOR-LED TRAINING
.
Course Version: 23
Course Duration: 2 Day(s)
Material Number: 50160531
SAP Copyrights, Trademarks and
Disclaimers

© 2022 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 https://www.sap.com/corporate/en/legal/copyright.html 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 may have been machine translated and may contain grammatical errors or
inaccuracies.
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.

© Copyright. All rights reserved. iii


Typographic Conventions

American English is the standard used in this handbook.


The following typographic conventions are also used.

This information is displayed in the instructor’s presentation

Demonstration

Procedure

Warning or Caution

Hint

Related or Additional Information

Facilitated Discussion

User interface control Example text

Window title Example text

iv © Copyright. All rights reserved.


Contents

vii Course Overview

1 Unit 1: Introduction To Data Migration

3 Lesson: Migrating to SAP S/4HANA

11 Unit 2: Migrating Data Using Files

13 Lesson: Creating a Migration Project


29 Lesson: Processing Errors

37 Unit 3: Adapting Migration Objects Using the Migration Object Modeler

39 Lesson: Changing The Fields Of A Migration Object

63 Unit 4: Migrating Data Using Staging Tables

65 Lesson: Preparing To Use Staging Tables


69 Lesson: Creating a Migration Project With Staging Tables
77 Lesson: Using the Migration Object Modeler in a Staging Table
Project

83 Unit 5: Migrating Data Using Direct Transfer

85 Lesson: Creating A Direct Transfer Project


89 Lesson: Technical Requirements for Direct Transfer
91 Lesson: Performing The Direct Transfer

103 Unit 6: Copying Projects Between Systems

105 Lesson: Copying Projects Between Systems

109 Unit 7: Creating Your Own Migration Object

111 Lesson: Create Your Own Function Module


115 Lesson: Creating the Migration Object
123 Lesson: Debugging Migration Runs

© Copyright. All rights reserved. v


vi © Copyright. All rights reserved.
Course Overview

TARGET AUDIENCE
This course is intended for the following audiences:
● Application Consultant
● Development Consultant
● Technology Consultant

© Copyright. All rights reserved. vii


viii © Copyright. All rights reserved.
UNIT 1 Introduction To Data Migration

Lesson 1
Migrating to SAP S/4HANA 3

UNIT OBJECTIVES

● Understand the migration scenarios

© Copyright. All rights reserved. 1


Unit 1: Introduction To Data Migration

2 © Copyright. All rights reserved.


Unit 1
Lesson 1
Migrating to SAP S/4HANA

LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Understand the migration scenarios

Migration Scenarios

Figure 1: Introduction to SAP S/4HANA Migration

There are various paths to SAP S/4HANA, and the one that you choose will depend on your
starting situation and the kind of system landscape that you want to achieve. If your SAP
Business Suite landscape is already optimal for your organization, you can convert the
system in-place into an SAP S/4HANA system. In this scenario, you will not require data
migration, as the data remains in the system after it has been converted. You can use this
approach to convert your existing SAP Business Suite systems into on-premise SAP S/
4HANA systems.
There are, however, many installations in which the system landscape has grown with the
course of time and, for historical reasons, is unnecessarily complicated (for example, due to
mergers and acquisitions or differing system requirements in various countries or lines of
business). In this case, many companies are taking the opportunity to re-design their system
landscape (this is what is known as a "greenfield approach"). In this scenario, you install and
configure a new SAP S/4HANA system, which you must then fill with data from your legacy
system or systems. SAP's recommended tool for data transfer is the Data Migration Cockpit.
This is contained within your SAP S/4HANA system at no extra licensing charge, and enables
you to migrate data from either an SAP or non-SAP legacy system.

© Copyright. All rights reserved. 3


Unit 1: Introduction To Data Migration

Figure 2: Data Migration - Extract, Transform, Load

In simplest terms, data migration involves extracting data from one system and loading it into
another. However, in practice, this is seldom possible without transforming the extracted data
before you load it into the target system. The transformation can involve formatting values to
fit the target fields. You can also use this phase to ensure the quality of your data (for
instance, to identify and eliminate duplicate master data).
Data migration is a key aspect of the implementation of a new system. Given the quantity of
data that you need to migrate, it is essential that the process is automated as far as possible.
This automated process should also include data validation - checks that ensure that the data
conforms to the requirements of the target system. In the SAP environment, there are two
forms of validation. The first is to ensure that a particular data record is complete. For
example, is the mandatory field Company Code filled? The second is to check that the value
supplied matches the Customizing of the target system. For example, does the supplied
company code 100 actually exist in the target SAP S/4HANA system?
Even though successful data migration is essential to the overall success of a system
implementation, research organizations have found that the majority of data migration
projects run over time or over budget, or suffer from poor data quality. It is therefore essential
to regard data migration as a critical activity in your overall migration project.

4 © Copyright. All rights reserved.


Lesson: Migrating to SAP S/4HANA

Figure 3: SAP S/4HANA Migration Cockpit

The SAP S/4HANA Migration Cockpit is part of SAP S/4HANA and SAP S/4HANA Cloud and
its use is included in these licenses. It is a ready-to-use solution that contains a
comprehensive set of preconfigured migration objects such as customer, supplier, material,
cost center, and so on.
The proven methodology is integrated in the SAP Activate road map Transition to SAP S/
4HANA. It is part of the SAP Model Company service and represents best practices in data
transfer.
The Migration Cockpit provides template files for the data that you need to transfer and
guides you step-by-step through the migration process, validating the data to ensure high
quality and consistency.
You can adapt SAP's preconfigured migration objects to take your own custom fields and
data conversion routines into account. You can also create your own migration objects from
scratch for cases in which there is no preconfigured content from SAP.
The Migration Cockpit is a focus topic for further development. For example, there are plans
to add features for data cleansing and integration with SAP Master Data Governance.

© Copyright. All rights reserved. 5


Unit 1: Introduction To Data Migration

Figure 4: The Data Migration Process

The data migration process follows the Extract - Transform - Load approach. At the beginning
of a project, you define the migration objects that you want to use. Each migration object
describes a particular kind of data such as a bank master record, customer, supplier, and so
on. In the Migration Cockpit, you can see which migration objects depend on others. For
example, in order to migrate cost centers, you must first migrate your profit center structure.
When you have decided which migration objects are relevant for a project, you must get the
data from the source system. How you do this depends on the migration approach you have
chosen - you will learn more about this shortly.
After you have extracted the data, you must map the fields onto the right fields in SAP S/
4HANA. SAP migration objects contain a proposal for automatic mapping. At this stage, you
may also need to transform the data to ensure that it fits the requirements of the SAP S/
4HANA system. For example, if the source data contains the abbreviation "GER" for Germany,
you will have to transform it to "DE" to match the SAP country codes.
The next stage of the process is to simulate the data migration. In this step, the system
processes all of the data but does not save it. In this way, you can see if any errors would
occur during the data transfer and you have the opportunity to correct the data and repeat
the simulation.
When you have simulated the data transfer successfully, you move on to the actual migration.
Here, the data is saved in the system. If individual records cause errors, you can see exactly
which ones they were in the Migration Cockpit. You can then correct these records and
process them again.

6 © Copyright. All rights reserved.


Lesson: Migrating to SAP S/4HANA

Figure 5: Data Transfer With Files and Staging Tables

The first approach to migrating data uses staging tables. Staging tables are database tables
that you fill with data from the source system. The Migrate Your Data app collects the data
from the staging tables for the migration.
The source system can be either an SAP or a non-SAP system.
With this approach, you can download an Excel template into which you can load the data.
You then upload the contents of the Excel file to the staging tables. Alternatively, you can fill
the tables yourself using SAP Data Services, your own SQL programming, or a third-party ETL
tool of your choice.
Note that in earlier releases of the Data Migration Cockpit, there was a separate data transfer
approach for Excel files. From SAP S/4HANA Release 2021, this has been merged into the
staging table approach.

Figure 6: Direct Data Transfer

The third data transfer approach is direct transfer. In this scenario, the SAP S/4HANA system
collects the data directly from the source system. In this case, the source system must be an
SAP Business Suite system, SAP Apparel and Footwear, SAP CRM or SAP EWM.
This approach is suitable for any volume of data.

© Copyright. All rights reserved. 7


Unit 1: Introduction To Data Migration

Figure 7: Data Migration Project

Whatever approach you use to migrate your data, you will create a migration project. Each
migration project has a name and a transfer approach. In other words, when you create a
project, you decide whether to use files, staging tables, or direct transfer, and it is not possible
to mix approaches within a single project.
The mass transfer ID is used by the system to identify the project. It allows you to export the
project from your test system and import it into your production migration system without
losing any settings.

Figure 8: Accessing The Data Migration Tools

There are two tools that you need for data migration:

1. The Fiori App Migrate Your Data: you use this app to manage migration projects.

2. Transaction LTMOM: You use this SAP GUI-based application to adapt SAP migration
objects to your own needs or to create new objects. The look and feel of the transaction is
similar to that of the Object Navigator (transaction SE80).

LESSON SUMMARY
You should now be able to:
● Understand the migration scenarios

8 © Copyright. All rights reserved.


Unit 1

Learning Assessment

1. Which of the following statements about the Migration Cockpit is true?


Choose the correct answer.

X A It is delivered as part of the SAP S/4HANA system but must be licensed


separatel.y

X B It is delivered as part of the SAP S/4HANA system and may be used at no


additional charge.

X C It must be installed as an add-on and licensed separately

X D It must be installed as an add-on and my be used at no additional charge.

2. Which of the following are data transfer approaches in the Migration Cockpit?
Choose the correct answers.

X A Staging Tables

X B Extract - Transform - Load

X C Data Cleansing

X D Direct Transfer

© Copyright. All rights reserved. 9


Unit 1

Learning Assessment - Answers

1. Which of the following statements about the Migration Cockpit is true?


Choose the correct answer.

X A It is delivered as part of the SAP S/4HANA system but must be licensed


separatel.y

X B It is delivered as part of the SAP S/4HANA system and may be used at no


additional charge.

X C It must be installed as an add-on and licensed separately

X D It must be installed as an add-on and my be used at no additional charge.

That is correct.

2. Which of the following are data transfer approaches in the Migration Cockpit?
Choose the correct answers.

X A Staging Tables

X B Extract - Transform - Load

X C Data Cleansing

X D Direct Transfer

That is correct.

10 © Copyright. All rights reserved.


UNIT 2 Migrating Data Using Files

Lesson 1
Creating a Migration Project 13

Lesson 2
Processing Errors 29

UNIT OBJECTIVES

● Use the Migration Cockpit


● Prepare the migration
● Migrate the data
● Process errors in the file transfer

© Copyright. All rights reserved. 11


Unit 2: Migrating Data Using Files

12 © Copyright. All rights reserved.


Unit 2
Lesson 1
Creating a Migration Project

LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Use the Migration Cockpit
● Prepare the migration
● Migrate the data

Creating a Migration Project

Figure 9: Scenario

© Copyright. All rights reserved. 13


Unit 2: Migrating Data Using Files

Figure 10: File Transfer Migration Process

Figure 11: Creating A Migration Project

To create a migration project, start the Migration Your Data app. To create a new project,
choose Create → Migrate Data Using Staging Table. You cannot create a migration project
with the dedicated approach, File Transfer. However, a staging table project allows you to
download a file template that you can fill using Excel and then upload back into the project.

14 © Copyright. All rights reserved.


Lesson: Creating a Migration Project

Figure 12: General Project Data

You must give your project a name and choose the migration approach. Ensure that Transfer
Data from File is selected. You can add any number of migration objects to the project, but
every object in the project will use file transfer for the data migration.
The Mass Transfer ID is important, as it allows you to copy the contents of a project from a
test system to a productive system to perform the productive migration. You can either
assign your own mass transfer ID or allow the system to generate one. The ID must be the
same in the production system as in the test system.
The Database Connection allows you to specify where the staging tables should be created.
You can use the same database as the SAP S/4HANA System, or a remote database
connection. We will discuss this topic in a future unit.
To work with data migration projects, you need the role SAP_DMIS_OBT_MASTER for the
back-end functionality, and the role SAP_BR_CONFIG_EXPERT_DTA_MIG in order to use the
Migrate Your Data app. If you have a hub deployment for SAP Gateway, the user will require
this role in the frontend server. If the SAP Gateway deployment is embedded in the SAP S/
4HANA system, then you must assign the role in this system.

Figure 13: Assign The Project To A Package

When you conduct a migration project, you first need to define the project scope by adding
migration objects to your project. You will often create transformation routines known as
rules to transform values from their source format to target format. For example, country

© Copyright. All rights reserved. 15


Unit 2: Migrating Data Using Files

codes in a source system might have been three characters long (GER for Germany, USA for
United States of America, and so on ). In the target system, you would then convert GER to DE
and USA to US.
When you have defined the project scope and created your transformations, you will need to
test the individual objects in the project. When you are satisfied that the individual parts of the
project are correct, you will perform at least one full "dress rehearsal" of the entire project.
Only then will you migrate the live data into your production system.
In order to use the project in different systems, you must assign it to a transportable package.

Figure 14: Adding Migration Objects To The Project

When you create a project, the system displays a list of available migration objects (in SAP S/
4HANA 1909 FP2 there are 86 for file transfer). Select the object or objects that you want to
add to the project and select the right arrow to move them to the right-hand side of the
screen.
There is also a link to the documentation of each object. If you select it, you do not see the
documentation directly. Instead, a dialog box appears containing a link that you can copy and
paste into a web browser.
Some migration objects depend on other data having been migrated. In the graphic above, for
example, you can see that you must migrated Materials in order to migrate Batches.
When you have finished adding objects to the project, choose Review. If there are objects that
have dependent objects, and you have not already added them to the project, the system
asks you if you want to add them to the project at this point. Although this is not mandatory,
remember that you will have to migrate the dependent data at some point.
You can now review the objects in the project. If necessary, you can return to the object
selection screen and add or remove objects. Otherwise, choose Create Project. Note that you
can still add further objects to the project at a later stage.

16 © Copyright. All rights reserved.


Lesson: Creating a Migration Project

Figure 15: Project Monitoring

When you create your project, the system copies the definitions of the migration objects into
the project and prepares the migration objects. You can follow the progress of these tasks by
choosing Monitoring from the project overview page.

Figure 16: Project Settings

If you choose Settings, you can edit the project settings - for example, the name of the project.
You can also add further objects to the migration project by selecting the checkbox, Used in
Project. Note, however, that it is not possible to remove migration objects from the project.

© Copyright. All rights reserved. 17


Unit 2: Migrating Data Using Files

Figure 17: Job Management

The Job Management view allows you to set the maximum number of background jobs that
should be used for the project and to distribute these jobs among the various migration
objects.

Figure 18: The Action Dropdown Listbox

For each migration object in your project, there is a dropdown list box that contains a list of
actions. These are the individual stages of the migration process.
If you click on the word that is displayed in the field, the system will start this action. To start a
different action, open the dropdown list box and choose the action that you want.
When you work with files, the action is set to Upload File by default. However, you first need to
download the file. To do this, open the dropdown list box and choose Download Template. The
system saves the file to your Downloads folder.

18 © Copyright. All rights reserved.


Lesson: Creating a Migration Project

Working With The Template

Figure 19: The Template File

When you open the template file, you will find at least three worksheets. The first is an
introduction, which explains how to use the template. The second is a field list. This contains a
list of all of the fields in the migration object. To provide a clearer overview of the structure of
the data, related fields are combined into groups. The field list shows the data type and the
length of each field and, importantly, which fields are mandatory.
You enter the actual data into one or more data sheets in the template file. The number of
data sheets depends on the complexity of the object. The Bank migration object is very
simple, and consists of a single sheet. By contrast, the Customer migration object is far more
complex and contains 15 data sheets.
The tab of a data sheet is either orange or blue. Orange tabs signify that the sheet is
mandatory. Sheets with a blue tab are optional. You will often see mandatory fields on
optional sheets. This appears contradictory, but it is not. It means that the field is mandatory
only if you fill out the sheet.
If a migration object is very large and has sheets and fields that you do not need in your own
migration scenario, you can delete non-required fields or entire sheets. You will learn how to
do this in a subsequent lesson.

Figure 20: The Data Sheet

© Copyright. All rights reserved. 19


Unit 2: Migrating Data Using Files

In the data sheet you can see the fields in the field groups. An asterisk (*) denotes a
mandatory field. By default, the data types of the fields are hidden. You can display the
technical names of the fields and their types by unhiding rows 4-6 in the sheet. To do this,
mark rows 3 and 7, then call the context menu and choose Unhide.
There are certain things that you must consider when filling the template.
● Do not change the structure of the template (for example, do not change the sequence of
the columns)
● Do not change the formatting of any cells
● Do not use formulas
● Do not use the find and replace functions (they could change field names in the template)
● When you copy data, use the context menu and choose Paste with the option Values (V)
● Ensure that copied data does not contain formulae

When you enter the data, use your own country-specific format for decimal numbers and
dates. For negative numbers, place a minus sign directly before the number. For times, use
the format HH:MM:SS.

Figure 21: Bank Master Data

In the SAP S/4HANA System, bank master data appears as shown above. The key of a bank,
which identifies it uniquely, consists of a country code and the bank key. There then follows
the address of the bank and, optionally, the branch name. The Control Data section of the
screen contains the SWIFT/BIC code of the bank, the bank number, a banking group that the
bank may belong to and, for Germany and Switzerland, a flag to indicate that the bank is a
Post Office Bank.
When you migrate bank data, you must fill the template to satisfy these structures.

20 © Copyright. All rights reserved.


Lesson: Creating a Migration Project

Figure 22: Mapping The Data Sheet To The Data

In this simple example, you can see how the data in the Excel sheet corresponds to the field
contents in the corresponding transaction in the S/4HANA system.

Figure 23: Uploading The File

When you have filled out the template, you upload it to the Data Migration Cockpit. To do this,
choose Upload File from the Action dropdown list box. Choose Upload. A dialog box appears,
in which you can select the file that you want to upload.

© Copyright. All rights reserved. 21


Unit 2: Migrating Data Using Files

Figure 24: Data Validation

When you upload data from a file, the system automatically validates it. This means that it
checks that the uploaded file has the correct format (and does not, for example, belong to a
different migration object). It also ensures that the file is not empty, and that all of the
mandatory data has been supplied.
If the validation is successful, the data is transferred to the staging tables. Otherwise, you will
see that the validation has failed. In this case, you can select Show messages to see what went
wrong.

Figure 25: Checks During Validation

When you upload the data to the Migration Cockpit, the system checks that you have filled out
all mandatory fields. When you start the data transfer, the system first validates the data to
ensure that it is complete. The example here is taken from the Customer migration object. In
this migration object, which is considerably more complicated than the bank master data
object, the Customer data sheet contains basic data about each customer. However, the
customer data is only consistent if the Business Partner Role sheet also contains at least one
entry for each entry in the Customer Sheet.
If the data is inconsistent, you cannot continue. Instead, you must correct the data in the
template and then upload it again.

22 © Copyright. All rights reserved.


Lesson: Creating a Migration Project

Figure 26: The Data Generator Transaction

For the exercises in this class, you need data to migrate into the S/4HANA system. To
generate this data, you will use transaction S4D445_DATAGENERATOR. When you select the
Generate Data button for a particular exercise, the transaction generates the corresponding
data. If the exercise uses file transfer, the data will be downloaded to your Downloads folder.
For the exercises that use staging tables, you must enter the names of the staging tables in a
dialog box and the system will fill them for you.
Some exercises require ABAP coding. Since ABAP knowledge is not a prerequisite of the
class, you can display the relevant code extracts by selecting the Show ABAP Code column.
You can then simple copy and paste the code into the editor.

Mapping Values

Figure 27: Starting The Migration

When you upload the files containing the data that you want to migrate, you can start the data
transfer. To do this, you must first prepare the staging tables. To do this, choose the action
Prepare. The system asks if you want to perform consistency checks on the data in the tables.
If you have used the file template to upload the data, you do not need to do this, as the system
will already have performed the consistency checks during the upload process.

© Copyright. All rights reserved. 23


Unit 2: Migrating Data Using Files

Figure 28: Checks During Validation

When you upload the data to the Migration Cockpit, the system checks that you filled out all
mandatory fields. When you start the data transfer, the system first validates the data to
ensure that it is complete. The example in the figure, Checks During Validation, is taken from
the Customer migration object. In this migration object, which is considerably more
complicated than the bank master data object, the Customer data sheet contains basic data
about each customer. However, the customer data is only consistent if the Business Partner
Role sheet also contains at least one entry for each entry in the Customer Sheet.
If the data is inconsistent, you cannot continue. Instead, you must correct the data in the
template and then upload it again.

Figure 29: Value Mapping

When you transfer data from one system to another, you cannot always copy the data without
adjusting some of the field values. For example, as shown in the figure, Value Mapping, the
data is extracted from a source system which uses country codes that do not conform to the
2 character ISO norm. The S/4HANA System uses two-character country codes and checks
that you have only used permitted codes when you create, for example, a bank master record.
As a result, you must transform them during the migration process. This is called value
mapping.
To start the value mapping process, choose the action Mapping Tasks.
There are two ways to map values. You can map values in the migration project during the
data migration. You can also define mappings using the migration object modeler. This makes

24 © Copyright. All rights reserved.


Lesson: Creating a Migration Project

the mapping step in the actual migration faster, but requires more preparation. You learn
about this technique in Unit 3.

Figure 30: Value Mapping

When the data is validated, you reach the value mapping phase of the migration. In this phase,
you see a list of fields from the migration object whose values must be mapped to target
values for the SAP S/4HANA system. The status To be Confirmed shows that you still need to
process the values.
If you select a field name, the system shows a list of the source and target values. The system
will present the target values in one of two ways - with or without value help.

Figure 31: Mapping Values

For the bank keys, the system cannot propose a value from the target system. Instead, it
copies the bank keys one-to-one from the source to the target field. You must confirm the
values, which you can do either using the Confirm button for each entry or by marking any or
all of the entries and choosing the Confirm button at the top of the list.

© Copyright. All rights reserved. 25


Unit 2: Migrating Data Using Files

Figure 32: Value Help

For certain fields - in this case the country key, but also for others such as regions, currencies,
or units of measure - the system proposes a value help to help with the mapping. If you click
the button to the right of the field, you will see a list of possible entries. The target value that
you use must be in the list of proposals in order for you to be able to save the value mapping.
When you have finished the value mapping, choose Back until you are back at the object
overview.

Migrating the Data

Figure 33: Simulating and Migrating the Data

When the value mapping is complete, you can carry on by simulating the migration. The
simulation processes all of the steps involved in the migration but does not save the data in
the system. In this way, you can find out before you perform the final migration if the data can
be imported.

26 © Copyright. All rights reserved.


Lesson: Creating a Migration Project

Figure 34: Simulation

To simulate the data migration, choose the action Simulate. A dialog box appears in which you
can choose whether to simulate all instances, a random 10% set of records, or a random 500
records. You can also choose individual records that you want to simulate. Although it is
quicker to simulate only some of the records, this is only a good idea while you are testing
your migration run. Before you perform a full migration, you should perform a full simulation.
The final step of the migration is to perform the migration itself. This saves the data in the
system. If there are records that cannot be processed successfully, the system saves them in
a file for you to review afterwards.

Figure 35: Data Simulation

When you start the data simulation, the system sends the data to the target system and
performs all the checks normally performed in the maintenance transaction when you choose
Save. However, the data is not saved in this step, so you only see the results of the checks.
In the bank example shown in the figure, Data Simulation, the system knows to check German
bank numbers to ensure that they are 8 digits long. If a record breaks this rule, you see a
corresponding message in the simulation log. At this point, you can either correct the records
that contain errors or carry on with the final step, which is the migration of the data. You
cannot import incorrect data into the system. However, if you have a lot of correct records
and only a few incorrect ones, it can be faster to migrate the data. As you will see later, the
system creates a template file with any records that contain errors, and you can download
this to correct the data before uploading it.

© Copyright. All rights reserved. 27


Unit 2: Migrating Data Using Files

Figure 36: Data Migration

The final step of the process is to migrate the data. All of the records that are correct and
consistent are saved in the system. Incorrect records are placed in a new template file called
the delta file. This allows you to see precisely which records are incorrect and deal with them
accordingly in the new migration run.
In the bank master data example, you can verify that the bank data has been created in the
system using transaction FI03.

LESSON SUMMARY
You should now be able to:
● Use the Migration Cockpit
● Prepare the migration
● Migrate the data

28 © Copyright. All rights reserved.


Unit 2
Lesson 2
Processing Errors

LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Process errors in the file transfer

Finding and Processing Errors

Figure 37: Errors in the File Transfer

During the different phases of the migration, the system can identify different kinds of errors.
During the file upload, the system checks that all of the mandatory fields in the template have
been filled out. At this stage, it can also detect duplicate entries in the same file. You cannot
upload the file at all if there are mandatory fields missing or duplicate entries.
Equally, it checks that the values that you have used match the permitted values for those
fields in the S/4HANA System. Examples of this are country keys, company codes, and
controlling areas. If there are errors at this stage, correct them. It is technically possible to
proceed to the next stage, but you take the error with you and records that contain incorrect
values cannot migrate.

© Copyright. All rights reserved. 29


Unit 2: Migrating Data Using Files

Figure 38: Validation Failed

In this example, there are mandatory fields missing from the file template (the asterisk next to
the field name denotes a mandatory field). The system will not allow you to upload the file in
this state. Instead, you must complete all of the mandatory fields and repeat the upload.

Note:
Before you repeat the upload, you must first delete the uploaded file, as you
cannot have two files with the same name.

Figure 39: Duplicate Key in the Validation

Another kind of error that the system can detect in this stage is duplicate keys within the
same data sheet. Again, you will have to correct these errors before you can upload your data.

30 © Copyright. All rights reserved.


Lesson: Processing Errors

Figure 40: Migration Errors

There are some errors that the system can only identify once you run the simulation. These
are normally due to more complex combinations of Customizing settings. In this example, the
data template contains a German bank with a nine-digit number instead of the prescribed
eight digits. The simulation therefore returns an error, which you can see in the overview of
the migration object. If you choose the number 1, the system displays the record that caused
the error. To see the corresponding error message, choose Error in the row.

Figure 41: The Correction File

If there are errors in your simulation, you can still proceed to the migration. The records that
caused errors in the simulation will cause the same error in the migration. When the migration
is over, you can create a file containing just the failed records. This is called the Correction
File. To download it, choose the action Create Correction File. You can then correct the
records and restart the migration using just this file.

© Copyright. All rights reserved. 31


Unit 2: Migrating Data Using Files

LESSON SUMMARY
You should now be able to:
● Process errors in the file transfer

32 © Copyright. All rights reserved.


Unit 2

Learning Assessment

1. In a migration project, you can mix file transfer and staging table transfer.
Determine whether this statement is true or false.

X True

X False

2. Why is the mass transfer ID of a project so important?

3. If you do not need a column in the file template, it is OK to delete it.


Determine whether this statement is true or false.

X True

X False

4. Which of the following errors would make the system cancel the file upload?
Choose the correct answer.

X A The file contains a record that already exists in the target system.

X B A record contains values that are not allowed by the Customizing settings of the
target system.

X C One or more mandatory values are missing from fields in the template file.

5. What is the purpose of value mapping?

© Copyright. All rights reserved. 33


Unit 2: Learning Assessment

6. If there are errors in the data migration, the system places them in particular file. What is
the name of the file?
Choose the correct answer.

X A Error File

X B Delta File

X C Template File

7. The file template for bank master data contains a record with an incorrect country key. In
which phase of the migration does the system display an error message?
Choose the correct answer.

X A Data validation

X B Value mapping

X C Simulation

8. A simulation causes an error. Can you still carry on and migrate the data?
Determine whether this statement is true or false.

X True

X False

34 © Copyright. All rights reserved.


Unit 2

Learning Assessment - Answers

1. In a migration project, you can mix file transfer and staging table transfer.
Determine whether this statement is true or false.

X True

X False

That is correct.

2. Why is the mass transfer ID of a project so important?

The mass transfer ID is important as it allows you to copy a project between systems - for
example, from a test system to a production system.
That is correct.

3. If you do not need a column in the file template, it is OK to delete it.


Determine whether this statement is true or false.

X True

X False

That is correct.

4. Which of the following errors would make the system cancel the file upload?
Choose the correct answer.

X A The file contains a record that already exists in the target system.

X B A record contains values that are not allowed by the Customizing settings of the
target system.

X C One or more mandatory values are missing from fields in the template file.

That's right.

5. What is the purpose of value mapping?

Value mapping is necessary to convert values from the format or value range of a source
system to the required format or value range of the target system.
That is correct.

© Copyright. All rights reserved. 35


Unit 2: Learning Assessment - Answers

6. If there are errors in the data migration, the system places them in particular file. What is
the name of the file?
Choose the correct answer.

X A Error File

X B Delta File

X C Template File

That is correct.

7. The file template for bank master data contains a record with an incorrect country key. In
which phase of the migration does the system display an error message?
Choose the correct answer.

X A Data validation

X B Value mapping

X C Simulation

That is correct.

8. A simulation causes an error. Can you still carry on and migrate the data?
Determine whether this statement is true or false.

X True

X False

That is correct.

36 © Copyright. All rights reserved.


UNIT 3 Adapting Migration Objects
Using the Migration Object
Modeler

Lesson 1
Changing The Fields Of A Migration Object 39

UNIT OBJECTIVES

● Change fields in an existing migration object


● Add translation objects to a migration project
● Add a coded rule

© Copyright. All rights reserved. 37


Unit 3: Adapting Migration Objects Using the Migration Object Modeler

38 © Copyright. All rights reserved.


Unit 3
Lesson 1
Changing The Fields Of A Migration Object

LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Change fields in an existing migration object
● Add translation objects to a migration project
● Add a coded rule

Adding an Existing Migration Object to a Project

Figure 42: Changing Standard Migration Objects

SAP delivers over 180 standard migration objects with SAP S/4HANA 2021. However, as they
are standard objects, they may not correspond exactly to your own needs. You may need to
add your own custom fields or hide fields in the template that are not relevant to your
business process. If you have custom-coded solutions, you may even need to create your own
migration objects.
You can adapt existing migration objects to your own needs and create new migration objects
using the Migration Object Modeler. In this unit, you learn how to change an existing migration
object. Later on, you discover how to create a migration object.

© Copyright. All rights reserved. 39


Unit 3: Adapting Migration Objects Using the Migration Object Modeler

Figure 43: Creating an Empty Project

If you want to adapt a migration object, you must first create a project. However, you must
not add the migration object to the project as you did in the last scenario. You do this in the
Migration Object Modeler. Instead, create the project and then exit it again. You cannot have
the same migration object open in both the Migrate Your Data app and the Migration Object
Modeler at the same time.

Figure 44: Opening the Project in the Migration Object Modeler

To use the Migration Object Modeler, start transaction LTMOM. The appearance of the tool is
based on the Object Navigator (SE80). On the left-hand side of the screen and a tool area on
the right, there is a navigation area in which the system displays the various editors you need.
To adapt a migration object, you must first open the project to which you want to assign it. Set
the object type to Project (by default, it is set to Migration Object), then enter the name of
your project and press Enter. The system displays the project in the navigation area.
To use the Migration Object Modeler, you need the SAP_CA_DMC_MC_DEVELOPER role or a
role derived from it.

40 © Copyright. All rights reserved.


Lesson: Changing The Fields Of A Migration Object

Figure 45: Adding a Migration Object to the Project

To add a migration object to the project, switch to change mode, then choose
Project → Create Migration Cockpit → From Template → Migrate Data Using Files/Staging
Tables. This starts a wizard from which you can then choose the relevant migration object.
Choosing a migration object here is the equivalent of selecting a migration object in the
Migration Cockpit. In both cases, the system copies the definition of the migration object into
the project.
There are several options that you can choose here:
● Create Migration Object -> From Template: This option creates a new migration object
based on an SAP standard object. If SAP subsequently changes the content of the
migration object, this reflects in your implementation of it. You cannot change the
properties of existing fields, for example, data type or length. However, you can add new
fields.
● Create Migration Object ->User-Defined: This option creates a new "blank" migration
object that you must implement completely by yourself.
● Copy Migration Object->Migrate Data Using Files/Staging Tables: This option creates a
copy of an SAP standard migration object. Unlike the Create Migration option, the new
object does not retain a link to the source object. The object is not updated if SAP changes
the definition of the original object. You can make any changes you like in the new object.

© Copyright. All rights reserved. 41


Unit 3: Adapting Migration Objects Using the Migration Object Modeler

Figure 46: Structure Of A Migration Object

A migration object describes the journey of data from the source system to the target system.
Data from the source system is first loaded into objects called source structures. A source
structure describes the fields of a single data record and corresponds to a data sheet in the
file template.
The final destination of the data from a source structure is a target structure. The location of
the source structure is defined generically. As a result, it can accept data from all kinds of
source systems. The target structure is defined more strictly to meet the precise
requirements of the SAP S/4HANA system.
When the system copies data from the source structure to the target structure during
migration, we say that the data is being mapped. Each source structure must be mapped to a
target structure. This simply means that you define that data from a particular source
structure which must be copied into a particular target structure. This is called structure
mapping.
When you map a source structure to a target structure, you must map the fields (define which
field of the source structure is copied into which field of the target structure). There are two
things that you can do the following:
● Copy the contents of a field one-to-one from the source structure to the target structure.
● Convert the contents of a source field into the format required by the target field. In this
case, you define the conversion as a rule.

42 © Copyright. All rights reserved.


Lesson: Changing The Fields Of A Migration Object

Removing Fields from the Template

Figure 47: Structures and Views

The source structures in a migration object describe the data that make up the object.
However, when you use the object, you might not need to use all of the fields. For example, in
a Bank Master, there is a field for the Region (state, canton, and so on) in the address data
that you did not fill in the previous exercise. Using the Migration Object Modeler, you can
make fields invisible if you do not need them.
You cannot remove fields from the source structure. Instead, you create a view. The view
contains all of the fields from the source structure, and it allows you to declare fields invisible
if you do not need them. You can also declare individual fields as mandatory even if they are
not mandatory by default in the definition of the migration object.
The above example removes the field F5 from the view. When you subsequently generate the
migration object and download the file template, field F5 will not appear in the template. This
makes the file template easier to navigate, especially if you are dealing with very complicated
migration objects and there are lots of fields that you do not need.

Figure 48: The Source Structure

You can extend the source structure by adding new fields to it. However, you cannot remove
fields from it. If you want to remove redundant fields from the file template, you must do this
in the view.
To access the view from the source structure, choose the menu button above the source
structure and choose Change View.

© Copyright. All rights reserved. 43


Unit 3: Adapting Migration Objects Using the Migration Object Modeler

Figure 49: The Source View

The source view contains all of the fields from the source structure. However, here you can
define whether individual fields are required or made invisible. If you mark a field as invisible, it
does not appear in the template file. In this way, you can reduce the complexity of the
template by hiding unneeded fields.
In the source structure, at least one field at the beginning of the structure is marked as a key
field. The combination of key fields identifies an entity uniquely, for example, the combination
of country and bank key. In the view, these fields are required. Do not change these fields to
visible and especially not to invisible. You then risk having entries in the file with no key.

Figure 50: When You Have Finished

When you finish making changes to the migration object, you must generate it. This generates
the required structures and coding for the Migration Cockpit.
When you generate the object, you can download the template. This allows you to test the
object without having to create a migration object.

44 © Copyright. All rights reserved.


Lesson: Changing The Fields Of A Migration Object

Adding A New Structure To The Migration Object

Figure 51: Source Structure

A source structure in a migration object represents the fields of one sheet of the file template.
If you want to change the file template, you change the corresponding source structure in the
migration object. The field names and data types that you use will relate to your source data.
A simple migration object may only have one source structure. However, most objects have
more than one. In this case, they are arranged in a hierarchy. The top-level structure contains
basic data about the migration entity; subordinate structures contain additional data. For
example, the Customer migration object has a structure for basic data and subordinate
structures for business partner types, SD information, tax classification and so on.
The information in a subordinate structure must always relate to the top-level structure. In
other words, you cannot maintain business partner types for customer 1000 if there is no
customer 1000 in the basic data sheet.

Figure 52: Target Structure

© Copyright. All rights reserved. 45


Unit 3: Adapting Migration Objects Using the Migration Object Modeler

A target structure is a structure within the migration object that is used to transfer the data
into the SAP S/4HANA System. The field names and, in particular, the data types used relate
to the data model of the SAP S/4HANA System. You cannot change the target structures.
When you migrate your data, the data from the file template is loaded into the source
structures. The migration object defines how the data should be transferred from the source
structures into the target structures. When the data has been moved to the target structures,
the migration object uses it to create the new data in the target system.
The process of moving data from the source to the target structures is called structure
mapping and field mapping. When you map individual fields, there are two things that can
happen:
● You simply copy the source field unchanged into the target field
● You convert a value from the legacy system into an appropriate value for the SAP S/
4HANA System.

Figure 53: Structure Mapping

A migration object defines the relationship between source and target structures in the form
of structure mapping. Mapping a source structure to a target structure tells the system that
the data from the source structure will be copied into the target structure. However, this only
defines a basic relationship between the structures. You still need an extra mapping at field
level to specify which fields from the source structure are copied into the target structure and
whether the values are copied or have to be transformed.

46 © Copyright. All rights reserved.


Lesson: Changing The Fields Of A Migration Object

Figure 54: Field Mapping

You map individual fields from source structures to target structures. This moves the value of
the source structure to the target structure. During the transformation, the system applies a
rule, which describes how the assignment should take place. The simplest rule is move, which
merely copies the value. You can also define more complex rules that change the value.

Figure 55: Structure of the Bank Migration Object

By default, the bank master migration object contains a single source structure with the bank
key, name, and elementary address data. However, the bank master also allows you to
provide full address data in an additional structure. To do this, you must add a new structure
to the migration object. The new structure appears as an extra data sheet in the template file.
When you add a new structure to the source structures, you must take the following actions:
● Define its fields
● Create a foreign key relationship to the main record. A foreign key defines how the
additional structure is related to the main record and allows the Migration Cockpit to
identify which address data belongs to which bank.
● Map the source structure to a target structure. The mapping assigns the source values to
the correct target structure.

© Copyright. All rights reserved. 47


Unit 3: Adapting Migration Objects Using the Migration Object Modeler

Figure 56: Creating the New Source Structure

To create a new structure, navigate to the source structures section of the migration object in
the Migration Object Modeler and open the menu. Choose Append Structure to Lower Level.
Assign a name to the new structure - the name must begin with the prefix ZS_ - and choose
Continue.
The structure editor opens, and you can define the fields of the new source structure.
Remember that this will be the structure of the new data sheet in the file template. The fields
of the target structure are fixed. You map the fields of the source structure to those of the
target structure in a later step.
Each field in the structure must have a name that is unique within the current structure and
begins with the letters ZZ. At the beginning of the structure, you define one or more key fields.
The combination of key fields identifies each record uniquely. The unique key combination for
the bank master is the country plus the bank number.
For each field, you assign a column header and a group text. These texts appear in the file
template. The column header appears above the corresponding column. The group text
enables you to indicate which fields belong together logically.

Figure 57: Data Types For Fields

Every field that you create must have a data type. Data types describe how much information
a field can contain and what form the data takes.

48 © Copyright. All rights reserved.


Lesson: Changing The Fields Of A Migration Object

Character fields (type CHAR) can contain any combination of letters, digits, and symbols. You
must specify the maximum length of the field when you create it.
DATS is the data type for a date. In the file template, users enter dates in the usual format for
their own country. The Migration Cockpit converts dates internally into a standard format
YYYYMMDD.
TIMS is the type for time in the form HHMMSS (two digits for the hour, two for minutes, and
two for seconds).
DEC is the data type for a number with decimal places. For DEC fields, you must specify the
number of digits (length) and also the number of decimal places. A length of 5 with two
decimal places means five digits, of which two are decimal places. The maximum value of a
field with this definition is thus 999.99.
INT4 is the data type for integers (numbers with no decimal places).
NUMC is the data type for a numeric string. This sequence of digits (similar to an
identification number) is not treated as a number.
These are only six of over 30 data types. Although the remaining data types each have a
particular function in the ABAP Dictionary, they are more specialized than you need for data
migration.

Figure 58: Foreign Key Relationship

When you use additional structures, you must define a foreign key relationship. A foreign key
relationship ensures that you can only enter data in a supplementary sheet that relates to an
existing entry in the main sheet. In other words, it stops you entering address data for a bank
that does not exist.
In the example shown in the figure, Foreign Key Relationship, the key combinations DE
12345678 and DE 12345679 can be in the address data sheet because there are
corresponding entries in the main sheet. However, the combination DE 12345670 cannot be
in the address data sheet. It would cause an error during the upload phase of the data
migration.

© Copyright. All rights reserved. 49


Unit 3: Adapting Migration Objects Using the Migration Object Modeler

Figure 59: Defining the Foreign Key Relationship

To define a foreign key relationship, you must mark the key fields of the subsidiary structure.
Choose the key icon in the subsidiary structure. A dialog box appears containing the key
fields. The check table is the structure at the higher level in the hierarchy, so here the bank
master data. The foreign key check checks that the contents of the fields in the subsidiary
structure match a record in the higher-level structure. To define the foreign key relationship,
enter the names of the relevant fields. If the fields have the same names in both structures,
you can use the magic wand icon to generate the proposal.

Figure 60: Structure Mapping

When you define a source structure, you specify how the sheet in the file template appears.
However, the source structure does not specify how its fields are assigned to the target fields
in the migration object. This is a two-step operation:

1. You assign (map) a source structure to a target structure.

2. You map the individual fields of the source structure to the fields of the target structure.

You map structures in the Structure Mapping section of the Migration Object Modeler.
To map a source structure to a target structure, drag the source structure onto the
corresponding target structure on the right-hand side of the screen.

50 © Copyright. All rights reserved.


Lesson: Changing The Fields Of A Migration Object

Figure 61: Field Mapping

After you map a source structure to a target structure, you can map the individual fields. To
do this, you drag fields from the source structure to a corresponding field in the target
structure. This copies the source value into the target field without changing it.
This kind of mapping is called a MOVE (after the ABAP command MOVE, which copies the
contents of one variable to another). Later in the course, you learn about mapping rules. You
use rules to convert source values into different target values.

Creating Translation Objects

Figure 62: The Need For Translation Objects

When you migrate data to SAP S/4HANA, certain fields must have certain formats and
values. For example, the country field in SAP S/4HANA must contain a 2-character ISO
country code. If the source system does not contain the correct value, it must be converted.
You could do this in the Migration Cockpit during the data migration. However, if you already
know which source values there are and which target values you need, you can store them in a
translation object. You then use the translation object in the field mapping (you also need
something called a rule to do this) and the system converts the source values into the
corresponding target values during the migration.
You can create translation objects for a specific migration object or for your entire migration
project. Translation objects that are assigned to a migration object can only be used in that

© Copyright. All rights reserved. 51


Unit 3: Adapting Migration Objects Using the Migration Object Modeler

migration object. If you create a translation object at project level, you can re-use it in any
migration object in the project.

Figure 63: Structure of a Translation Object

A translation object needs a source value, called an import parameter, and a target value,
called an export parameter. In the definition of the translation object, you must specify the
data type of these parameters. You also specify various options for the translation: for
example, should initial values be converted? What should happen if a particular source-target
value pair does not exist.
For the translation object to work properly, you need to specify combinations of source and
target values. You will do this later on in the Migrate Your Data app.

Figure 64: Creating a Translation Object

To create a translation object, right-click the node Translation Object in the project hierarchy
and choose Create Translation Object. There is more than one Translation Object node in the
project. One is at the bottom for the entire project. One is in each sub-project (a sub-project
represents a single migration object).
Assign a name to the translation object. The name must begin with the letter Z.
By default, the translation object has one import and one export parameter. You can create
up to two more import parameters if the target value depends not on a single value but on a
combination of values. For each parameter, you must assign a name and a data type.

52 © Copyright. All rights reserved.


Lesson: Changing The Fields Of A Migration Object

Figure 65: Checking the Mapping Values

During migration, the system often checks that the target values you use are allowed. It looks
up the value in a database table called the check table. For example, when you migrate
country codes, the system looks up the codes in table T005 to ensure that they are "real"
countries in the SAP System.
You can switch on these checks in a translation object. The system then checks when you add
new combinations of source and target fields to the object that the target value is allowed in
the target system.
To enable the checks, select the Add button at the right-hand end of the parameter definition
for the export parameter (the target value). A dialog box appears. You can choose whether to
use a domain, a value table, or a search help to check the values. It is most likely that you
know the name of a table. In this case, select Use Value Table and enter the name of the
database table containing the target values. You must then specify the field name. You can
use the value help. In the example with country codes, shown in the figure, Checking The
Mapping Values, the table name is T005 and the field name LAND1.
Next, mark the checkbox Validate Parameter Value against Value Table. This switches the
checks on. When you create the source-target values in the Migrate Your Data app, the
system will check that the target values you have created exist in the SAP S/4HANA system.

Figure 66: Attaching the Translation Object To A Target Field

You cannot attach a translation object directly to a target field in the field mapping. Instead,
you need a field-based rule. A field-based rule describes the transformation of a value and has
an export parameter that contains the target value. It can also have any number of import
parameters that are used to determine the target value.

© Copyright. All rights reserved. 53


Unit 3: Adapting Migration Objects Using the Migration Object Modeler

In our example, we need a field-based rule that calls the translation object. When it does, it
must supply an import parameter and receives an export parameter. The field-based rule
itself has an import and an export parameter - the import parameter is a field from the source
structure. The export parameter is assigned to a field in a target structure.

Figure 67: Creating a Field-Based Rule

To create a field-based rule, right-click Field-Based Rules in the navigation section of your
migration project and choose Create Field-Based Rule. Assign a name to the rule. The name
must begin with the letter Z.
You must define the parameters of the rule. The export parameter is the value that is assigned
to a field of a target structure during the migration. The import parameters are values that are
required to determine the target value. Similar to the parameters of translation objects, those
of field-based rules also require a data type. Here, you can specify the type of a data element
from the ABAP Dictionary. However, you can also use the generic type ANY, which enables
you to pass values of any type.

Figure 68: Defining the Basis of a Field-Based Rule

There are three different ways in which a field-based rule can derive its export parameter: a
fixed value, an ABAP routine, or a translation object. In the next section, you see an example
of an ABAP routine. Here, we want to define the rule on the basis of our translation object.
In the properties of the rule definition, you can see the current basis for the rule (by default it
is ABAP). Change the Change button to change the basis. A dialog box appears in which you
can select Translation Object.

54 © Copyright. All rights reserved.


Lesson: Changing The Fields Of A Migration Object

Figure 69: Assigning The Parameters

In the properties of the rule, you enter the name of the translation object that you want the
rule to call. Since the translation object has parameters, you must assign parameters of the
rule to them.

Figure 70: Assigning the Rule to a Field

To assign the rule (and the translation object) to a field, open the field mapping in the
Migration Object Modeler and right-click the corresponding field in the target structure. In the
context menu, choose Assign Rule. You must then enter the name of the rule that you want to
use. The export parameter of the rule is automatically assigned to the target field. In the
dialog box, you must assign values from the source structures to the importing parameters.
There is a value help to support you in this task.

© Copyright. All rights reserved. 55


Unit 3: Adapting Migration Objects Using the Migration Object Modeler

Figure 71: Event-Based Rules

As well as field-based rules, you can also create event-based rules in the Migration Object
Modeler. There are various events that are processed during data migration:
Begin of Loop: Processed at the very beginning of the migration run
Begin of Record: Processed once for each new record
End of Record: Processed at the end of the migration of a single record
After Loop: Processed at the very end of the migration run
You can use event-based rules, for example, to look up data in tables in the system to
populate fields in the migration data.
Event-based rules can have importing parameters, but no exporting parameters. The
implementation of an event-based rule is always free ABAP code.

Adding Mapping Values

Figure 72: Translation Objects and Mapping Tasks

56 © Copyright. All rights reserved.


Lesson: Changing The Fields Of A Migration Object

Figure 73: Downloading The Mapping Values

Figure 74: Maintaining Mapping Values

Figure 75: Uploading Mapping Values

© Copyright. All rights reserved. 57


Unit 3: Adapting Migration Objects Using the Migration Object Modeler

Adding a Coded Rule

Figure 76: Solving more Complex Problems with Rules

Sometimes, when you convert values, it is simply replacing one value with another that you
can look up. For example, you replace country code USA with US. However, sometimes the
mapping tasks are more complicated, for example, as shown in the figure, Solving more
Complex Problems with Rules. On the one hand, the source data contains a field for the street
in an address, in which the street and house number are combined. On the other hand, the
target structure has separate fields for street and house number. Even more difficult, the
house number sometimes comes before the street name (as in the USA or United Kingdom)
and sometimes after (such as in Germany or Italy).
To solve tasks like this, you can use ABAP coding in a field-based rule.

Figure 77: Field-Based Rule With ABAP Coding

To solve the address problem, use ABAP code to split the address field up into individual
words and place each part of the field into a separate line of a table. The address is contained
in the import parameter I_STREET of the rule. Parameters of rules are accessible as variables
in the ABAP code.
If the house number is at the beginning of the field, it is in the first line of the table. If it is at the
end of the field, it is in the last line. The ABAP routine queries the first and last lines of the

58 © Copyright. All rights reserved.


Lesson: Changing The Fields Of A Migration Object

table to see if either contains only digits. If it finds a number, it places it in the E_NUMBER
parameter of the rule.
The rule is not fail-safe. It does not recognize house numbers such as 78A or 1-5. Even so, it
manages to automate the conversion in the majority of cases, so it still saves time and effort
during migration.

LESSON SUMMARY
You should now be able to:
● Change fields in an existing migration object
● Add translation objects to a migration project
● Add a coded rule

© Copyright. All rights reserved. 59


Unit 3: Adapting Migration Objects Using the Migration Object Modeler

60 © Copyright. All rights reserved.


Unit 3

Learning Assessment

1. Which tool do you use to change migration objects?


Choose the correct answer.

X A Transaction LTMOM

X B Transaction LTMC

X C The Migrate Your Data Fiori app

2. You want to delete a field that is not relevant for your organization. Where do you do this?
Choose the correct answer.

X A In the file template

X B In the source structure

X C In the view of the source structure

3. In the Migration Object Modeler you can define additional mandatory fields.
Determine whether this statement is true or false.

X True

X False

© Copyright. All rights reserved. 61


Unit 3

Learning Assessment - Answers

1. Which tool do you use to change migration objects?


Choose the correct answer.

X A Transaction LTMOM

X B Transaction LTMC

X C The Migrate Your Data Fiori app

That is correct.

2. You want to delete a field that is not relevant for your organization. Where do you do this?
Choose the correct answer.

X A In the file template

X B In the source structure

X C In the view of the source structure

That is correct.

3. In the Migration Object Modeler you can define additional mandatory fields.
Determine whether this statement is true or false.

X True

X False

That is correct.

62 © Copyright. All rights reserved.


UNIT 4 Migrating Data Using Staging
Tables

Lesson 1
Preparing To Use Staging Tables 65

Lesson 2
Creating a Migration Project With Staging Tables 69

Lesson 3
Using the Migration Object Modeler in a Staging Table Project 77

UNIT OBJECTIVES

● Prepare to use staging tables


● Create a project that uses staging tables
● Use the migration object modeler to manipulate customer numbers

© Copyright. All rights reserved. 63


Unit 4: Migrating Data Using Staging Tables

64 © Copyright. All rights reserved.


Unit 4
Lesson 1
Preparing To Use Staging Tables

LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Prepare to use staging tables

Prepare to Use Staging Tables

Figure 78: Data Migration Using Staging Tables

When you migrate data using staging tables, the Migration Cockpit creates a set of database
tables in the SAP HANA database that represent the structures of the migration objects in
your migration project. You then fill these tables with the data that you want to migrate. The
Migration Cockpit loads the data from the staging tables into the SAP S/4HANA System.
You can create the staging tables either in the SAP HANA database of your SAP S/4HANA
target system or in a separate SAP HANA database. From SAP S/4HANA release 1909 FP 1,
you can create the staging tables in the same schema that the SAP S/4HANA system uses. In
previous releases, you must use a separate schema.
To fill the staging tables, you can use your own SQL code, third-party ETL (Extract-Transform-
Load) tools, or the following SAP offerings: SAP HANA Smart Data Integration, SAP Data
Services, or SAP Agile Data Preparation (ADP).

© Copyright. All rights reserved. 65


Unit 4: Migrating Data Using Staging Tables

Figure 79: Setting Up The Database Schema

To set up a new schema you create a database user in the SAP HANA Studio. The user does
not require any privileges other than the default privileges with which it is created. This user is
the owner of a database schema with the same name.
The database user of the SAP S/4HANA System needs SQL privileges on the new schema.
You must now register the database schema in the SAP S/4HANA system using transaction
DBCO. Here, you specify the following information:
● The name of the database connection
● The database platform HDB
● The user name and password of the database user
● The server and SQL port on which the database is running

Figure 80: Registering The Connection For The Migration Cockpit

Transaction DBCO contains secondary database connections for all kinds of tasks. To ensure
that only connections relevant to data migration are proposed by the value help when you
create a project, you must register your connection with the Migration Cockpit. To do this,
start transaction SM30 and enter table name DMC_C_WL_DBCO_OP. Choose Maintain, and

66 © Copyright. All rights reserved.


Lesson: Preparing To Use Staging Tables

then select New Entries. Enter the name of your connection and choose Save. You can now
use the connection to create migration projects.

LESSON SUMMARY
You should now be able to:
● Prepare to use staging tables

© Copyright. All rights reserved. 67


Unit 4: Migrating Data Using Staging Tables

68 © Copyright. All rights reserved.


Unit 4
Lesson 2
Creating a Migration Project With Staging
Tables

LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Create a project that uses staging tables

Creating the Project

Figure 81: Scenario

© Copyright. All rights reserved. 69


Unit 4: Migrating Data Using Staging Tables

Figure 82: Creating A Project Using Staging Tables

To create a migration project that uses staging tables, create a new project in the Migrate
Your Data app and ensure that you set the transfer option, Transfer Data from Staging Tables.
Name your project, assign it a Mass Transfer ID and choose the database connection that you
want to use. You can opt for the local database schema of the S/4HANA system or a remote
database connection. You can only use remote database connections that you have already
registered in table DMC_C_WL_DBCO_OP.
From SAP S/4HANA Release 1909 FP01, there is also the database connection Default. This
creates the staging tables in the default schema of the current system.
You cannot change the database connection once you create the project.

Figure 83: Adding Migration Objects To The Project

To add objects to the project, mark them on the left-hand side of the screen and choose the
right arrow button to add them to the list of objects in the project on the right-hand side of the
screen. When you have finished adding object to the project, choose Review to continue. Note
that you can add more objects to the project later on.
When you have chosen Review, the system displays an overview of the project settings and
the migration objects that you have added to the project. At this point, you can edit any of the
settings. Remember that once you create the project, you will not be able to change the
migration approach, mass transfer ID of the project, schema in which the staging tables are
created, or package. Once you are satisfied that the settings are correct, choose Create
Project. You can follow the progress of the project creation in the Running Activities view.

70 © Copyright. All rights reserved.


Lesson: Creating a Migration Project With Staging Tables

Figure 84: Staging Table Overview

In the project overview, the system displays the name of the migration object and the number
of tables. If you choose the number of tables, you will see an overview of the staging tables
containing the description of the table, the technical name of the table as you would find it in
the ABAP Dictionary, and the name of the physical tables in the database (which begin with
the prefix /1LT/). You can also see how many records are contained in the tables. If you click
on the number of records, the system displays the data in the staging table. Note that for data
protection reasons, you can only display the data here but not change it.

Figure 85: Examining The Structure Of A Staging Table

If you choose the name of a structure in the migration object, the system displays its field list,
consisting of the field name, field group, description, key flag and mandatory flag. A key field
must contain a unique value for each record that you migrate. A field that is marked as Not
Null must have a value assigned to it (even if it just the initial value for the corresponding data
type). You must assign values to all mandatory fields - note that mandatory fields may appear
lower down in the field list.

© Copyright. All rights reserved. 71


Unit 4: Migrating Data Using Staging Tables

Figure 86: Examining The Contents Of A Staging Table

If you choose the number or records in staging table in the list, you navigate to its contents.

In the top right-hand section of the view, you can display the documentation of the staging
table. This shows you the field list of the table. The list contains the name, field group, and
description of each field. It also indicates whether a field is a key field, a mandatory field, or
both. There are mandatory key fields at the beginning of the table structure. However, there
can be additional mandatory fields at any position in the table structure.

Note:
In most cases, all key fields of a table are mandatory. The table in this example is
unusual in that it has optional key fields. The key fields Customer Number, Sales
Organization, Distribution Channel, Division and Partner Function are mandatory,
along with one of the fields Customer ID, Vendor ID, Employee ID or Contact
Person.

Figure 87: Filling the Staging Tables using ETL Tools

There are several ways to fill the staging tables. One is to use an ETL tool, either provided by
SAP, such as SAP Data Services or SAP Smart Data Integration or a third-party vendor. The
principle behind these tools is always the same. You define the legacy database and SAP
HANA database containing the staging tables as data sources, then map them to each other.
As in the Migration Object Modeler, you can copy values directly or transform them during the
copy operation.

72 © Copyright. All rights reserved.


Lesson: Creating a Migration Project With Staging Tables

Figure 88: Filling the Staging Tables using Flat Files

Instead of using ETL tools, you can fill the staging tables using CSV files that you import into
the database using the SAP HANA Studio. To do this, open the SAP HANA Modeler
perspective of the SAP HANA Studio and, from the Quick View, choose Import, then SAP
HANA Content → Data from Local File. Then, you can specify the name of the CSV file, its
delimiter, and the name of the table that you want to fill with the data.
When you choose Next, the system shows the columns of the CSV file and of the staging
table. You must map the file fields to the table fields. Choosing Finish loads the data from the
file into the table.
If you use this technique or your own SQL code to fill the tables, you must take the following
points into account:
● You must ensure that not only the key fields but also any further obligatory fields are filled
out.
● Fields with ABAP Dictionary type NUMC require leading zeros.
● Fields of type DATS (date) or TIMS (time) that are to be left initial must contain the correct
initial values '00000000' (DATS) and '000000' (TIMS).

Figure 89: Starting The Data Migration

The next phase of the migration Is to prepare the staging tables. During the preparation, the
system can validate the data in the staging tables. You don't need to do this if you filled the
staging tables using file templates, because the system validates the data when you upload
your files. However, if you have filled the staging tables using ETL tools or your own SQL code,
you should switch on the consistency check.

© Copyright. All rights reserved. 73


Unit 4: Migrating Data Using Staging Tables

Figure 90: Mapping Values

After the system validates the data in the staging tables, you must process the mapping tasks
in the same way as in file transfer.

Figure 91: Simulation - Control Parameters

The simulation of the staging table migration is the same as the simulation of a file transfer.
In this simulation, there are messages related to control parameters. These are values that
the migration object needs to process the migration properly. You set them during value
mapping, but they are not ordinary mapped values. To process the customer migration, the
system must know whether to use external or internal numbering, whether digital payment
tokens are to be checked, and whether there is to be integration with external systems.

74 © Copyright. All rights reserved.


Lesson: Creating a Migration Project With Staging Tables

Figure 92: Staging Tables in the SAP HANA Studio

You can open the staging tables in the SAP HANA Studio to look at both the table definitions
and the table contents. To do this, you must log onto the SAP HANA database with a user who
has permission to access the schema in which the data is stored. As well as the staging tables
themselves, there is an additional table called /1LT/DS_MAPPING, which lists all of the
staging tables along with the project, migration object, and source structure to which they
correspond.
As well as the fields of the source structure, each staging table contains a field /1LT/
PROCESSED, which indicates the current status of the data record. /1LT/PROCESSED can
have the following values:
● Space: The record has not been processed
● P: The record has been processed successfully
● E: The record has been processed with errors

LESSON SUMMARY
You should now be able to:
● Create a project that uses staging tables

© Copyright. All rights reserved. 75


Unit 4: Migrating Data Using Staging Tables

76 © Copyright. All rights reserved.


Unit 4
Lesson 3
Using the Migration Object Modeler in a
Staging Table Project

LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Use the migration object modeler to manipulate customer numbers

Creating and Editing the Migration Project

Figure 93: Scenario

In the next scenario, we will load a staging table with customer data that uses a different
range of customer numbers to the range allowed in the SAP S/4HANA System.
Consequently, we need to convert the numbers to the new number range during the data
migration. We will do this using a field-based rule in the Migration Object Modeler that uses a
few lines of ABAP code to map the old numbers onto the new number range.

© Copyright. All rights reserved. 77


Unit 4: Migrating Data Using Staging Tables

Figure 94: Creating the Migration Project

You create the project in the same way as any other project that uses staging tables. In other
words, you must ensure that you check the Transfer Data from Staging Tables radio button
and choose the appropriate database connection.
When you have created the project, you add the relevant migration object or objects to the
project. The system creates the corresponding staging tables in the SAP HANA database.

Figure 95: Creating the Field-Based Rule

To convert the customer number from the old to the new format, you need a field-based rule.
This will have an import parameter that contains the number in the old format and an export
parameter that returns the number in the new format. The rule transforms the old number to
the new one using ABAP code.

78 © Copyright. All rights reserved.


Lesson: Using the Migration Object Modeler in a Staging Table Project

Figure 96: Parameters and Coding of the Rule

The field-based rule has a single import parameter and a single export parameter. The types
used for the parameters is ANY. You could also use the type BU_PARTNER for the export
parameter; this is the data element (system-wide type definition) that describes a business
partner.
In the ABAP code of the rule, the first step copies the old customer number right-justified into
a variable. The second step overwrites any blanks with zeros.
The third step of the code replaces the first five digits of the customer number with '59910'.
The new customer number is now complete and conforms to the number range defined in
Business Partner Customizing in the SAP S/4HANA System.

Figure 97: Assigning the Rule to the Target Field

To assign the rule to the target field, right-click the Business Partner Number field in the target
structure and choose Assign Rule. Then enter the name of the new rule.
The value of the import parameter should come from the source field KUNNR. The export
parameter is assigned automatically to the Business Partner Number field in the target
structure.

© Copyright. All rights reserved. 79


Unit 4: Migrating Data Using Staging Tables

LESSON SUMMARY
You should now be able to:
● Use the migration object modeler to manipulate customer numbers

80 © Copyright. All rights reserved.


Unit 4

Learning Assessment

1. In which schemata can you create staging tables?


Choose the correct answers.

X A The main schema of your SAP S/4HANA system.

X B The main schema of your source ERP system.

X C Any other schema of the SAP HANA database

X D Any other schema of any database supported by SAP

2. The simulation of your staging table project returns errors and you need to correct the
data. What must you do?
Choose the correct answer.

X A Load all the data into the staging tables again.

X B Reset the staging tables so that the locks on them are released.

X C Edit the data directly in transaction LTMC.

© Copyright. All rights reserved. 81


Unit 4

Learning Assessment - Answers

1. In which schemata can you create staging tables?


Choose the correct answers.

X A The main schema of your SAP S/4HANA system.

X B The main schema of your source ERP system.

X C Any other schema of the SAP HANA database

X D Any other schema of any database supported by SAP

Correct

2. The simulation of your staging table project returns errors and you need to correct the
data. What must you do?
Choose the correct answer.

X A Load all the data into the staging tables again.

X B Reset the staging tables so that the locks on them are released.

X C Edit the data directly in transaction LTMC.

Correct

82 © Copyright. All rights reserved.


UNIT 5 Migrating Data Using Direct
Transfer

Lesson 1
Creating A Direct Transfer Project 85

Lesson 2
Technical Requirements for Direct Transfer 89

Lesson 3
Performing The Direct Transfer 91

UNIT OBJECTIVES

● Create a direct transfer project


● Technical requirements for direct transfer
● Perform the direct transfer
● Analyze errors in the simulation

© Copyright. All rights reserved. 83


Unit 5: Migrating Data Using Direct Transfer

84 © Copyright. All rights reserved.


Unit 5
Lesson 1
Creating A Direct Transfer Project

LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Create a direct transfer project

Create a Direct Transfer Project

Figure 98: Scenario

Figure 99: Migration by Direct Transfer

The third approach to data migration is direct transfer. With this approach, there is no
separate extraction step. Instead, the Migration Cockpit extracts the data directly from a
source system and loads it into the SAP S/4HANA System. Unlike the staging table approach,
which supports all SAP and non-SAP source systems, the source system of a direct transfer

© Copyright. All rights reserved. 85


Unit 5: Migrating Data Using Direct Transfer

project must be an SAP ERP, Extended Warehouse Management (EWM), Apparel and
Footwear Solution (AFS), SAP CRM or SAP APO system.

Figure 100: Creating a Project

When you create a new project, you must specify a name. Every project must also be
assigned to one of the direct transfer scenarios.
The Migration Cockpit reads the data from the source system using an RFC connection. You
must select the appropriate connection from the dropdown list. Unlike staging table projects,
where database connections that are relevant to the Migration Cockpit must be registered in
a separate table and only these are visible, you will see all of the RFC destinations in the target
system here.

Figure 101: Data Selection

When you create a project, you also select which data should be migrated. In the case of cost
centers, this is based on the company code to which the cost center is assigned. There is a
value help available and you can select multiple company codes.

86 © Copyright. All rights reserved.


Lesson: Creating A Direct Transfer Project

Figure 102: Adding Migration Objects

To add migration objects to the project, select the object or objects that you want to use and
choose Add. If the migration object has dependent objects, the system will ask if you want to
add them to the project as well.

Figure 103: Adding Dependent Objects

When you choose Review, the system calculates the dependencies between migration
objects. For example, in order to migrate cost centers, you might need to migrate your profit
center structure first. The system displays a dialog box in which you can choose which objects
to add. This is not mandatory, but bear in mind that your migration may run into errors if the
relevant predecessor objects do not exist in the target system.
When you choose Create Project, the system starts to prepare the project. Note that this can
take some time.

© Copyright. All rights reserved. 87


Unit 5: Migrating Data Using Direct Transfer

LESSON SUMMARY
You should now be able to:
● Create a direct transfer project

88 © Copyright. All rights reserved.


Unit 5
Lesson 2
Technical Requirements for Direct Transfer

LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Technical requirements for direct transfer

Technical Requirements for the Direct Transfer

Figure 104: Creating the RFC Destination

To retrieve the data from the source system, you must create an RFC destination in the SAP
S/4HANA System that connects to the source system. To do this, start transaction SM59 and
create a new destination with type 3 (ABAP connection). The destination must contain the
address of the target host. You can do this either by specifying the name of a single
application server or by setting the Load Balancing option to Yes and entering the address of
the message server and the name of a logon group.
You must also specify logon details for a user. For security reasons, it is best to use a user
with type communication user.

© Copyright. All rights reserved. 89


Unit 5: Migrating Data Using Direct Transfer

Figure 105: Required Roles

The users involved in the migration must have certain roles. In the source system, your user in
the RFC destination must have the role SAP_DMIS_OBT_REMOTE.
On the SAP S/4HANA side, users must have the role SAP_DMIS_OBT_MASTER for the back-
end functionality and, to use the Migrate Your Data app, the role
SAP_BR_CONFIG_EXPERT_DTA_MIG. If you have a hub deployment for SAP Gateway, the
user requires this role in the frontend server. If the SAP Gateway deployment is embedded in
the SAP S/4HANA system, then you must assign the role in this system.

Figure 106: Copy the Template Data

Before you can work with the Migrate Your Data app, you must copy the migration object
template data from client 000 into the client in which you want to work. To do this, run
program CNV_PE_MC_LOAD_OBJECTS in your working client.
Start transaction SE38 or SA38, enter the program name, and choose Execute.

LESSON SUMMARY
You should now be able to:
● Technical requirements for direct transfer

90 © Copyright. All rights reserved.


Unit 5
Lesson 3
Performing The Direct Transfer

LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Perform the direct transfer
● Analyze errors in the simulation

Direct Transfer Performance

Figure 107: Using Activity Tracking

The Migrate Your Data app processes lots of data asynchronously. As a result, it is not always
easy to tell when the project is ready for the next step. In the project overview, you can use the
Running Activities function to display the tasks that the system is currently processing along
with their progress.
If you use this function on the overview screen that lists all projects, you see the activities
relating to all projects. If you use the function from the display of a single project, you only see
the activities relating to the current project.
To close the activity tracking window, choose Hide Activity Tracking.

Figure 108: The Project Overview

In the project overview, you can see the created projects. The list shows you the status of the
project (Not Started - In Progress - Finished), the date on which the project was created, and
by whom. You can also see which RFC connection (direct transfer) or database schema
(staging tables) has been used for the project and how many migration objects the project
contains.
If you choose a line in the project list, the system displays the details of the corresponding
project.

© Copyright. All rights reserved. 91


Unit 5: Migrating Data Using Direct Transfer

Figure 109: Phases of the Migration Project

A migration project that uses direct transfer has four phases. In the first phase, the system
selects the data from the source system. The second phase is to convert mapping values.
When this is done, in the third phase, you can simulate the data migration. Finally, in the
fourth phase, you migrate the data to the target system.
The Migrate Your Data app displays the status of each step.

Figure 110: The Migration Project

In the migration project view, you can see the migrations objects in the project and their
individual status.
The columns Data, Mapping Tasks, Simulation, and Migration show the migration phases and
their current status.
The Migration Progress column shows the overall progress of the migration for the current
object.
The Action dropdown listbox contains entries for the migration actions, Select Data, Mapping
Tasks, Simulate, and Migrate. To start the corresponding action, choose the listbox. When the
action completes successfully, the system automatically sets the action to the next one in the
sequence.

92 © Copyright. All rights reserved.


Lesson: Performing The Direct Transfer

Figure 111: Distribution of Background Jobs

Every project has an attribute for the maximum number of background jobs. The migration
process can use up to this number of background jobs at any one time to parallelize the data
processing. By default, a project may use a total of 15 background jobs. You can change this
value in the project settings. Choose Settings → Edit, then scroll down to Technical
Information.
As well as the total number of background jobs for the project, there is a maximum number of
background jobs that each migration object can use. By default, this is one job. You can
increase the permitted number of jobs by clicking the number in the migration object
information. The sum of the maximum numbers of jobs for all migration objects must not
exceed the total number of jobs that the project can use.

Figure 112: Migration Object Information

If you select a migration object in the project overview, you navigate to the migration object
information. This begins with a brief documentation of the object. The second section
describes the table structures in the source system.
The history enables you to see which steps have executed and by whom. Certain steps have a
message log, which you can also display.
The data section shows the selected data (once the step, Select Data, has been processed).

© Copyright. All rights reserved. 93


Unit 5: Migrating Data Using Direct Transfer

Figure 113: Data Selection

When you choose the Select Data button, the system starts to select data from the source
system. A dialog box appears, in which you can confirm or change the selection criteria for the
migration object. In the case of cost centers, you can select them by company code.
When the data selection has finished, the number of records read appears in the Instances
field of the Data column. The data that has been read is subject to mapping tasks. The system
also shows how many tasks there are, along with the number of tasks that have completed.
In the Migration column, the total number of records read is also the number of records which
have has not yet started migration.
To display the data selected from the source system, choose the number next to Instances:
this takes you to a table containing the key data. If you want to see a complete record, choose
the Display All link.
If you decide that individual records are irrelevant to migration, you can select them and
choose Exclude. This can have knock-on effects on other migration objects that depend on
the current object. For example, if you migrate Profit Centers and Cost Centers and exclude a
Profit Center from the migration, it causes errors for Cost Centers assigned to that profit
center.

94 © Copyright. All rights reserved.


Lesson: Performing The Direct Transfer

Figure 114: Mapping Values

If you choose the number of open mapping tasks in the object overview, the system displays a
list of fields with values that must be mapped. If the target field in the SAP S/4HANA system
has a value help, it is proposed.
You can confirm each task individually or you can select multiple tasks on the overview screen
and confirm them all at once.

Figure 115: Simulation

When you simulate the data migration, you can choose whether to process all records, a
random sample of 500 records, or a random sample of 10% of the records. You can repeat
the simulation as often as you like. As such, before proceeding to a larger sample, you can
decide to start with a small sample to see if that can be processed without errors.
From a technical perspective, you can migrate the data without first simulating the migration.
However, it is better to correct errors as the result of a test run rather than a productive
migration.

© Copyright. All rights reserved. 95


Unit 5: Migrating Data Using Direct Transfer

Figure 116: Errors In The Simulation

If the simulation has errors, a red bar appears at the beginning of the line for the migration
object. In the Simulation column, you can see how many records processed with errors and
how many processed successfully. Choose the number of errors to display the details.
In the detailed view, you can see which records caused errors. If you choose the Error link at
the end of the line, the system displays the error messages the system returns when it
processes the record.

Error Analysis

Figure 117: Error Messages

You can display error messages for a specific record. Display the simulated records that
contain errors. Then, choose the Errors link in the record that you want to examine. You see
one or more error messages. These errors can help you diagnose the problem. In this case, a
value is missing from a particular table in the target system. As a result, the record cannot
process.
How error messages convey information varies from message to message. In this case, we
know that the problem relates to table TKA05. Therefore, we must discover table TKA05's
use, and what data it contains both in the source and the target system.

96 © Copyright. All rights reserved.


Lesson: Performing The Direct Transfer

Figure 118: Table Definitions

To discover what a database table does in the system, start transaction SE11 in the target
system, enter the name of the database table, and choose Display. The system displays the
definition of the database table. At the top of the screen, you find the table's description.
Table TKA05 contains a list of Cost Center types and is the basis for the value help for the
Cost Center type field when you create a Cost Center in transaction KS01. Also, it is used to
check the value that you enter in this field.

Figure 119: Table Contents

To display the data contained in the table, choose the table icon in the application toolbar or
start transaction SE16. A selection screen appears. In the screen, you can enter criteria to
select the data that you want to display. If you want to display the entire table contents, leave
all selection fields blank and choose Execute. The system displays the data. If the table has
more than 200 records, only the first 200 display.
You will need to examine the table contents in both the source and the target system in order
to find out which record is missing and what you need to do about it.

© Copyright. All rights reserved. 97


Unit 5: Migrating Data Using Direct Transfer

Figure 120: Resolving The Problem

When the migration simulation fails because of missing Customizing values, you must decide
how to correct the error. One possibility is that the value is actually in the Customizing table in
the target system. If it is, you must add the value to the Customizing table and then repeat the
simulation.
It is also possible that the project team decided that the value is not in the Customizing table
in the target system. The list of permitted values might be revised as part of your migration
project. In this case, you must return to the corresponding value mapping task and change
the value before repeating the simulation.

Figure 121: Correcting The Value Mapping

To correct the value mapping, return to the overview of the migration object and set the
dropdown listbox to Mapping Tasks. The system displays all mapping tasks, and all have the
status Confirmed. Click the mapping task that contains the value you want to correct and
enter a valid value. The status of the value remains Confirmed and the Confirm button
remains unavailable until you leave the field. When you do, the status changes to Revised and
you can confirm the new value.

98 © Copyright. All rights reserved.


Lesson: Performing The Direct Transfer

Figure 122: Phases Of The Migration Project

When you correct the incorrect mapping values, you can repeat the simulation. Remember
that you can perform as many simulations as you need. For example, you can repeat the
simulation with the same sample as before and, if there are no errors, proceed to simulate a
larger sample or even all of the data.

Figure 123: Migrating The Data

When you start the migration, you can choose whether to migrate all or part of the data. The
options are similar to the simulation options. You can migrate all records, a random sample of
500 records, a random sample of 10% of the records, or all the records successfully
simulated so far.
During migration, a bar chart shows the progress. The records are divided into the categories
Errors, Successful, and Not Started. You can display the records from each category by
clicking the corresponding number.

© Copyright. All rights reserved. 99


Unit 5: Migrating Data Using Direct Transfer

Figure 124: Finishing The Project

When you set a project to Finished, you can no longer change anything. You can only display
the mapping values that you used.
When you choose Finish, the system asks if you want to activate the data retention period. If
you do, you specify that the project be deleted after a certain number of days. This can help
you comply with data protection requirements. If you do not activate the data retention
period, the project is retained indefinitely. However, you can delete the project yourself at any
time.

LESSON SUMMARY
You should now be able to:
● Perform the direct transfer
● Analyze errors in the simulation

100 © Copyright. All rights reserved.


Unit 5

Learning Assessment

1. You can use direct transfer to migrate data from which systems?
Choose the correct answer.

X A SAP ERP, EWM, and AFS

X B Any SAP source system

X C Any system

2. When you add a migration object to the project, what else can you specify?
Choose the correct answers.

X A Company code selection.

X B Dependent objects should be added

X C Client

X D Time period selection.

3. When you simulate the data migration, which options can you choose?
Choose the correct answers.

X A Simulate a random 10% of the records.

X B Simulate every second record.

X C Sumulate a random 500 records

X D Simulate all records.

© Copyright. All rights reserved. 101


Unit 5

Learning Assessment - Answers

1. You can use direct transfer to migrate data from which systems?
Choose the correct answer.

X A SAP ERP, EWM, and AFS

X B Any SAP source system

X C Any system

That is correct.

2. When you add a migration object to the project, what else can you specify?
Choose the correct answers.

X A Company code selection.

X B Dependent objects should be added

X C Client

X D Time period selection.

That is correct.

3. When you simulate the data migration, which options can you choose?
Choose the correct answers.

X A Simulate a random 10% of the records.

X B Simulate every second record.

X C Sumulate a random 500 records

X D Simulate all records.

That is correct.

102 © Copyright. All rights reserved.


UNIT 6 Copying Projects Between
Systems

Lesson 1
Copying Projects Between Systems 105

UNIT OBJECTIVES

● Use Migration Projects in Different Systems and Clients

© Copyright. All rights reserved. 103


Unit 6: Copying Projects Between Systems

104 © Copyright. All rights reserved.


Unit 6
Lesson 1
Copying Projects Between Systems

LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Use Migration Projects in Different Systems and Clients

Transport

Figure 125: System Roles

Your data migration landscape consists of various systems. You will need a development
system, in which you configure your project. For testing parts of the project as you configure
it, you use a sandbox system. When you are ready to test your whole project, you use the
quality assurance system before moving on to the production system to migrate your
productive data.
The Migration Cockpit distinguishes between development and execution environments - this
means that certain operations are not available in certain systems.

© Copyright. All rights reserved. 105


Unit 6: Copying Projects Between Systems

Figure 126: Transport

You create and configure migration projects in a development system. While it is possible to
execute the migration in the development system, you may also want to transport the project
to a sandbox system - for example, because it contains the correct Customizing settings).
When you have finished configuring the project, you transport it into the quality assurance
system for final testing. If the test is successful, you transport the project further into the
production system to perform the actual data migration.

Figure 127: Transport Functionality (Migrate Data Using Staging Tables)Allowed activities in DEV and QAS/PRD
systems - Details

When you transport a project, the transport includes the migration objects, rules, and coding.
It does not include the settings for the number of background jobs, database connections,
RFC destinations, or mapping values. When you import the project, you must set these
according to the configuration of the target system.

106 © Copyright. All rights reserved.


Lesson: Copying Projects Between Systems

Figure 128: Transporting a Project

In order to transport a project between systems, you must assign it to a transportable ABAP
package when you create it. When you are ready to transport the project, start transaction
LTMOM and choose Project → Add to Transport Request. A dialog box appears in which you
must select the number of a transport request. You can create your own request if you have
the relevant authorization, otherwise ask your system administrator to create the request for
you.
To transport the project into other systems, you must release the transport request. You do
this using transaction SE09. When you display your open transport requests, you will see two
entries - the transport request itself and, below it, the task, which entitles you to use the
request. Place the cursor on the lower entry and choose Release, then do the same with the
entry above. This exports the project, and it can then be imported into a subsequent system.

LESSON SUMMARY
You should now be able to:
● Use Migration Projects in Different Systems and Clients

© Copyright. All rights reserved. 107


Unit 6: Copying Projects Between Systems

108 © Copyright. All rights reserved.


UNIT 7 Creating Your Own Migration
Object

Lesson 1
Create Your Own Function Module 111

Lesson 2
Creating the Migration Object 115

Lesson 3
Debugging Migration Runs 123

UNIT OBJECTIVES

● Create a Function module


● Create the migration object
● Debug a migration run

© Copyright. All rights reserved. 109


Unit 7: Creating Your Own Migration Object

110 © Copyright. All rights reserved.


Unit 7
Lesson 1
Create Your Own Function Module

LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Create a Function module

Function Module Creation

Figure 129: Creating Your Own Migration Objects

As well as using the Migration Object Modeler to adapt existing migration objects, you can
also use it to create your own migration objects. You create, for example, migration objects if
you must migrate extensive custom applications or add to standard features of SAP S/
4HANA not covered by existing migration objects.
For example, with the Cost Center migration object, you can only migrate texts in one
language. However, you can create your own migration object to add texts in further
languages.
In this unit, we create a migration object to migrate data from the flight data model used in
ABAP training.

© Copyright. All rights reserved. 111


Unit 7: Creating Your Own Migration Object

Figure 130: The Data Model

The database table that we fill in this example is called SPFLI and it contains a list of flight
connections. For example, flight LH400 flies from Frankfurt, Germany to New York, USA,
departing 10:10. To fill the table, we need a function module (reusable procedure) that inserts
records into the table. We use the function module in a migration object.

Figure 131: Function Modules

Function modules are reusable procedures that you create using ABAP and the ABAP
Workbench. They have importing parameters, by which they can receive data, and exporting
parameters, which they use to communicate results.
When you use a function module in a migration object, the importing parameters convey the
data of the data record that you migrate. The function module must also offer a simulation
mode and an importing parameter to signify whether it is called in simulation mode. An
exporting parameter contains any error messages triggered by the function module. The
ABAP code must check the validity of the data and then insert it into the database table.

112 © Copyright. All rights reserved.


Lesson: Create Your Own Function Module

Figure 132: The Importing Parameters

The function module for creating a flight connection has two importing parameters. The first
parameter IS_CONNECTION is a structure that contains all of the attributes of the
connection, such as airline, flight number, departure and arrival cities, and so on. The second
parameter is a flag to indicate whether the function module is executed in simulation mode. In
this case, the function module performs all checks on the data and ensures that the data can
be inserted into the database table, but does not actually perform the insertion.
Later in the migration object, the parameter IS_CONNECTION forms a target structure. When
you assign a function module to a migration object, you must also specify which parameter
makes the function module run in simulation mode - in this case, IV_SIMULATE.

Figure 133: The Exporting Parameters

Function modules that you use in migration objects must have an exporting parameter with
the type BAPIRET2. The function module uses this parameter to return a message. It is either
a success message or an error message. The migration cockpit processes these messages
and adds them to the migration log.
This parameter is used instead of exceptions, which are not allowed.

© Copyright. All rights reserved. 113


Unit 7: Creating Your Own Migration Object

Figure 134: The Source Code

The function module must ensure that the data is consistent before writing it to the database.
The figure, The Source Code, is a source code extract that shows the check for ensuring that
the flight connection you want to create does not already exist. This is just one of many
checks that even this simple function module must perform. Examples of others are ensuring
that the departure and arrival cities and airports actually exist, and that the departure and
arrival airports are actually different.
If the function module encounters an error, it must report it using the return structure and a
message. The different components have the following meanings:
● TYPE: Message type - 'S' for success, 'I' for information, 'W' for warning, or 'E' for error; the
types 'A' and 'X' are not allowed
● ID: Message class
● NUMBER: Message number
● MESSAGE_V1 to MESSAGE_V4: Values to replace placeholders in the message

The message is identified by a message class and number. A message class contains all
message texts required by a particular application. In the class, each message has a number.
Messages can contain placeholders (denoted by &1 to &4).
If there are no errors, the function module inserts the data into the corresponding database
table or tables. However, it must not execute a COMMIT WORK statement. The Migration
Cockpit is responsible for this statement.

LESSON SUMMARY
You should now be able to:
● Create a Function module

114 © Copyright. All rights reserved.


Unit 7
Lesson 2
Creating the Migration Object

LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Create the migration object

The Migration Object Creation

Figure 135: Creating a New Migration Project

To create your own migration object, you must first create a project using the Migrate Your
Data app. Use the staging table approach to supply the data.
When you create the project, you switch to transaction LTMOM to create the migration
object.

© Copyright. All rights reserved. 115


Unit 7: Creating Your Own Migration Object

Figure 136: Creating a New Migration Object

To create a new migration object, switch to change mode in your project and choose
Project → Create Migration Object → From Template → Migrate Data Using Files/Staging
Tables. Enter a name for the new migration object. The object name always has the project's
mass transfer ID as a suffix. You must also enter a description for the object.
The description of the object is important. It is the text that appears as the name of the
migration object in the Migration Cockpit.

Figure 137: Object Details

When you create your migration object, you must provide the name of the function module
along with some additional information.
● Processing Mode: In this mode, you can decide whether data records are passed to the
function module individually or in blocks. In general, mass processing is faster than
processing single objects. However, the function module must support mass processing
by accepting multiple records. The function module shown in the figure, Object Details,
does not support this.
● Result Parameter: This is the name of the parameter of the function module that contains
messages. The Migration Object Modeler needs this information to process the messages.

116 © Copyright. All rights reserved.


Lesson: Creating the Migration Object

● Simulation Parameter: The Migration Cockpit calls the function module both to simulate
the migration and to migrate the data. Therefore, you must specify the name of the
parameter along with the value that it has for simulation mode.

Figure 138: The Source Structure

The next step in creating the migration object is to define the source structure. This in turn
defines how the file template or staging table(s) look. For each field, you must specify the
following information:
● Key Field: Is the field a key field? The combination of key fields identifies each record
uniquely and the sequence of key fields must occur at the beginning of the structure.
● Name: Each field must have a unique name.
● Data Type: Each field must have a data type. Some types, such as CHAR and NUMC
require you to specify a length for the field. Other fields, such as INT4 and DATS, have a
predefined length. The data type DEC requires a length and also a number of decimal
places.
● Column Header: This is the column heading that appears in the file template. If you use
staging tables, it appears as the field description in the table definition in the SAP HANA
Studio.
● Group Text: This is the field group that appears in the file template.

By default, only key fields of the source structure are mandatory fields. If you want to make
further fields mandatory, switch to the view of the source structure and adjust the field
attributes accordingly.

Figure 139: Source Structure and Staging Tables

© Copyright. All rights reserved. 117


Unit 7: Creating Your Own Migration Object

When you create a source structure in a staging table project, the system creates the
corresponding staging table in the database. The system uses the database connection from
the settings of the migration project. If you want to test the object later, you must fill the
staging table. Importantly, the staging table is shared between the migration project and the
Migration Object Modeler.

Figure 140: Structure And Field Mapping

The target structure is defined by the parameters of the function module. In the Structure
Mapping section of the migration object, drag the Connection node onto the Header and also
onto the node R_IS_CONNECTION.
The field mapping is a simple move operation for most of the fields. However, the flight
number is represented differently in the source structure and target structure.

Figure 141: Mapping The Flight Number

In the source structure, the flight number is stored in a single field. However, in the target
structure, there are separate fields for the airline and the flight number. To map these fields,
you need two field-based rules. The first rule takes the first two characters of the flight
number and assigns them to the airline field. The second rule takes the last four characters
and assigns them to the flight number field.

118 © Copyright. All rights reserved.


Lesson: Creating the Migration Object

Figure 142: The Field-Based Rule

The field-based rule for the airline has an import parameter I_FLIGHTNUMBER and an export
parameter E_AIRLINE. E_AIRLINE has the type S_CARR_ID. This is the data element that is
also used to define the airline column of the corresponding database table.
The rule's coding specifies that the first two characters of I_FLIGHTNUMBER are assigned to
E_AIRLINE.
The second rule looks almost identical to this one. The coding is:
e_airline = i_flightnumber+2(4).
This code takes four characters starting at offset 2. Offset 2 is the third position in the field
(offset 0 is the first position in the field).
When the rules are defined, you can assign them to the target field. Finally, you generate the
migration object.

Figure 143: Testing and Documenting the Object

To test the migration object, download the file template using the icon shown in the
application toolbar. The columns of the file template correspond to the fields of the source
structure.

© Copyright. All rights reserved. 119


Unit 7: Creating Your Own Migration Object

You can fill the template with sample data and upload it using the Simulate function. You can
then simulate the migration.
To document your migration object, choose Goto → Show/Edit Documentation. The
documentation is then available to users in the Migration Cockpit.

Figure 144: Simulating a File Object

When you test your object, you must select the file template that contains the test data. You
can use the normal debugging functions. If you want to debug the function module that posts
the data, set the option Breakpoint Before Posting. This function turns on the debugger a few
lines before the actual function call.
If you want to examine the converted data to ensure that your rules work correctly, use the
function View Records After Conversion. During the simulation run, the system displays a
dialog box containing the converted values.

Figure 145: Simulating a Staging Table Object

When you simulate the migration of a staging table object, most settings are the same as
when you simulate a file-based object. However, the data selection is different. With the
staging table approach, you can choose to select all objects, specific records (by entering a
particular key or keys), or a certain number of objects at random.

120 © Copyright. All rights reserved.


Lesson: Creating the Migration Object

The staging table is available to the simulation tool in the Migration Object Modeler. It is also
available to the migration project in the Migration Cockpit. Therefore, you must ensure that
your testing activities and activity in the Migration Cockpit do not clash.

LESSON SUMMARY
You should now be able to:
● Create the migration object

© Copyright. All rights reserved. 121


Unit 7: Creating Your Own Migration Object

122 © Copyright. All rights reserved.


Unit 7
Lesson 3
Debugging Migration Runs

LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Debug a migration run

Debugging a Migration Run

Figure 146: Simulating a Migration Run

In the Migration Object Modeler, you can simulate a migration run. To do this, make sure that
your project is open in change mode and download the file template. You can then fill the
template with sample data. When you have done this, choose Simulate. The system displays
the screen shown in the figure, Simulating a Migration Run.
Use the Select File function to choose the file that you have filled with sample data. In the
simplest case, you can then just start the simulation. The system uploads the data, validates
it, and processes the simulation stage of the migration.
If there are missing value mappings, the simulation will return an error. In this case, you must
process the migration project using the Migration Cockpit (transaction LTMC) to assign the
mapping values. You can then simulate the import again in the Migration Object Modeler.

© Copyright. All rights reserved. 123


Unit 7: Creating Your Own Migration Object

Figure 147: Before and After Comparison

During the simulation, you can pause and examine the data both before and after it has been
converted. To do this, select the corresponding checkbox or checkboxes on the initial screen
of the data simulation. You will then see the data in its respective source or target structures.
If you examine the target structures, note that the system often distributes the data across
several structures.
To continue with the simulation, choose the Leave Data Editor function.

Figure 148: Debugging Options

As well as displaying the unconverted and converted data, you can also interrupt the
simulation at the same points to debug the ABAP code. To this, set the checkboxes
Breakpoint Before Conversion and/or Breakpoint Before Posting when you start the
simulation.
Breakpoint Before Conversion switches the Debugger on before the field mappings begin. You
can use this option to debug any code-based rules that you have created. Each rule is stored
in its own subroutine. To find the subroutines more easily, you can set a statement-based
breakpoint for the PERFORM statement. You can then use the Continue (F8) function to jump

124 © Copyright. All rights reserved.


Lesson: Debugging Migration Runs

from one PERFORM statement to the next. The subroutine containing your rule has the name
_rule_<rule name>_s for rules that belong to the entire sub-project and _rule_<rule name>_p
for rules that you created in a single migration object.
Breakpoint Before Posting switches the Debugger on shortly before the system calls the API
that posts the data. You can use this if you have written your own function module to transfer
the data into the SAP S/4HANA system. Since the API is a function module, you can create a
statement-based breakpoint for the CALL FUNCTION statement.

Figure 149: Useful Debugging Commands

To work with the Debugger, the following commands are useful:


● F5: Single Step - the Debugger executes the next statement.
● F6: Execute - the Debugger executes the next statement. If the statement calls a
subroutine, function module, or method, the system executes the procedure without
debugging it step-by-step.
● F7: Return - If you are in a procedure, the system executes the rest of it, then halts again in
the Debugger after the procedure has finished.
● F8: Continue - The system carries on processing statements and does not stop until the
next breakpoint. If there are no more breakpoints, the system carries on to the end of the
migration routine.
● Shift + F5: Statement-based breakpoint. When you choose this command, a dialog box
appears in which you can enter a statement at which the system should always stop.
Relevant statements in this context are PERFORM (for debugging before value conversion)
and CALL FUNCTION (for debugging before posting).

© Copyright. All rights reserved. 125


Unit 7: Creating Your Own Migration Object

Figure 150: Debugging Errors - Recording The Error

The normal debugging options debug every record of the file that you upload. However,
sometimes you want to debug the API that creates the data in the target system to find an
error. This most likely happens if you create your own function module and migration object
to migrate data that is not in the standard scope of the migration cockpit. In this case, you can
set the option Save Data if Error Occurs. This function saves information about the first data
record that contains errors during a migration run. It allows you to debug the simulation of
this single record after the main migration run finishes.
In the above example, the 350th and 472nd records in the simulation file lead to errors. In this
case, the system saves information about record 350 in a simulation run. You choose the
name of the simulation run freely and enter it in the input field on the initial screen of the
simulation.
The system only creates a simulation run if the error occurs while it is transferring data to the
target system (that is, during the API call). If an error occurs during value mapping, the
system skips the API call.

Figure 151: Debugging Errors - Debugging the Saved Run

To debug the simulation with the stored data, go to the initial screen of the simulation and
choose Goto → Debug Error. Enter the name of the migration object (you can use the value
help) and choose Select Run to choose the simulation run that you want to debug.
When you choose Execute, the system launches the Debugger in the same phase as when you
choose Breakpoint Before Posting in the normal simulation and debugging.

126 © Copyright. All rights reserved.


Lesson: Debugging Migration Runs

LESSON SUMMARY
You should now be able to:
● Debug a migration run

© Copyright. All rights reserved. 127


Unit 7: Creating Your Own Migration Object

128 © Copyright. All rights reserved.


Unit 7

Learning Assessment

1. Which of the following statements apply to function modules that you want to use for
Migration Objects?
Choose the correct answers.

X A They must be remote-enabled.

X B They must have an exporting parameter for message handling.

X C They must have a parameter for simulation mode.

X D They must not have TABLES parameters.

2. Which of the following must the function module not do?


Choose the correct answer.

X A Check the validity of the importing parameters.

X B Write the data to the database.

X C Execute a COMMIT WORK statement.

3. Where in the migration cycle can you set a breakpoint?


Choose the correct answer.

X A Before Upload

X B Before Validation

X C Before Conversion

4. The Save Data if Error Occurs option saves data about which error or errors?
Choose the correct answer.

X A The first error that the system encounters

X B The last error that the system encounters

X C All errors that the system encounters

© Copyright. All rights reserved. 129


Unit 7

Learning Assessment - Answers

1. Which of the following statements apply to function modules that you want to use for
Migration Objects?
Choose the correct answers.

X A They must be remote-enabled.

X B They must have an exporting parameter for message handling.

X C They must have a parameter for simulation mode.

X D They must not have TABLES parameters.

That is correct.

2. Which of the following must the function module not do?


Choose the correct answer.

X A Check the validity of the importing parameters.

X B Write the data to the database.

X C Execute a COMMIT WORK statement.

That is correct.

3. Where in the migration cycle can you set a breakpoint?


Choose the correct answer.

X A Before Upload

X B Before Validation

X C Before Conversion

That is correct.

130 © Copyright. All rights reserved.


Unit 7: Learning Assessment - Answers

4. The Save Data if Error Occurs option saves data about which error or errors?
Choose the correct answer.

X A The first error that the system encounters

X B The last error that the system encounters

X C All errors that the system encounters

That is correct.

© Copyright. All rights reserved. 131

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy