Wednesday, November 3, 2010

Migrating Customer data along with relationships (CRM)

1 Introduction

This document provides a simple and user-friendly step-by-step approach for working with LSMW. The document mostly covers the practical usage of LSMW with respect to Batch input Recording Method.

This document may be used to gain an insight of LSMW process in SAP CRM environment and may be used as a guide to help the consultants during the initial loading of master data into SAP database tables.

2 LSMW

The Legacy System Migration Workbench (LSMW) is a tool that supports data migration from legacy systems (non-SAP systems) to SAP systems. It is a cross-platform component of the SAP system. The tool has interfaces with the Data Transfer Center and with batch input and direct input processing as well as standard interfaces BAPI and IDoc.

The tool migrates user-defined datasets (known as objects), which are combined according to business criteria instead of individual tables or field contents. In addition to using standard import techniques, the user-specific objects can be generated.

The LSMW supports a one-time transfer of data (initial data load) and also offers a restricted support of permanent interfaces. Thus, a periodic transfer of data is possible. The LSMW, however, does not include any functions for monitoring of permanent interfaces. The tool does not support any data export interfaces (outbound interfaces).

Fig : LSMW-Process flow diagram

3 Creation of Project Hierarchy

Use the Transaction Code LSMW to go to the initial screen. Create a project, corresponding subproject and object using Edit -> Create entry on menu bar. This is a hierarchy maintained in LSMW for all the data transfer done.

Fig-01: LSMW - create project hierarchy

Create a project, subproject and an object and click on continue. The following screen is displayed with the Project hierarchy details:

Fig-02: LSMW- Initial screen

Once the project Hierarchy is being created, an enumeration of steps for data migration is displayed as shown in Fig-03 below.

This can be changed depending on the requirement of the user. For this “User Menu” tab in the tool bar needs to be clicked and all the necessary steps required for data transfer need to be selected.

Fig-03: LSMW initial screen with user menu for selection of various steps.

4 Step by Step Process for uploading BP master data:

The screenshot as in Fig-04 displays the fourteen steps required for loading Business partner data along with their relationships:

Fig-04: Fourteen steps involved in LSMW

The following pages describe each of those fourteen steps and key points to be remembered in each step.

4.1 Maintain Object Attributes

In this step a Recording needs to be created (using GOTO -> Recordings overview in menu bar as shown in Fig-05) using Transaction code BP.

Fig-05: Create Recording.

Once recordings overview is clicked the following screen as in Fig-06 will be displayed. Enter a name and description to the recording.

Fig-06: Enter details for the Recording.

Enter the transaction for which the recording is to be done as shown in Fig-07

Fig-07: Transaction BP has been entered.

Here the Business partner category needs to be chosen, under which the customers should be created. Click on Organization as shown in Fig-08:

Fig-08: Click on Organization

Select a Grouping and a Business Partner number in that Grouping and the role under which the customers needs to be created. Enter all the necessary details for business partner that needs to be loaded from the flat file:

Fig-09: Shows Business partner number, Grouping and Role and other details entered. “External Grouping for loading the Customers and Accounts” has been used.

Maintain relationships for the Business partner, as shown in fig-10 if relationships also need to be mapped from flat file.

Fig-10: Displays three Relationships of BP number 1100.

Once all the details have been entered save the Business Partner and click on back icon to go to recording that we created.

Click on the fields displayed in orange color to change the name and default value of the fields. And let the other fields remain same whose values need to be defaulted to existing values.

Fig-11: Displays the first screen of Recording ZRECORDC

Fig-12: Displays the second screen of Recording ZRECORDC

Fig-13: Displays the third screen of Recording ZRECORDC asking details for relationships.

Now once recording is done, this is the first step of LSMW menu where the way or method of Import needs to be decided. There are generally four choices:

  1. Standard Batch/ Direct Import Method

- Direct insertion of data through Batch input programs.

  1. Batch input Recording method

- In this method a Recording of the transaction needs to be created which is later run as a Batch input Session.

  1. Business object Method (BAPI)

- Here the BAPI takes care of the data conversions and updating any database table. So the function module is responsible for the import of data into the system.

  1. IDoc (Intermediate documents)

- Here the data is written into an IDoc and passed to the LSMW to get it imported into the system.

However This Document discusses the import of data through Batch input Recording Method.

Fig-14: Choose the “Batch input recording” radio button and give the name of the recording that has been done earlier. Then save the object attributes.

The LSMW system has to have the prior knowledge of what kind of data it is getting from the source that has to be imported into the system. For this reason the following three steps are very important that describe the structure of the files that has to be imported.

4.2 Maintain Source Structure

Go to main menu in LSMW as shown in Fig-04 and click on second step: Maintain Source Structure and the following screen as in Fig-15 will be displayed:

Click on create icon, enter a name and description to the source structure and click on continue. Then save the source structure and click on Back icon on the top of the screen.

Fig-15: Entering details of source structure

4.3 Maintain Source Fields

Go to LSMW Menu screen as shown in Fig-04 and Go to Third step: Maintain Source Fields.

Select the source structure that was created and click on Table maintenance as shown in Fig-16

Fig-16: Maintain Source Fields

Once Table Maintenance has been clicked, enter Field name, Data type and Length of all the fields under the required structure as it will appear in the input file. Even it is important to keep the sequence of the fields according to their position in the file. Give name to the fields and save it. Fields, that have constant value like Grouping, Role etc need not be maintained in this table and those fields need not be included in the flat file.

Fig-17: Enter details of source fields and save

Generally it is important to keep the data type and size of the fields same as that of the corresponding field in database table. However this might not be possible in all the cases, then the issue needs to be handled through the conversion routines.

