Training Manual - ABAP Tutorials

advertisement
LSMW
Legacy System Migration
Workbench
Legacy System Migration Workbench
PrepareMe
1
TellMe
2
5
3
ShowMe
4
LetMe
HelpMe
LSM Workbench
PrepareMe
1
TellMe
2
5
3
ShowMe
4
LetMe
HelpMe
What is Data migration?
• In an SAP R/3 implementation the data from legacy
system (non SAP R/3) needs to be transferred to
the SAP system
• Periodic data transfer between R/3 and other
system (interfacing) is also required
• Both of the above form a part of data migration
Significance of data migration
•
Data migration comes in the end of R/3
implementation.
•
To start with Data Migration first
configuration should be fully completed
•
Data migration is about 20% to 40% of
the total implementation expenses.
Data migration tools
The tools for data migration are:-
• BDC (Batch Data Communication)
• LSMW (Legacy System Migration Workbench)
Difference between BDC & LSMW
• LSMW offers different technique for migrating data:
Direct input, BAPI, Idoc, Batch input recording.
While BDC basically uses batch input sessions and
CALL TRANSACTION method.
• Limit on number of records which can be uploaded
in one session of BDC (999 records). No such limit
in LSMW.
• LSMW is more to do with configuration while BDC
involves programming.
LSM Workbench
PrepareMe
1
TellMe
2
5
3
ShowMe
4
LetMe
HelpMe
What is LSMW?
• The LSM Workbench is an R/3-based tool that supports you when
transferring data from
- Non-SAP systems ("Legacy Systems") to R/3
- Once or Periodically.
• The tool supports conversion of data
• The data can be imported into the R/3 system via
- Batch Input
- Direct Input
- BAPI’s
- IDocs.
LSMW
The LSM Workbench is a tool that supports data transfer
from non-SAP systems to R/3. The main functions of the
LSM Workbench are:
- Import data (legacy data in spreadsheet tables and/or
sequential files)
- Convert data (from source format to target format)
- Import data (into the database of the R/3 application)
Principles of LSM Workbench
• Basic Principles of LSM workbench:– Most of the functions should reside in R/3. No collection
of individual programs on different platforms.
– The quality and consistence of the data imported into R/3
should be more important than speed and performance of
data migration.
– Existing knowledge and coding should be used.
– The developed ”mapping" and rules should be reusable
and thus be used repeatedly in projects.
Features of LSMW
• Features:Integrated in R/3 and thus independent of individual platforms
The import technique to be used in an individual case, depends on the
business object as well as on the availability of standard input programs
Data consistency due to standard import techniques:
Batch input
Direct input
BAPIs (Business Application Programming Interfaces)
IDocs (Intermediate Documents)
Structured way of working, because you have to finish every step before
starting the next step
Graphical representation
Pre-requisites for LSMW
• Make sure that SAP customizing is finished.
• Run the relevant transaction in the SAP system manually with
test data from the legacy system and see which fields must
be filled. There may be required fields that do not correspond
to data fields in the legacy system. In such a case, one
should better assign a fixed value or establish an optional
field for data transfer.
• Map the fields in advance in written form: Assign the source
fields to the target fields.
• Determine the form in which non-SAP data will be transferred
into the SAP system (e.g. via "Move" or according to a rule).
Import methods…
Preferred methods of input are described in order of preference:
1. IDOC’s
Advantages: Fast to load, easy processing, low
programming for standard IDOC’s
Disadvantages: Good knowledge of IDOC processing
required, time consuming if changes have to be made to a
created IDOC
2. BAPI’s
Advantages: Fast to load, easy processing, logical interface
for functional/end user based on the business processes
involved.
Disadvantages: Not always complete with all input fields of a
transaction
Import Methods…
3. Standard/Direct Input
Advantages: Well tested method, Fast to load, easy processing.
Disadvantages: No enjoy transactions, not always complete with all
input fields of a transaction.
4. Batch Input
Advantages: Easy modifiable, all fields are available, easy reprocessing.
Disadvantages: Comparatively slow, to use new screens or tabs a
new recording has to be created, not easily usable for enjoy
transactions, dependant on user settings, difference in foreground
and background processing may occur.
LSM Workbench
PrepareMe
1
TellMe
2
5
3
ShowMe
4
LetMe
HelpMe
Getting Started
Here is an example showing the way to use the conversion tool LSMW in SAP.
It starts in the start-up screen of LSMW transaction and ends with a screen on
which the results of the conversion are displayed
If you want to create or change objects, make sure that you are working in
change mode. To activate this mode, click Change in the corresponding
processing step. Only this mode provides all functions required for changing
objects
Step 1 - Enter transaction LSMW
Enter the transaction code (LSMW) or add this transaction to your favourites (right-click
with your mouse on the Favourites map in the start menu and choose Insert transaction,
type lsmw and press enter), since LSMW is an additional transaction, it is not available in
the standard SAP menu.
Step 2 – project, subproject, objects
At the initial screen, you can create a new project, corresponding
subprojects and objects via Edit -> Create new entry. Alternatively you
can select from an existing project
• Project: An ID with a maximum of 10 characters to name your data
transfer project. If you want to transfer data from several legacy
systems, you may create a project e.g. for every legacy system
• Subproject: An ID with a maximum of 10 characters that is used as
further structuring attribute
• Object: An ID with a maximum of 10 characters to name the business
object
Step2 contd..
- At the initial screen, ‘All Objects’ provides a list of all projects
created already.
- ‘My Objects’ displays a list of all objects you created personally
- ‘All Project Objects’ displays all objects of the selected project as
tree structure.
- ‘Project Documentation’ displays any documentation written for the
individual pop-ups and processing steps. You can print the project
documentation out, send it and save it in various file formats.
- Select ‘Documentation’ to enter your notes. After clicking, a popup
is displayed in which you can write down your personal
documentation.
Initial Screen
By clicking the button execute or pressing the F8
key on your keyboard you go to the object, you
selected.
By clicking the button create a new object for the
selected project and subproject with the name
entered in the object field is created.
By positioning the cursor on an entry and clicking
on the button documentation, you can add change or
delete comments.
Administration - list of existing projects
Project
Subproject
Object
In the initial screen, you can display the administration
functions via the menu path Goto Administration. Here you
can find a list of all existing projects.
It enables you to create, process, display, delete, copy or
rename projects, subprojects, objects and reusable rules.
By double-clicking on an entry you can branch to the entry
display.
Step 3 – Execute
Once the project and subproject along with
the object are determined we execute to
find the list of steps to be performed for
data transfer
Process steps
Process steps
• The number of process steps is dynamic and shall depend on
factors like input method
• By clicking the ‘User menu’ button one can select – deselect
the Process steps
• To proceed through the processing steps one needs to start
from the first one and execute each of them
• A step can be skipped by selecting the next available
processing steps’ radio button
Maintain object attributes
Choose if
the data
transfer is
once or
periodic
Choose
method for
input of data.
In the method to
input data from
a BAPI, one
needs to select
the Business
Object and the
corresponding
method.
If Batch input recording is selected one
can enter further recordings by clicking
at the arrow
Application Toolbar in Process steps
User Menu: Here you can make an individual selection from the displayed processing steps.
Pressing button ‘Main steps’ automatically activates all processing steps mandatory for a
data conversion.
Numbers On or Off: You can activate or deactivate the numbering of the individual
processing steps.
Double click = Display or Double click = Change: Here, you can determine whether display
mode or change mode is selected by double clicking.
Object overview: Displays all object information for the selected object.
Information includes object information, source structures, target structures, structure
relations, source fields, target fields, field mapping.
Action log: Displays a detailed overview for all processing steps already carried out. You
can reset the action log via the menu path Extras -> Reset Action Log. This action is stored
with a reference to the user and the date.
Maintain Source structures
In the step ‘Maintain Source Structures’ you define the structures of the object
with name, description and the hierarchical relationships:
Click on Change button. You can now define, change, reassign or delete
structures. All these functions are available via pushbuttons.
When you define more than one structure, a popup is displayed querying the
relations between the structures: equal/subordinate?
Note: For migration objects created via transaction recording, you may only
define one structure per recording, since only one flat target structure per
recording is available.
Maintain source fields
In the step ‘Maintain Source Fields’, fields are created and maintained for the
source structure defined in the preceding step
Use source fieldnames with the same names as the target fieldnames as much as
possible, because it allows you to use the ‘auto-field mapping’ function in step 5
‘Maintain field mapping and conversion rules’.
Maintain source fields
Different possible ways of defining and maintaining
the source fields:
Make sure that you are in change mode and the cursor is positioned on a
source structure or an existing source field
1. Create Individual source fields - By clicking on the button ‘Create source
field’ you can specify the field name, field label, field length and field type
During data read, you can specify whether date values are converted into
the internal date format (YYYYMMDD) and amount fields are converted
into the calculation format (1234.56)
‘Selection Parameter’ can be set during Read/Convert data. If you select
this indicator, the corresponding field is made available as selection
parameter when reading or converting data.
2. Maintain Source Fields in Table Form – Clicking on the ‘Table Maintenance’
button displays the fields in a tabular format.
Maintain source structure… contd
Different possible ways of defining and maintaining the source fields:
•
3. Copy Source Fields from Other Sources : By selecting ‘Copy Source Fields’ displays
the following options:
- Upload (Text separated with Tabs) – The source field description is stored in a text file
the columns of which are separated by tabs
- Copy from Another Object – Source field can be copied from source structure of
another object
- Copy from Data Repository – Source field can be copied from a structure in SAP Data
Repository
- From Data File (Field Name in 1 Line) - Source fields can be copied from a data file
which should be stored on the PC in the form of text separated by tabs and contain the
fields in the first line.
Maintain structure relations
 In the step ‘Maintain Structure Relations’, the structural relationships between
