Create LSMW with BDC Recording Example

LSMW which stands for Legacy System Migration Workbench supports conversion of legacy system data in a orderly and convenient way. Tool allows you to import converted legacy data to SAP.

There are several ways you can import legacy data to SAP using LSMW. Below are few common methods used to migrate legacy data to SAP using LSMW.

  • Direct input

  • Batch Data Input (BDC)

  • iDocs

  • BAPIs

In cut-over phase of the project cycle LSMW conversions are mainly used to import legacy system data to R3. But conversions/migrations can be reused according to requirement.
Transaction to access this migration tool is LSMW. It is a tool that facilitates legacy data migration through a “Data Migration Object”.
Data migration objects are logically segregated under Project and Sub Project hierarchy. For example you can have a Project named “R3 Implementation” with sub objects for each legacy system or Project name for each legacy system and sub project name for each type of data which are migrated. The naming and hierarchical representation depend on the complexity and scope of the requirement.
Example shows how to create a LSMW which creates materials using batch input method. Check my blog on BDC to understand more on batch input method. We would be uploading tab delimited text file with material information which represent legacy data. Batch data recording to material creation transaction (MM01) would be called to upload this data.

Upload file format

lsmw-upload-file-format-bdc-recording
Upload File Format

 

Step 1 – Set LSMW Project Name, Sub Project and Object Name.

Go to transaction LSMW and set project name, Sub project name and object name.

create-lsmw-with-bdc-home-screen-example
LSMW Main Screen

 

 

create-lsmw-project-example
Click create LSMW

 

create-lsmw-sub-project
Create LSMW sub project

 

create-lsmw-object-exmaple
Set LSMW object name

 

Step 2 – Execute LSMW Creation Wizard.

LSMW provide a tool set to create the source data format, convert data, upload data, map source (text file) and target (MM01) and finally create BDC session.

To create a complete conversion/upload all these steps should be completed. Select the step and click “execute” to complete the step. You can move to the next step when you complete all previous steps before it.

lsmw-creation-wizard-steps-overview
LSMW creation wizard – steps overview
How to complete each step shown below.

 

Step 3 – Maintain Object Attributes

lsmw-step-execute-maintain-object-attributes
select “Maintain Object Attributes” and execute

 

Step 4 – Set Import Method.

Set import method as “Batch Input Recording (BDC)” and record the batch input for transaction MM01. Click on “Recording Overview” button to start recording.

create-batch-input-recording-lsmw
Select Batch Input Recording

 

Step 5 – Set recording name and transaction code.

batch-data-bdc-recording-create-lsmw
Execute batch data recording

 

set-lsmw-batch-data-recording-name
Set Batch Recording name

 

lsmw-batch-data-recording-bdc-transaction-code
Enter transaction code

 

Step 6 – Set Default Values and Prepare Target Structure

 

Created recording. We will set material description, unit of measure, material group, material style and product hierarchy from text file input data. Industry sector and material type are set with default value.
configure-lsmw-batch-data-recording-default-values
Configure Batch Data default values

You can maintain field names and default values of each field by double clicking on the field. Names will help you identify fields easily.

lsmw-batch-data-bdc-field-name-change
Change field name if required
lsmw-bdc-uom-default-value
UOM default value 

 

overview-lsmw-bdc-recording-screen
Bath Data Recording Overview

 

Step 7 – Create Source Data Structures

Set source structure name. This represent the row type of text file.

lsmw-source-structre-name
Set LSMW source structure name

 

Step 8 – Maintain Source Fields

Complete the source structure by defining source structure (row type) fields. Easiest way is to select your source structure and click on “Table Maintenance”. Now you can set field names, data type, length and description of each field.
lsmw-source-structre-fields-configuration
Create LSMW source structure fields

 

lsmw-source-structre-fields
Source field names

 

lsmw-input-structure-overview
Input structure

 

Save fields.

 

Step 9 – Maintain Structure Relations

Since this project has only one source and one target, system will automatically assign them together. In a more complex projects you may have to manually assign them depending on number of source/target structures.

map-lsmw-source-to-target-structure-example
Map source and target structures

 

Step 10 – Maintain Field Mapping and Conversion Rules

Here we map source fields with target fields. That is input file structure with MM01 target.

Select a field and click on “source field” then select the source field.

map-source-fields-to-target-conversion-rules-lsmw-example
Map individual fields and maintain conversion rules

 

Map all fields similarly.

lsmw-field-mapping-conversion-rules-overview
Source to target field mapping overview

 

Step 11 – Maintain Fixed Values, Translations, User-Defined Routines

We can skip these as we do not have any conversions for legacy data.

 

Step 12 – Specify Files

This step set how the legacy data is extracted. You can extract from front end PC or from application server location.
In this example we will upload from frond end PC.

Specify the file location, name and format. Set options depending on the field separator of import file and if field header exists or not.

lsmw-configure-input-file-properties-example
Specify input file properties

 

Save go to next step.

 

Step 13 – Assign Files

Assign the source structure with the file specified in the above step. Since project only has one file and one source structure, system will automatically assign them.

lsmw-example-assign-files-to-input
Assign files to input structure

 

Save and move to next step.

 

Step 14 – Read Data

Read data from file.

lsmw-read-data-from-input-file-example
Read data from input file

 

lsmw-example-input-file-read
Number of records read
Display Read Data
Display data read from the file.
lsmw-example-display-data-from-input-file
Display data from input file
lsmw-example-input-data-detail-display
Input data row detail

 

Save.

 

Step 15 – Convert data

Convert data on conversion rules defined. This step will map the source data to target fields.
Display Converted Data

 

Display converted data.

Step 16 – Create Batch Input Session in SM35

Set the BDC session name and create batch session.

You can view the created session in batch input overview transaction SM35.

create-lsmw-bdc-session-sm37
Create BDC session in Sm35

 

Step 17 – Execute Batch Input Session

Execute the created session. You can execute in background or foreground. I am executing the BDC session in background mode and logging only the errors which occur.

process-lsmw-bdc-session-sm35
Process BDC session

 

set-bdc-recording-session-properties-sm35
Set BDC session properties

 

Go to MM03 or table MARA to view the materials created by the session. You also view material numbers created from BDC session log in Sm35 transaction.
bdc-recording-session-log
BDC session log

 

lsmw-bdc-session-log-materials-created
Materials created

There are several ways you can transport LSMW objects. Check my guide on transporting LSMW objects for more information.

If you have any questions on steps here on how to create a LSMW using BDC, please leave a comment below.

Leave a Reply

Your email address will not be published. Required fields are marked *