4.4 Maintain Structure Relations

Go to LSMW Menu screen as shown in Fig-04 and Go to Next step: Maintain Structure Relations. The following screen as shown in Fig-18 will be displayed. Save it and go to next step.

Structure relations are the mapping between the structures we have declared in the previous steps with the recording done. However the one to one mapping of the fields will take place in the next step. Here only the high level correspondence is shown

Fig-18: Structure relationship

4.5 Maintain Filed Mapping and Conversion Rules

In the previous step the recording is mapped to the structure. There it automatically creates a one to one correspondence with the fields of both the sides and show in this stage as tree structure. Here each source field needs to be assigned to its corresponding target field in the recording side. A simple way to do this is to select the field from recording and press the tab “Assign source field” which will give a list of fields in the source structure and then select the filed that needs to be mapped to field in recording.

Fig-19: Field Mapping-Initial Screen

Fig-20: Field Mapping-Next Screen

To maintain constant value to a field select that field in the recording and click on Constant (Ctrl+F9) Icon as shown in Fig-20 and a constant value can be assigned to that field.

The following fields have been assigned constant values as displayed below:

  1. Grouping : 0002(PB Number Account & Customer –External)
  2. Role : 000000(Business partner-General)
  3. Time zone: PST
  4. Relationship category: FBUR001
  5. Overview: A

4.6 Maintain Fixed Values, Translations, User-Defined Routines

Here the conversion rules for processing project data need to be defined. The system generates the conversion program from the structure and field relationships as well as the conversion rules. Customization required for migration of data also needs to be specified here. That is, fixed values and translation values can be assigned and definite variants for the conversion rules can also be specified here.

Fig-21: Maintain Fixed Values, Translations, User-Defined Routines

4.7 Specify Files

Once the previous step of mapping each field to the source structure has been done, the next step is mentioning the file path to be selected for importing.

Fig-22: Specify the path for the file etc.

Here apart from the physical path, other attributes of the file that is to be imported also need to be specified. For example if it is a comma separated or tab delimitated file and if the file contains the field name as Start of File etc.

There are other file-paths that can be mentioned, such as the file for imported data, converted data, etc. if necessary we can choose to change the existing file path that has been defaulted.

4.8 Assign Files

Once the file has been specified as in previous step, this file needs to be assigned.

So in this step select source structure and then click on save.

Fig-23: Assign file

4.9 Read/Import Data

Once assign the file has been assigned, next step is to execute the program as shown in Fig-24 to import the data from the file and put in the structure maintained earlier. For reference the test file that is imported is given below. This is a tab delimitated text file with header row. When it s run, the above program gives the output as in Fig-25. However the successful import data can also be seen from the main menu.

Fig-24: Import / Read data

Fig-25: Result of the execution of import program.

4.10 Display Read/Imported Data

Once the data is imported, it can be displayed using this step. Once this step is selected and continue icon is clicked, system would display the following screen where all the imported data can be seen. Each row can be selected to see all the details of each customer.

Fig-26: Display Imported/Read data

4.11 Convert Data

Once the data is imported to the structure then go to the next step in the main menu that is- Generate conversion program, Convert data and display converted data. The first step generates the program that converts the data imported into the structure to the structure of Recording - ZRECORDC. This take care of all the conversion earlier mentioned. This step converts the data executing above program and store it in the filename given earlier. The result is shown as in Fig-27 & Fig 28. Also the converted data can be seen as in Fig-29.

Fig-27: Convert Data

Fig-28: Converted Data

4.12 Display Converted Data

Once the data is converted, all the Converted data can be seen in this step. Once this step is selected and continue icon is clicked, system would display the following screen where all the Converted data can be seen. Each row can be selected to see more details of each customer.

Fig-29: Display of Converted Data

4.13 Create Batch input session

In this step a Batch input session needs to be created. For creating a Batch Input Session, Go to main menu in LSMW as shown in Fig-04 and click on next step: Create Batch input session and the following screen will be displayed. Click on execute.

Fig-26: Intermediate screen showing the file path for creating Batch input Session.

Once execute is clicked, system will display the following screen with the number of transactions (Business Partners) being created.

Fig-26: Intermediate screen showing the number of transactions created.

4.14 Run Batch input session

This is the final step where system processes the session to get all the data upload into the database through the given transaction (here BP- creating a Business Partner). For this it takes to the session over view screen as in Fig-27 and asks about the way of execution whether it should execute in the foreground or in the back ground. So select the line item and click on process icon on top. A new window pops up as shown. Then the type of processing mode needs to be selected. Processing mode Display errors only has been used which would display any errors encountered during creating business partners.

Fig-27: Session overview and selection of Processing Mode.

Once this step is processed, system will upload all the 450 Business Partners as in flat file into the respective database tables.

In this document since BP transaction has been used, so it will create 450 Business Partners in SAP CRM Database tables. To see the Business Partner data updated in the system use Transaction SE16 and follow the steps as displayed in Fig-28, Fig-29 and Fig-30. Now all the business partners along with their relationship data can be seen that have been uploaded into the CRM System using Transaction BP.

Fig-28: Transaction SE16 and enter table BUT000

Fig-29: Intermediate screen asking for certain criteria to display Business partners. Enter the criteria and click on execute.

Fig-30: Business partners uploaded into SAP CRM Database tables.

No comments:

Tutorials on SAP-ABAP

Adobe Interactive Forms Tutorials

Business Server Pages (BSP)

Userexits/BADIs

Web Dynpro for ABAP (Step by step procedure for web dynpro,Tutorials on Web Dynpro,)

ALV Tutorials

Blog Archive

goodsites