-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records By Matthias Liebich,
MLI Solutions, LLC Editor's Note: SAP pricing expert Matthias
Liebich has found some nifty ways to convert pricing data. And he
wants SAPtips readers to know that you don't have to be a super
techie to take advantage of some of these techniques. And that's
important, because as Matthias points out, if you can avoid paying
for custom conversion and use a tool that SAP provides instead, you
should be able to save some serious time and money. In this
comprehensive how-to guide, which was written for both functional
and technical SAP users, Matthias explains how to use the LSMW tool
to automate the conversion of pricing data from legacy systems to
R/3. This thirty-six-page paper is comprehensive enough to serve as
the main guide for such a conversion. With this paper to refer to,
SAPtips readers should have a clear understanding of each step in
the process, from the initial conversion preparation phase to the
final step of running the batch data conversion. Matthias closes
the white paper with some tips for adding new condition tables
after the initial setup, and a few recommendations for optimal
conversion results. Introduction SAP states that between twenty and
forty percent of implementation costs are consumed by data
migration tasks, which can mainly be attributed to the writing and
testing of custom conversion programs. Available since R/3 Release
3.0F, SAP provides a free tool (dont we all love that?) called the
Legacy System Migration Workbench, or, for short, LSMW. This
standard tool converts legacy data to SAP and can reduce your
conversion cost and time by more than 30%. Generally speaking, the
LSMW does 3 things: Imports legacy data from spreadsheets or
sequential files. Converts data from source format to target format
based on LSMW defined rules. Imports data to R/3. At first sight,
LSMW looks technical in nature. However, please do not stop reading
this white paper if you are a functional user. Stay with me,
because LSMW is designed to be used interactively. To prove my
point, this white paper will show you through step-by-step
instructions how easy it is to set up a conversion object in LSMW.
I also supplemented my explanations with lots of screen prints. For
our example, we will convert pricing condition records from a
legacy system with the batch input method. I promise you that you
can set up this pricing conversion in less than three hours! LSMW
and R/3: Release Compatibility Originally developed to support the
migration from the mainframe SAP R/2 system to SAP R/3, LSMW
functionality increased throughout multiple release changes. The
applicable LSMW release for your SAP R/3 release is: LSMW 1.0 for
SAP R/3 3.0F-3.1X LSMW 1.7 for SAP R/3 4.0-4.5 LSMW 1.8 for SAP R/3
4.6 LSMW 3.0 for SAP Systems with Web Application Server 6.10 Our
example is executed with LSMW 1.7 on a SAP R/3 4.6C system (note
that while you can run LSMW 1.8 only on 4.6C, you can also run
older versions such as 1.7 on 4.6C, which is what this client
did).
Copyright 2004 by Klee Associates, Inc. Page 1
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records LSMW can be used for
different kinds of modules (FI, SD, MM, CO, etc.) and offers
different input techniques such as batch input, direct input, IDOC,
and BAPI processing. LSMW does not provide a static conversion
program. The conversion program is generated based on the mappings
and rules defined in the LSMW setup. Although LSMW takes care of
loading information to SAP, you will still need to develop extract
programs in your legacy system to provide the data to be loaded.
LSMW projects can be transported, but can also be maintained
directly in each system (test, production) individually. When
transporting the project, all sub-projects and objects linked to it
are transported as well. I always recommend transporting the
project to ensure consistency across the promote-to-production
path. Detailed documentation about LSMW, as well as conversion
examples, can be found at the SAP service site
http://service.sap.com/lsmw (OSS user ID required). OSS support is
available under BC-SRV-DX-LSM. NOTE: LSMW is not delivered with the
standard SAP R/3 system, but can be downloaded for free from the
service Web site mentioned above. Authorizations With the
installation of LSMW, standard authorization objects are delivered
that can divide responsibilities between setting up the conversion
objects and actually executing the conversion. Detailed
authorization information can be found in the quick reference guide
on the Web page mentioned above under LSMW-Media Center-LSMW
Version 1.7 (or the version that is applicable to your SAP R/3
release)-Literature LSMW 1.7. Conversion Preparation Before you
start configuring LSMW, make sure that the following tasks have
been completed: Determine if LSMW should be used. Identify which
conversion technique will work best. For
example, small amounts of data might not warrant the effort to
set up the LSMW object. Converting with the batch input technique
might not be suitable for converting large amounts of data either,
so in these cases, you might opt to use IDOCs or BAPIs. SAPs rule
of thumb for processing data with batch input is about 10.000
records per hour, which can greatly vary depending on your
hardware. At the end of this white paper, I will make some
suggestions on how to speed up processing time by setting up your
conversion files. I was able to convert 700,000 condition records
in less than 24 hours, which is three times SAPs guideline.
Complete pricing configuration. All condition types with their
respective access sequences
and condition tables have to be in place. Map all legacy fields
to SAP R/3 fields. Write down all fields of all condition tables
that should
be converted. This will help to define the file structure that
you are going to load to SAP. An example of such a structure, and
the one we will use in our example, is shown in Figure 1. In this
case, we are going to convert condition types PR00, K005, and K007
with their respective condition tables A005 and A007. This
structure needs to be filled by the extraction program from the
legacy system.
NOTE: A detailed checklist for preparation tasks can be found on
the LSMW service Web site under LSMW-Media Center-your applicable
version-Literature LSMW.
Copyright 2004 by Klee Associates, Inc. Page 2
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records Cond type
Table Nbr
Sales Org
Dist Chnl Division
SAP Customer
Material Number Rate
Price UOM
Rate Unit
Valid on Date
Valid to Date
PR00 005 1000 01 101619 mat-001 100.00 EA USD 20040101 20051231
PR00 005 1000 01 101619 mat-002 75.00 EA USD 20030615 20051231 PR00
005 1000 01 101619 mat-003 34.00 EA USD 20030930 20051231 PR00 005
1000 01 101620 mat-004 100.00 EA USD 20040101 20051231 PR00 005
1000 01 101621 mat-002 75.00 EA USD 20030615 20051231 PR00 005 1000
01 101621 mat-003 34.00 EA USD 20030930 20051231 K005 005 1000 01
101619 mat-001 1.50 EA USD 20040101 20051231 K005 005 1000 01
101619 mat-002 3.00 EA USD 20030615 20051231 K005 005 1000 01
101619 mat-003 4.50 EA USD 20030930 20051231 K005 005 1000 01
101620 mat-004 5.00 EA USD 20040101 20051231 K005 005 1000 01
101621 mat-002 2.00 EA USD 20030615 20051231 K005 005 1000 01
101621 mat-003 0.75 EA USD 20030930 20051231 K007 007 1000 01 02
101622 5.00 20040101 20051231 K007 007 1000 01 02 101621 3.50
20030615 20051231 K007 007 1000 01 02 101619 2.75 20030930 20051231
Figure 1: Pricing Conversion File Layout Conversion Steps The LSMW
conversion project can be divided into two main steps. Step 1 is
the set up of the conversion project that includes defining the
conversion technique (BDC, IDOC or BAPI), the source structure, and
the field mappings. Step 2 is the actual execution of the
conversion.
Copyright 2004 by Klee Associates, Inc. Page 3
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records Step 1: LSMW Setup a.
Set Up Conversion Project Entering transaction LSMW will bring you
to the Legacy System Migration Workbench. Enter a project name, a
sub-project, and an object. The combination of these three values
identifies the unique rules for a specific conversion, in our case,
the conversion of stock prices. There are no naming conventions.
For our example, we assume that our project is Conversion, our
sub-
project is Pricing and our object is Stockprice. Click on the
Create entry button . You will be asked to enter a description for
each of the fields (See Figure 2). NOTE: A customer master object
could be created later with its own rules and conversion technique
under the same project.
Figure 2: Legacy System Migration Workbench
Copyright 2004 by Klee Associates, Inc. Page 4
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records After selecting the
Execute button , the system will show the interactive process guide
with all necessary conversion steps in chronological order (see
Figure 3). The steps shown are the minimum steps required for a
successful LSMW conversion. This screen also shows when a step was
last executed and by whom.
Figure 3: LSMW Steps for Setup and Conversion
Copyright 2004 by Klee Associates, Inc. Page 5
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records Selecting the button
opens a selection screen that allows the option to add additional
steps (see Figure 4). If you would like to revert to the minimum
steps required, select
.
Figure 4: Selection of LSMW Steps
Copyright 2004 by Klee Associates, Inc. Page 6
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records b. Maintain Object
Attributes After selecting all desired steps, it is time to start
setting up the LSMW rules for the pricing conversion. First, the
conversion object attributes have to be defined. To do this, select
step Maintain Project Attributes (see Figure 3). The object name is
proposed from the initial LSMW screen as well as the user
maintaining the object. For our purposes, we want to select the
data transfer once since we are not making periodic changes. Select
the object type and the import technique. For our pricing
conversion example, select 0070 (condition record) as the object.
Choosing the pull-down on the Method field will automatically bring
in the standard SAP pricing conversion program RV14BTCI, which can
be reviewed when selecting the detail glasses next to it. Save the
settings as shown in Figure 5. NOTE: This is the area where you
could choose BAPI or IDOC import techniques for other object types
like sales orders or customers.
Figure 5: Definition of Object Attributes
Copyright 2004 by Klee Associates, Inc. Page 7
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records c. Maintain Source
Structures Now we select the Maintain Source Structures option. The
name of the structure is freely definable. Since all of our data
will be stored in one file, we only set up structure PRICE_RECORD
(see Figure 6). If data would be stored in multiple files, all of
these files and their hierarchical relation to each other would
have to be defined here. Save the structure.
Figure 6: Definition of Source Structures
Copyright 2004 by Klee Associates, Inc. Page 8
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records d. Maintain Source
Fields Next, we need to Maintain Source Fields. There are several
techniques on how to do that. Fields can be entered manually one by
one as shown in Figure 7 by clicking the Create field
button . To enter the data in table format all at once, select
the Table maintenance button (see
Figure 8). Another possible way to create source fields is
through copying (for example, from KNA1 for
customer master data) by selecting the Copy Source Fields button
. Fields then can be copied from a tab delimited text file,
standard SAP Data Dictionary tables, or from another object (see
Figure 9).
After all necessary fields of the structure are defined, they
can be altered, if necessary, after double clicking their field
name. A separate window opens, showing field information like field
length, type, and its description. For example, you might have
copied a field from a standard SAP structure and want to make it a
selection field for subsequent steps (we will see the effect during
Read/Convert Data). To do this, mark the check box for Selection
parameter for Read data/convert data. After all necessary
modifications are done, save the source fields. NOTE: The structure
defined here has to match the structure of our conversion file (see
Figure 1). This means besides the fields of the condition tables,
all other fields like condition type, rates, and validity dates
have to be defined here as well.
Figure 7: Definition Of Source Fields
Copyright 2004 by Klee Associates, Inc. Page 9
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records
Figure 8: Maintain Source Fields in Table Format
Figure 9: Copying Source Fields Copyright 2004 by Klee
Associates, Inc. Page 10
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records e. Maintain Structural
Relationships The next step in the set-up process is Maintain
Structure Relations which defines the relationships between the
source and target data structures. Depending on which conversion
object was selected in the object attributes (in our example,
condition records), SAP proposes all applicable structures and
their hierarchy (see Figure 10). It is indicated which structures
are mandatory to be populated (in our example BGR00 and BKOND1) and
which ones are optional (for example, in our conversion we are not
dealing with scales, therefore we dont need to assign a source
structure to target structure BKOND3). To assign the structure we
previously defined in step Maintain Source Fields, select each
applicable BDC structure and then click the
button. Since we only have one structure, it will be
automatically assigned. If we had had multiple source tables, a
pop-up would have let us select which structure to assign. After
all structures are assigned, save the configuration.
Figure 10: Assigning Source Structures to Target Structures
Copyright 2004 by Klee Associates, Inc. Page 11
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records f. Maintain Field
Mappings And Conversion Rules Maintain Field Mapping And Conversion
Rules is the most difficult part of the setup, but also the most
important one. Depending on the structures that were selected in
the previous step to be used in the conversion, more or fewer
fields are displayed. Although SAP mentions that no ABAP is needed
to accomplish a successful LSMW conversion, we will need to add
some code for the pricing conversion. This is due to the nature of
the condition technique and the variable key of the condition
tables. (The key differs per condition table depending on which
fields are in the table.) ABAP is needed to fill this key
correctly. I will limit the ABAP sections to a minimum (since you
can get really creative if you want). When accessing this LSMW step
for the first time, not all options might be displayed (for
example, you are not able to add any kind of custom ABAP code). To
enable additional options, click on the Display Variant button ,
which lets you select up to six additional options. Select all of
them and click on the check mark (see Figure 11).
Figure 11: Additional Conversion Options
Copyright 2004 by Klee Associates, Inc. Page 12
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records The first area to
maintain is _GLOBAL_DATA_. This is the place to define global data
definitions and declarations like variables, internal tables, etc.
Here we will define internal tables for the key of each condition
table we are trying to convert. In order to add this code, double
click on GLOBAL_DATA_. This opens the ABAP editor (see Figure 12).
For our example, we are using the standard condition tables A005
(Sales organization, Distribution Channel, Customer, Material) and
A007 (Sales organization, Distribution Channel, Division,
Customer). In addition, we define internal tables for temporary
fields and the variable key. After adding all necessary code, save
the editor and click the green arrow back. You can see the added
code now under the _GLOBAL_DATA_ section (see Figure 13). Save the
changes.
Figure 12: ABAP Editor for _GLOBAL_DATA_
Copyright 2004 by Klee Associates, Inc. Page 13
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records
Figure 13: Defining Global Data Structures
Copyright 2004 by Klee Associates, Inc. Page 14
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records The first target
structure to map is BGR00, which includes general batch input
objects (see Figure 14). Depending on your preferences, the default
settings can be changed. For our example, I changed the BGR00-XKEEP
field from a space to X, which will keep the BDC session after it
is successfully processed. The space setting would have deleted the
session. To make the change, double click on the field as described
above to get into the ABAP editor. Another suggestion, which is not
described in detail for this white paper, would be to change the
BDC session name (BGR00-GROUP) to something more meaningful than
the default object name, such as the condition type that is
converted or a date stamp.
Figure 14: Batch Input Structure for BDC Session BGR00
Copyright 2004 by Klee Associates, Inc. Page 15
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records In structure BKOND1,
we are going to fill the variable condition key with the individual
condition tables depending on which table number is defined in our
conversion file record (see Excel conversion file in Figure 1). We
define this in _BEGIN_OF_RECORD_. As before, double click on the
field to add code in the ABAP editor. Fill the target table number
with the number in our conversion file record
(PRICE_RECORD-TABNUM). Then call a perform routine (we are getting
to the code for this later in the form routine section) that will
retrieve the respective condition table key, with which we fill the
BDC structure variable key (G_VAKEY-VAKEY). We are doing this for
every condition table needed in our conversion (A005 and A007). The
complete code can be seen in Figure 15.
Figure 15: Batch Input Structure for BDC Header Data
Copyright 2004 by Klee Associates, Inc. Page 16
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records For fields in this
structure that always have the same field value, we can define
fixed values such as the transaction code we want to use for the
conversion. To add a fixed value, right-click a field (for example,
TCODE) and select Insert Rule. From the proposed options, select
Fixed value (reusable) (see Figure 16).
Figure 16: Setting Fixed Values
Copyright 2004 by Klee Associates, Inc. Page 17
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records On the next screen,
confirm that you want to change the transaction code. The following
screen displays the details about the transaction code field. Under
Value, enter VK15 and click the check mark (see Figure 17). Save
the setting. For our example, repeat these steps for field KVEWE
(field value A) and KAPPL (field value V for those of you who
always wondered, the V stands for the German word for Sales =
Vertrieb).
Figure 17: Maintaining Fixed Value VK15 for Field Transaction
Code
Copyright 2004 by Klee Associates, Inc. Page 18
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records For the remaining
fields in structure BKOND1, we need to assign the source fields of
our source structure to the target fields of the SAP BDC structure.
In order to do this, select a field (for
example KSCHL) and click on the Assign source field button . A
pop-up screen (see Figure 18) will show all fields of the source
structure we defined above (see Figure 7). Select KSCHL to assign
our condition type. Repeat this step for field KOTABNR and assign
our condition table number field. Save the settings.
Figure 18: Assigning Source Fields to Target Fields
Copyright 2004 by Klee Associates, Inc. Page 19
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records In structure BKOND2,
no development is needed. We only need to assign our source fields,
as described above for the following target fields (see Figure
19):
Assign PRICE-RECORD-DATBI to DATBI Assign PRICE-RECORD-DATAB to
DATAB Assign PRICE-RECORD-RATE to KBETR Assign
PRICE-RECORD-RATEUNIT to KONWA Assign PRICE-RECORD-PRICEUOM to
KMEIN
Figure 19: Batch Input Structure for Main Data
Copyright 2004 by Klee Associates, Inc. Page 20
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records In _BEGIN_OF_RECORD_
we added perform commands for structure BKOND1. The respective form
routines are maintained under _FORM_ROUTINES_ (you are correct;
double-clicking that field opens the ABAP editor). To populate
standard SAP table A005, we fill the variable condition table key
as shown in Figure 20 with the sales organization, distribution
channel, customer, and material number of our source structure. We
create one form routine per condition table to be converted. Save
your settings.
Figure 20: Form Routines to Populate Variable Pricing Key
Copyright 2004 by Klee Associates, Inc. Page 21
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records g. Maintain Fixed
Values, Translations, User-Defined Routines The last step in the
LSMW setup is to Maintain Fixed Values, Translations and Individual
Routines. In case we would not have maintained fixed values in step
f) above, we would be able to manually add them here (see Figure
21). After saving the settings, the LSMW setup for our pricing
conversion is complete.
Figure 21: Maintaining Fixed Values
Copyright 2004 by Klee Associates, Inc. Page 22
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records Step 2: LSMW
Conversion a. Specify Files Now it is time to convert the legacy
data from our conversion file. Save the Excel file in Figure 1 as a
tab delimited text file on your PC. Make a note of where you saved
the file. In LSMW step Specify Files, select Legacy data On the PC
(frontend) and click on the Create entry button
. The following screen allows you to browse your PC and network
directories to select the file you just stored as the tab delimited
file. Select all the fields as shown in Figure 22 (make sure
you
select the Tabulator delimiter), click on , and save your
settings. Repeat this process for each file that you would like to
convert.
Figure 22: Specify Conversion Files
Copyright 2004 by Klee Associates, Inc. Page 23
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records b. Assign Files In
this step, we assign the file we just specified as our source file.
When the source data is read in the next step, the system knows
which file to process. To create the assignment, select the source
structure PRICE_RECORD and click on the button. If multiple files
were specified in the previous step, all of them are proposed in a
pop-up screen (see Figure 23). Select the file you wish to process.
Once the file is assigned, save. After one file is successfully
processed (in the next steps), its assignment needs to be deleted
before we can assign a new file. To do this, select the actual file
and click on the Delete
Assignment button (see Figure 24).
Figure 23: Selecting Files for Source Structures
Copyright 2004 by Klee Associates, Inc. Page 24
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records
Figure 24: File Conditions_Convert.txt Assigned to Conversion
File
Copyright 2004 by Klee Associates, Inc. Page 25
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records c. Read Data In the
Read Data step, the assigned source file is read. As I mentioned in
step 1(d) above, all source fields with the selection of the
Selection parameter for Read data/convert data field are shown here
as available selection fields. These can be used to segment the
type of data to be read. Also, the selection field Transaction
Number can be used to limit the number of records to be read. To
eliminate the header line of our source file to be processed,
exclude Cond as a condition type. Execute this step with the
settings as shown in Figure 25. The resulting report will display
the number of records read and written (see Figure 26).
Figure 25: Selection Screen for Read Data
Copyright 2004 by Klee Associates, Inc. Page 26
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records
Figure 26: Results of the Read Data Step
Copyright 2004 by Klee Associates, Inc. Page 27
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records d. Display Read Data
The source file we just read in the previous step can now be
displayed in table form. This is a good control step to see if any
corrupted or unnecessary data was selected. The selection screen
lets you limit the number of records to be displayed, which can be
useful when processing a large number of records (From line and To
line, see Figure 27).
Figure 27: Limiting Number of Records to Be Read in Step Read
Data The resulting display (see Figure 28) shows each individual
record with its respective fields. Clicking on a line will display
all information for this line in a separate screen (see Figure 29).
This might be useful if the record length would exceed the width of
your screen.
Copyright 2004 by Klee Associates, Inc. Page 28
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records
Figure 28: Read Data in Table Form
Figure 29: Read Data Record in Detail View
Copyright 2004 by Klee Associates, Inc. Page 29
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records e. Convert Data In
this step, the conversion program is being generated based on the
rules specified in the LSMW setup. As in the Read Data step, you
see selection fields based on the settings in the source fields
(see Figure 30). There is no need to specify any selections.
Execute the program. The resulting report (see Figure 31) shows how
many records were processed and how many records were written
Figure 30: Selection Screen for Converting Data
Figure 31: Results of Data Conversion
Copyright 2004 by Klee Associates, Inc. Page 30
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records f. Display Converted
Data As in the Display Read Data step, the converted data can be
displayed. The number of records can be limited here as well (with
From line and To line see Figure 32).
Figure 32: Selection Screen for Displaying Converted Data The
resulting display shows the conversion structures BGR00, BKOND1,
and BKOND2 (remember, these are the structures we defined and
mapped fields for in the setup stage) with their respective data
(see Figure 33). It is also possible to see the detail of an
individual record by clicking on it once (see Figure 34).
Copyright 2004 by Klee Associates, Inc. Page 31
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records
Figure 33: Displayed Converted Data
Figure 34: Converted Data Record in Detail View
Copyright 2004 by Klee Associates, Inc. Page 32
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records g. Create Batch-Input
Session Finally, after all the hard work, this step will create the
batch-input session based on the converted data from the object
above. The sessions that are being generated are named the same way
as the LSMW object (STOCKPRICE). The selection screen defaults the
maximum number of records per transaction and other counters as
seen in Figure 35. Leave the settings as is. After executing the
program, a message indicates the opening of a BDC session. After
processing the data, another message indicates when the BDC session
is closed. Confirm both messages. NOTE: If there are more records
in the conversion file than the limit indicated below, a second
session is opened and closed. This continues until all records of
the conversion file are processed. CAUTION: If this step is
executed twice, the number of BDC sessions and their content are
duplicated.
Figure 35: Selection Screen for Creating Batch-Input
Sessions
Copyright 2004 by Klee Associates, Inc. Page 33
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records h. Running the BDC
session Since we did not change the group name of the BDC session
in the LSMW setup, our created BDC session is displayed after
executing this step, named like the LSMW object STOCKPRICE (see
Figure 36). Select the session and click on the button. You can
then decide if you want to run the session in foreground or in
batch. If you are running the session for the first time, I always
recommend doing so in the foreground. Step through at least one
full transaction to verify that all fields are in the right place.
If there are issues, you can easily exit out of the session, fix
the problem, and re-run the conversion steps. The conversion
program groups the data from our file automatically in a way that a
separate transaction is executed for each condition type, condition
table, customer, and potentially different validity period (see
Figure 37 and 38).
Figure 36: BDC Session Overview
Copyright 2004 by Klee Associates, Inc. Page 34
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records
Figure 37: Pricing Create Transaction Part 1
Figure 38: Pricing Create Transaction Part 2 The completion of
the BDC session completes our pricing conversion.
Copyright 2004 by Klee Associates, Inc. Page 35
www.SAPtips.com
-
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records "But I want to convert
a new condition table what now?" Relax. The main work is already
done. Lets assume that you have a condition table A900 that
includes the sales area, customer group, and material group. First,
you have to decide where in your Excel spreadsheet these fields
should be inserted. Assume for now that the customer group is
placed right after the customer field and the material group right
after the material. Going back to our initial LSMW conversion
setup, complete the following additional steps: 1)d): Add the two
new fields to your source fields. It is important that these fields
are inserted in the same order as they appear in the Excel
spreadsheet. 1)f): Changes need to be made in three places:
_GLOBAL_DATA_: Add an internal table G_VAKEY_900 for table A900
_BEGIN_OF_RECORD_: Add perform for table A900 _FORM_ROUTINE_: Fill
variable key with the fields of table A900 Voil. You see, once the
LSMW object is set up, it is really easy to expand it. A Few
Recommendations We used a simple structure for our example with
only a few records for multiple condition types. Obviously, you
will use the LSMW tool for larger amounts of data than this. I
advise using one spreadsheet per condition type. You could still
include multiple condition tables for this particular condition
type in the same spreadsheet. As indicated in step 1)f), the BDC
session name could be coded to include the condition type, making
the identification of the BDC sessions easier. Otherwise every BDC
session would be called STOCKPRICE. In addition, you will be able
to run multiple BDC sessions in parallel, making the conversion
process even faster. Conclusion I sincerely hope that this white
paper showed you the benefits and power of the LSMW tool and
provides a viable option for your conversions. Remember, besides
converting legacy data, LSMW can also be used for loading master
data or documents based on information that is stored in
spreadsheets. One last thing. Did it take you longer than 3 hours
to set up your LSMW object? I hope not, since I like to keep my
promises. Matthias Liebich, MLI Solutions, LLC. Matthias has over
12 years of SAP SD consulting experience, acquired during numerous
full life cycle implementations in the US and Germany. He is SD
certified and has extensive hands-on experience in new
implementations, upgrades, mergers, divestitures and bolt-on
integration. Beyond the core SD functionality, Matthias is an
expert in the areas of Pricing, Contracts and Rebates. In addition
to his cross-module functional knowledge, he is also proficient in
ABAP, enabling him to play a leading role as link between
functional and technical teams. He can be reached at
[email protected].
Copyright 2004 by Klee Associates, Inc. Page 36
www.SAPtips.com
-
Copyright 2004 by Klee Associates, Inc. Page 37
www.SAPtips.com
Utilizing LSMW for Pricing Conversions A Different Approach
to Converting Your Legacy Pricing Records The information in our
publications and on our Website is the copyrighted work of Klee
Associates, Inc. and is owned by Klee Associates, Inc. NO WARRANTY:
This documentation is delivered as is, and Klee Associates, Inc.
makes no warranty as to its accuracy or use. Any use of this
documentation is at the risk of the user. Although we make every
good faith effort to ensure accuracy, this document may include
technical or other inaccuracies or typographical errors. Klee
Associates, Inc. reserves the right to make changes without prior
notice. NO AFFILIATION: Klee Associates, Inc. and this publication
are not affiliated with or endorsed by SAP AG. SAP AG software
referenced on this site is furnished under license agreements
between SAP AG and its customers and can be used only within the
terms of such agreements. SAP AG and mySAP are registered
trademarks of SAP AG. All other company and product names used
herein may be trademarks or registered trademarks of their
respective owners.
IntroductionLSMW and R/3: Release
CompatibilityAuthorizationsConversion PreparationConversion
StepsStep 1: LSMW Setupa. Set Up Conversion Projectb. Maintain
Object Attributesc. Maintain Source Structuresd. Maintain Source
Fieldse. Maintain Structural Relationshipsf. Maintain Field
Mappings And Conversion Rulesg. Maintain Fixed Values,
Translations, User-Defined Routines
Step 2: LSMW Conversiona. Specify Filesb. Assign Filesc. Read
Datad. Display Read Datae. Convert Dataf. Display Converted Datag.
Create Batch-Input Sessionh. Running the BDC session
"But I want to convert a new condition table what now?"A Few
RecommendationsConclusionMatthias Liebich,