source and target structures are defined. The possible target structures are defined
during the selection of the object type and the import technique
 To define structural relationships, position the cursor on the field target
structures. Clicking create Relationship button opens a window that displays the
existing source structures for selection
 If you want to change the relation, remove the existing relation first. In addition,
you can use Check to check the structural relationships for errors
Maintain Field mapping & conversion rules
• In the step ‘Maintain Field Mapping and Conversion Rules’, you assign source
fields to target fields and define how the field contents will be converted
• All fields of target structure, which you selected in the previous step, will be
displayed.
• For each target field the following information is displayed:
- Field description
- Assigned source fields (if any)
- Rule type (fixed value, translation etc.)
- Coding
Maintain Field mapping & conversion rules
Layout determination
 The layout of the ‘Maintain field mapping’ screen
can be determined. i.e. we can decide whether the
‘Global data’, ‘Technical fields’ should be displayed
Maintain Field mapping & conversion rules
 To assign a source field, position the
cursor on a target field in the tree structure
and select Assign source field.
This displays a list of all available source
fields for selection. You can assign the fields
by double-clicking on them as well
Maintain Field mapping & conversion rules
 After assigning the source fields, you define the
conversion rules. The default rule is ‘Move’.
However, you can select various standard
techniques via pushbutton:
The target field is
assigned coding
carrying out field
contents conversion
using a translation
table
This deletes the
coding assigned
to the target field.
In addition,
source fields
assigned to the
target fields are
removed as well.
The target
field is
assigned a
fixed
value
The data is
transferred
using
ABAP
command
‘Move’
A ‘fixed value object’
(variable) named FV_<fixed
value> is assigned to the
target field. This fixed value
object is filled with an actual
value in step ‘Maintain Fixed
Values, Translations, UserDefined Routines’.
Maintain field mapping & conversion rules
By clicking this button, after clicking once on a target field (in blue), LSMW
displays the list of available source fields, by choosing one the standard rule ‘move’ is used
to link the 2 fields
By clicking this button, after clicking once on a target field (in blue), the source
field is deleted from the target field
By clicking this button, the display of this step can be changed. There are
possibilities to show or hide several aspects of the field mapping
By clicking this button, a syntax check is performed for the conversion program,
generated from the field mapping
These 3 buttons, which are available for every target field, display the help
function (‘I’), the possible entries (?) and the last one displays the documentation in LSMW
Maintain Fixed values, translations…
In the step ‘Maintain Fixed Values, Translations, User-Defined
Routines’, you can process the reusable rules of a project, which are
defined at project level, so they are the same for all objects
Fixed value: Here you can specify the length, type flag for
lowercase/uppercase and value in addition to the name of the field.
Translation: Here you can enter information on the source field and
the target field. If you are creating a new translation you have to save
data first before you can change it
User Defined Routines: This routine can be re-used in other objects of
the project. The system adds in ‘ur_’ to the name that you suggest to
use for this routine. It opens up an editor wherein you can enter your
ABAP code
Process Step- Specify File
In the step ‘Specify Files’, you describe all files to be used
If your legacy data is on the PC: In change mode, position the cursor on the line ‘Legacy data On
the PC (Front-end)’. Select Add entry. A popup is displayed. Specify file path, file name and
description and other properties
If your legacy data is on the R/3 server: In change mode, position the cursor on the line ‘
Legacy data On the R/3 server (application server)’. Select Add entry. A popup is displayed.
Specify file path, file name and description and other properties
File for Imported data: Here, the file name is entered with file extension ’.lsmw.read’.
File for Converted data: Here, the file name is entered with file extension ’.lsmw.conv’. This file
will contain all your converted data after applying the conversion rules if any.
Process Step – Assign File
In the step ‘Assign Files’, you can assign the file name in step 7 declared as source file to
the target structure defined in step 2 .
If you click on the Assign File button, after clicking once on a target structure (in
yellow), LSMW displays the list of available source files.
If you click on the Delete Assignment button, after clicking once on a target
structure (in yellow), the source file is deleted from the target structure.
Process step – read data
In the step ’Read Data’, the file specified in previous step is, as linked to the
target structures in . Even though you can select a range of transaction
numbers, the whole file is being read, only the amount of transactions written is
influenced. So for tests it is easier to read all data and convert only a certain
range, because in that step the program stops after finishing the range.
Process Step – Display read data
In the step ‘Display Read Data’, you can display the read data, choosing to show
all read data or an interval as shown above. The data are shown as the source
structures, in case more source structures are being used in one transaction, the
hierarchy of the transaction is displayed by the use of a different colour legend.
By clicking on one of the lines, you proceed to the field level of the line, where
you can check the read data as shown below.
Process Step – Convert data
In the step ‘Convert Data’, works like the step ‘read data’, but uses the conversion
program instead of the read program. You can define a range of transactions to
be converted, at the end of this range the conversion program stops running.
Note: It is recommended that when you load big amount of data in production,
load the first 10 records so that you can check and change when necessary.
Process Step - Display converted data
In the step ‘Display Converted Data’, you can display the converted data,
choosing to show all converted data or an interval as shown above. The data are
shown as the target structures, in case more target structures are being used in
one transaction, the hierarchy of the transaction is displayed by the use of a
different colour legend. By clicking on one of the lines, you proceed to the field
level of the line, where you can check the converted data as shown below.
Process Step
After the step ‘Display Converted Data’ the exact content of the next steps may differ,
depending on the import technique that you have chosen in step 1. The steps displayed by
the program for the different import techniques are:
Standard batch input or recording:
Generate batch input session
Run batch input session
Standard direct input:
Start direct input session
BAPI or IDoc:
Start IDoc creation
Start IDoc processing
Create IDoc overview
Start IDoc post-processing
LSM Workbench
PrepareMe
1
TellMe
2
5
3
ShowMe
4
LetMe
HelpMe
Practical LSM Workbench
Exercise 1
Create LSMW object and upload Vendor Master data to SAP
1.
Analyzing the test data (in attached XLS file)
select the appropriate upload method
2.
Develop simple LSMW object - No major
conversions required
Practical LSM Workbench
Exercise 2
Create LSMW object and upload Purchase Requisition data to SAP
1.
Analyzing the test data (in attached XLS file)
select the appropriate upload method
2.
Develop simple LSMW object - No major
conversions required
Using Direct Input method
Using Direct Input method
• We now look at an example to change Customer
master record using the direct input method.
• Specifications:
Object : 0050 - Customer Master
Method : 0000
Program Name: RFBIDE00
Program Type :B
Using Direct Input method
• Step 1: Enter transaction LSMW
• Step 2: Enter project, subproject and object
Using Direct input method
Step 3: Enter the descriptions for Project,
Subproject and Object as prompted
Using Direct Input method
• Step 4: Click on execute. The process steps are
displayed (the process steps displayed depend on
the input method chosen)
Using Direct Input method
• Step 5 : Select the 1st Process Step “Maintain Object
Attributes” and select “Execute” and select ‘Standard Batch/
Direct input’. Enter the data as shown
Using Direct Input method
• Step 6: Save and Click at Back
• Step 7:Maintain Source Structure
Using Direct Input method
• Step 8 : Create source structure - XD02S
Using Direct Input method
• Step 9 : Maintain Source Fields
Click at the table maintenance icon, to specify the
fields.
Using Direct Input method
• Step 10: Maintain structure relations
• Step 11: Execute, structures for standard object
‘0050’ are displayed.
Using Direct Input method
• Step 12: Place cursor at the target structure and
click at create relationship icon
Using Direct Input method
• Step 13 - Maintain Field mapping and conversion
rules
- Place cursor at the field ‘TCODE’ in ‘BNK00’ and
click at ‘Rule’ Then choose ‘Constant’
and enter ‘XD02’.
Using Direct Input method
• Step 14: Place cursor at the fields and click at the
‘Source Field’ icon to map with the respective field
in the source.
The above is applicable for BNK00, BNKVV and all
the other structures assigned ‘XD02S’ in source
relation
Using Direct input method
• Step 15 : Specify Files
Enlist files wherefrom legacy data would be extracted.
Using Direct input method
• Step 16: Assign files
The structure XD02S is correlated with the specified
file.
Using Direct input method
• Step 17: Read data from legacy files.
Using Direct input method
• Step18: Display the read data
Using Direct input method
• Step 19: Create batch input session
Using Direct input method
• Step 20: Execute the batch input session
Using Batch Input Method
Using Batch Input Method
• The Sessions method provides more flexibility
since user can record any transaction required.
• In the following slides we observe the differences
between the Sessions and the ‘Direct Input
method’ for the same scenario – Change customer
Master data.
Using Batch Input Method
• Create Project, Subproject and Object in transaction LSMW
• Step – ‘Maintain Objects attributes’, select ‘Batch input
recording’. Enter the recording name if a recording already
exists else create a new one by clicking at the icon
‘Recording overview’
Recording
overview
key
Using Batch Input Method
• Recording..
During the recording the system calls the transaction code
XD02 and prompts you to complete the Change.
Select at
least one
area of
processing .
Using Batch Input Method
• Recording
Default values
Using Batch Input Method
• Process recording
- Replace the default values in the previous slide with Field
names.
- Double click on each of the lines to effect the change.
Using Batch Input Method
• Rest of the steps remain the same as
the ‘Direct input method’ other than ‘
Maintain Field mapping and conversion
rules’
Using Batch Input Method
• Sessions method
The fields
specified in
the recording
are displayed
• Direct Input
Fields part of
the structure
available with
Standard
Object 0050
Using BAPI in LSM Workbench
Using BAPI in LSM Workbench
• We now go through a step by step process of
realizing LSMW through a BAPI
• Details of BAPI used:
- Business Object: BUS2012
- Method:
CreateFromData
• Details of Message Type and Basic IDoc Type:
- Message Type: PORDCR
- Basic IDoc Type: PORDCR02
Using BAPI in LSM Workbench
• Step 1 : Go to transaction LSMW
• Step 2 : Enter project, subproject and object
and click on Create
Using BAPI in LSM Workbench
Step 3: Enter the descriptions for Project,
Subproject and Object as prompted
Using BAPI in LSM Workbench
Step 4: Now select Settings  IDoc Inbound
Processing
Using BAPI in LSM Workbench
Step 5 :“IDoc Inbound Processing” screen appears. Enter
the required details as shown below:
Step 6 :Click on “Activate IDoc Inbound Processing”.
Using BAPI in LSM Workbench
• Step 7 : Click on “Yes” when prompted for “Activate
IDoc Inbound?”
• Step 8 : Hit on “Back” to return to the main screen
Using BAPI in LSM Workbench
• Step 9: Click on Continue (F8). Following Screen appears
Using BAPI in LSM Workbench
Step 10: Select the Step 1 “Maintain Object Attributes” and
select “Execute”
Using BAPI in LSM Workbench
Step 11 : Select the radio button “Business Object
Method” and enter the following details:
Business Object: BUS2012
Method:
CreateFromData
Using BAPI in LSM Workbench
Step 12: Save and click on BACK button. Following
information message is displayed
Step 13: Maintain Source Structure
Using BAPI in LSM Workbench
Step 14:Create source structure ‘HEADERDATA’
and a lower level structure ‘ITEMDATA’
Save and go back to main screen
Using BAPI in LSM Workbench
• Step 15 : Maintain source fields
Enter the fields as shown below:
Using BAPI in LSM Workbench
Step 16:Maintain Structure Relations
Using BAPI in LSM Workbench
Maintain structure relations:
- Select ‘E1PORDCR’ in previous fig. and click on CREATE
Relationship. Following screen appears:
- Select HEADERDATA and hit ENTER. Do the same for other
structures
Using BAPI in LSM Workbench
• Step 17 :Maintain Field mapping and conversion
rules. Maintain field mapping as shown:-
Using BAPI in LSM Workbench
Step 18
: Specify File
Provide the link for the test file. Maintain the same
structure of the test file as defined before
Using BAPI in LSM Workbench
Step 19: Select ‘Assign Files’ & execute
Step 20: Read Data
Step 21: Display read data
Using BAPI in LSM Workbench
Step 22: Return to main screen and select ‘Convert
Data’ followed by ‘Display Convert Data’
Using BAPI in LSM Workbench
Step 23: Return to main screen and select “Start
IDoc generation”
Using BAPI in LSM Workbench
Step 24 : Process Idoc through the step ‘Start Idoc
Processing’ on main screen
Using BAPI in LSM Workbench
Step 25: Click on ‘Create Idoc Overview’ on the
main screen. Here the data record and status
record of the Idoc can be viewed
LSM Workbench
PrepareMe
1
TellMe
2
5
3
ShowMe
4
LetMe
HelpMe
HelpMe
Object Overview
Complete overview of Data Migration object can be obtained from the Menu:
Extras  Object Overview
• Overview in List format
• Overview in Table format
HelpMe
Object Overview cont…
• Overview in List format
HelpMe
Object Overview cont…
• Overview in Table format
HelpMe
Settings for IDoc inbound processing
This can be obtained from the initial LSMW screen Menu: Settings  Idoc
Inbound Processing
Specify the following:
• File/tRFC port
• Partner Type
• Partner Number
These can be maintained by clicking on the respective buttons on the right.
Click on the Activate IDoc Inbound Processing button after entering all the
details above.
HelpMe
To transport data migration objects
This can be done in 2 ways:
• By generating a change request or
• By import/export of a project from one system to another
From the initial LSMW screen Menu: Extras 
See screen print below
Help Me
Problems
Solutions
Recording
Fields cannot be seen in the field
mapping after a recording has been
created.
Check to see whether the field
names have been maintained
correctly in the recording process.
From the list of steps, choose
Maintain source fields.
Check the names of the source
fields. If they are missing, doubleclick on the corresponding field to
branch to the Change source field
dialog box.
Fill in the corresponding fields.
Confirm by choosing Continue.
Repeat the recording process.
Help Me
Problems
Solutions
The source file contains data in
one data record out of which to
records are to be created after
conversion.
In step Maintain field mapping and
conversion rules, choose the transfer
record function.
Error message during/after import
See the object attributes to determine
which import program was used, and
search for documentation and notes
on this import method directly.
Download