Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

about material master upload using lsmw bapi method

Former Member
0 Likes
881

hi all,

i want to upload material master data using lsmw bapi method.i found the way in saptechnical.com,,but i am not clear of the steps.

can anyone explain me how to create partner profile and port for particular project.

my scenario is to upload the data from flat file for two different plants.means i need to validate at the plant level and

upload the relevant data for the particular plant.

kindly help me to get out of this problem.

thanks,

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
481

Hai.

check this.

Step-by-Step Guide for using BAPI in LSMW

Note! The screen prints in this article are from ECC 5.0. They may differ slightly in other versions.

Introduction:

This document details the usage of BAPI in LSMW. We have used the example of migration of the purchase order data into SAP.

Pre-requisites:

It is assumed that the reader of this article has the minimum knowledge required on the Business Object, BAPI, Message Types and IDoc Types.

Step-by-Step Procedure:

Details of the BAPI used in this scenario:

Business Object: BUS2012

Method: CreateFromData

Details of Message Type and Basic IDoc Type:

Message Type: PORDCR

Basic IDoc Type: PORDCR02

Let’s have a look at the BAPI first, before proceeding to the LSMW:

1. Go to Transaction BAPI

2. Click on Search Button

3. Enter the value “BUS2012” and select “Obj.type(Technical Object Name”

4. Press ENTER

5. Following screen appears:

6. On the left side of the screen, Expand the “PurchaseOrder”.

7. Select “PurchaseOrder” and double-click on the same for details.

Building LSMW using BAPI:

1. Go to Transaction LSMW.

2. Enter the Project, Subproject and Object information and click on CREATE.

3. Enter the descriptions for Project, Subproject and Object.

4. Now select Settings à IDoc Inbound Processing

5. “IDoc Inbound Processing” screen appears. Enter the required details as shown below:

6. Click on “Activate IDoc Inbound Processing”.

7. Click on “Yes” when prompted for “Activate IDoc Inbound?”

8. Hit on “Back” to return to the main screen.

9. Click on Continue (F8). Following Screen appears:

10. Select the Step 1 “Maintain Object Attributes” and select “Execute”.

11. Select the radio button “Business Object Method” and enter the following details:

Business Object: BUS2012

Method: CreateFromData

Hit ENTER

12. Save and click on BACK button. Following information message is displayed.

13. Now select step 2 “Maintain Source Structures” and click “Execute”.

14. In this step, we need to maintain the source structure. In our example, lets consider the example of a file with 2 structures Head and Item data as shown below:

Click on Create and name the source structure as HEADERDATA. Now select HEADERDATA and click on “Create” again to create the child structure. Following popup appears:

Select “Lower Level” and click on Continue. Enter the Item data structure name.

Click Save and hit BACK button to go to the main screen.

15. Select step 3 “Maintain Source Fields” and hit execute.

16. Enter the fields as shown below:

17. Click SAVE and return to main screen.

18. Select step 4 “Maintain Structure Relations” and click Execute.

Select E1PORDCR and click on CREATE RelationShip. Following screen appears:

Select HEADERDATA and hit ENTER

Similarly do the same for the structure E1BPEKKOA, E1BPEKPOC and E1BPPEKET.

Click Save and return to main screen.

19. Select the step “Maintain Field Mapping and Conversion Rules” and click on execute. Maintain the Field Mapping as seen below:

20. Select step 7 “Maintain Source Files” and provide the link for the test file created. (Create a test file with the same structure as defined earlier).

Save and return to main screen.

21. Select the step “Assign Files” and click on Execute.

Assign the file provided to the source structure. Here the same file is provided for both the structures.

Save and return to the main screen.

22. Select the step “Read Data” and click on Execute.

Click on Execute.

Return to the main screen.

23. Select the step “Display read data” and click on execute.

Click on the structure name to get the field level values.

24. Return to main screen and now select “Convert Data”.

25. Return to the main screen and select “Display Converted data”.

26. Return to main screen and select “Start IDoc generation”.

27. Now select the step “Start IDoc Processing” on the main screen.

28. Return to main screen and click on “Create IDoc overview”. Here the data record and status records of the IDoc could be viewed

It is given in screen shot.

http://www.saptechnical.com

regards.

sowjanya.b

2 REPLIES 2
Read only

Former Member
0 Likes
482

Hai.

check this.

Step-by-Step Guide for using BAPI in LSMW

Note! The screen prints in this article are from ECC 5.0. They may differ slightly in other versions.

Introduction:

This document details the usage of BAPI in LSMW. We have used the example of migration of the purchase order data into SAP.

Pre-requisites:

It is assumed that the reader of this article has the minimum knowledge required on the Business Object, BAPI, Message Types and IDoc Types.

Step-by-Step Procedure:

Details of the BAPI used in this scenario:

Business Object: BUS2012

Method: CreateFromData

Details of Message Type and Basic IDoc Type:

Message Type: PORDCR

Basic IDoc Type: PORDCR02

Let’s have a look at the BAPI first, before proceeding to the LSMW:

1. Go to Transaction BAPI

2. Click on Search Button

3. Enter the value “BUS2012” and select “Obj.type(Technical Object Name”

4. Press ENTER

5. Following screen appears:

6. On the left side of the screen, Expand the “PurchaseOrder”.

7. Select “PurchaseOrder” and double-click on the same for details.

Building LSMW using BAPI:

1. Go to Transaction LSMW.

2. Enter the Project, Subproject and Object information and click on CREATE.

3. Enter the descriptions for Project, Subproject and Object.

4. Now select Settings à IDoc Inbound Processing

5. “IDoc Inbound Processing” screen appears. Enter the required details as shown below:

6. Click on “Activate IDoc Inbound Processing”.

7. Click on “Yes” when prompted for “Activate IDoc Inbound?”

8. Hit on “Back” to return to the main screen.

9. Click on Continue (F8). Following Screen appears:

10. Select the Step 1 “Maintain Object Attributes” and select “Execute”.

11. Select the radio button “Business Object Method” and enter the following details:

Business Object: BUS2012

Method: CreateFromData

Hit ENTER

12. Save and click on BACK button. Following information message is displayed.

13. Now select step 2 “Maintain Source Structures” and click “Execute”.

14. In this step, we need to maintain the source structure. In our example, lets consider the example of a file with 2 structures Head and Item data as shown below:

Click on Create and name the source structure as HEADERDATA. Now select HEADERDATA and click on “Create” again to create the child structure. Following popup appears:

Select “Lower Level” and click on Continue. Enter the Item data structure name.

Click Save and hit BACK button to go to the main screen.

15. Select step 3 “Maintain Source Fields” and hit execute.

16. Enter the fields as shown below:

17. Click SAVE and return to main screen.

18. Select step 4 “Maintain Structure Relations” and click Execute.

Select E1PORDCR and click on CREATE RelationShip. Following screen appears:

Select HEADERDATA and hit ENTER

Similarly do the same for the structure E1BPEKKOA, E1BPEKPOC and E1BPPEKET.

Click Save and return to main screen.

19. Select the step “Maintain Field Mapping and Conversion Rules” and click on execute. Maintain the Field Mapping as seen below:

20. Select step 7 “Maintain Source Files” and provide the link for the test file created. (Create a test file with the same structure as defined earlier).

Save and return to main screen.

21. Select the step “Assign Files” and click on Execute.

Assign the file provided to the source structure. Here the same file is provided for both the structures.

Save and return to the main screen.

22. Select the step “Read Data” and click on Execute.

Click on Execute.

Return to the main screen.

23. Select the step “Display read data” and click on execute.

Click on the structure name to get the field level values.

24. Return to main screen and now select “Convert Data”.

25. Return to the main screen and select “Display Converted data”.

26. Return to main screen and select “Start IDoc generation”.

27. Now select the step “Start IDoc Processing” on the main screen.

28. Return to main screen and click on “Create IDoc overview”. Here the data record and status records of the IDoc could be viewed

It is given in screen shot.

http://www.saptechnical.com

regards.

sowjanya.b

Read only

Former Member
0 Likes
481

Hai.

check the example codes.

REPORT zmm_mat_master_non_stock

NO STANDARD PAGE HEADING

LINE-SIZE 255.

  • Standard Include for Selection Screen

INCLUDE bdcrecx1.

  • Internal Table for Upload Data

DATA: BEGIN OF i_mat OCCURS 0,

  • mbrsh(001), " Industry Sector

  • mtart(004), " Material Type

  • Views

  • Organization Levels

  • werks(004), " Plant

  • Basic Data1 View

maktx(040), " Material Description

  • meins(003), " Unit of Measure

matkl(009), " Material Group

  • MTPOS_MARA(004), " Gen Item Category

  • Purchasing

ekgrp(003), " Purchasing Group

END OF i_mat.

  • Data Variables & Constants

CONSTANTS : c_x VALUE 'X'. " Flag

  • Parameters

PARAMETERS: p_file LIKE ibipparms-path. " Filename

  • At selection-screen on Value Request for file Name

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.

  • Get the F4 Values for the File

CALL FUNCTION 'F4_FILENAME'

EXPORTING

program_name = syst-cprog

dynpro_number = syst-dynnr

IMPORTING

file_name = p_file.

  • Start of Selection

START-OF-SELECTION.

  • Open the BDC Session

PERFORM open_group.

  • Upload the File into internal Table

CALL FUNCTION 'UPLOAD'

EXPORTING

filename = p_file

filetype = 'DAT'

TABLES

data_tab = i_mat

EXCEPTIONS

conversion_error = 1

invalid_table_width = 2

invalid_type = 3

no_batch = 4

unknown_error = 5

gui_refuse_filetransfer = 6

OTHERS = 7.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

  • Upload the Data from Internal Table

LOOP AT i_mat.

  • Basic Screen

PERFORM bdc_dynpro USING 'SAPLMGMM' '0060'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RMMG1-MATNR'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'RMMG1-MBRSH'

'C'."i_mat-mbrsh.

PERFORM bdc_field USING 'RMMG1-MTART'

'NLAG'."i_mat-mtart.

  • Views Selection

PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.

PERFORM bdc_field USING 'BDC_CURSOR'

'MSICHTAUSW-DYTXT(08)'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=ENTR'.

PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(01)'

c_x."i_mat-kzsel_01.

PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(02)'

c_x."i_mat-kzsel_02.

PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(08)'

c_x."i_mat-kzsel_08.

  • Organization Levels

PERFORM bdc_dynpro USING 'SAPLMGMM' '0080'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RMMG1-WERKS'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=ENTR'.

PERFORM bdc_field USING 'RMMG1-WERKS'

'2000'."i_mat-werks.

  • Basic data1 View

PERFORM bdc_dynpro USING 'SAPLMGMM' '4004'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'MAKT-MAKTX'

i_mat-maktx.

PERFORM bdc_field USING 'BDC_CURSOR'

'MARA-MTPOS_MARA'.

PERFORM bdc_field USING 'MARA-MEINS'

'EA'."i_mat-meins.

PERFORM bdc_field USING 'MARA-MATKL'

i_mat-matkl.

PERFORM bdc_field USING 'MARA-MTPOS_MARA'

'NLAG'."i_mat-mtpos_mara.

  • Basic data2 View

PERFORM bdc_dynpro USING 'SAPLMGMM' '4004'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'BDC_CURSOR'

'MAKT-MAKTX'.

  • Purchasing View

PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=BU'.

PERFORM bdc_field USING 'MARC-EKGRP'

i_mat-ekgrp.

  • Call The Transaction

PERFORM bdc_transaction USING 'MM01'.

ENDLOOP.

  • Close the BDC Session

PERFORM close_group.

-


REPORT zmm_mat_master_non_stock

NO STANDARD PAGE HEADING

LINE-SIZE 255.

  • Standard Include for Selection Screen

INCLUDE bdcrecx1.

  • Internal Table for Upload Data

DATA: BEGIN OF i_mat OCCURS 0,

  • mbrsh(001), " Industry Sector

  • mtart(004), " Material Type

  • Views

  • Organization Levels

  • werks(004), " Plant

  • Basic Data1 View

maktx(040), " Material Description

  • meins(003), " Unit of Measure

matkl(009), " Material Group

  • MTPOS_MARA(004), " Gen Item Category

  • Purchasing

ekgrp(003), " Purchasing Group

END OF i_mat.

  • Data Variables & Constants

CONSTANTS : c_x VALUE 'X'. " Flag

  • Parameters

PARAMETERS: p_file LIKE ibipparms-path. " Filename

  • At selection-screen on Value Request for file Name

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.

  • Get the F4 Values for the File

CALL FUNCTION 'F4_FILENAME'

EXPORTING

program_name = syst-cprog

dynpro_number = syst-dynnr

IMPORTING

file_name = p_file.

  • Start of Selection

START-OF-SELECTION.

  • Open the BDC Session

PERFORM open_group.

  • Upload the File into internal Table

CALL FUNCTION 'UPLOAD'

EXPORTING

filename = p_file

filetype = 'DAT'

TABLES

data_tab = i_mat

EXCEPTIONS

conversion_error = 1

invalid_table_width = 2

invalid_type = 3

no_batch = 4

unknown_error = 5

gui_refuse_filetransfer = 6

OTHERS = 7.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

  • Upload the Data from Internal Table

LOOP AT i_mat.

  • Basic Screen

PERFORM bdc_dynpro USING 'SAPLMGMM' '0060'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RMMG1-MATNR'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'RMMG1-MBRSH'

'C'."i_mat-mbrsh.

PERFORM bdc_field USING 'RMMG1-MTART'

'NLAG'."i_mat-mtart.

  • Views Selection

PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.

PERFORM bdc_field USING 'BDC_CURSOR'

'MSICHTAUSW-DYTXT(08)'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=ENTR'.

PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(01)'

c_x."i_mat-kzsel_01.

PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(02)'

c_x."i_mat-kzsel_02.

PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(08)'

c_x."i_mat-kzsel_08.

  • Organization Levels

PERFORM bdc_dynpro USING 'SAPLMGMM' '0080'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RMMG1-WERKS'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=ENTR'.

PERFORM bdc_field USING 'RMMG1-WERKS'

'2000'."i_mat-werks.

  • Basic data1 View

PERFORM bdc_dynpro USING 'SAPLMGMM' '4004'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'MAKT-MAKTX'

i_mat-maktx.

PERFORM bdc_field USING 'BDC_CURSOR'

'MARA-MTPOS_MARA'.

PERFORM bdc_field USING 'MARA-MEINS'

'EA'."i_mat-meins.

PERFORM bdc_field USING 'MARA-MATKL'

i_mat-matkl.

PERFORM bdc_field USING 'MARA-MTPOS_MARA'

'NLAG'."i_mat-mtpos_mara.

  • Basic data2 View

PERFORM bdc_dynpro USING 'SAPLMGMM' '4004'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'BDC_CURSOR'

'MAKT-MAKTX'.

  • Purchasing View

PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=BU'.

PERFORM bdc_field USING 'MARC-EKGRP'

i_mat-ekgrp.

  • Call The Transaction

PERFORM bdc_transaction USING 'MM01'.

ENDLOOP.

  • Close the BDC Session

PERFORM close_group.

regards.

sowjanya.b