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

mm01

Former Member
0 Likes
1,042

How to upload mm01?

How to upload mm01?

6 REPLIES 6
Read only

Former Member
0 Likes
978

Hi

Use LSMW to upload data into MM01.

Regards

Raj

Read only

Former Member
0 Likes
978

Hi

You can use BDC, or LSMW or Direct Input method or BAPI

see the Sample BDC

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.

Reward points if useful

Regards

Anji

Read only

Former Member
0 Likes
978

USE bapi ''BAPI_MATERIAL_SAVEDATA' like below:

REPORT  z34332_bdc_create_material              .

data: la_headdata type BAPIMATHEAD,
      la_clientdata type BAPI_MARA,
      la_CLIENTDATAX type BAPI_MARAX,
      la_return type BAPIRET2.

data: i_materialdescription type table of BAPI_MAKT,
      wa_materialdescription like line of i_materialdescription.

la_headdata-MATERIAL = '000000000000000004'.
la_headdata-IND_SECTOR = 'M'.
la_headdata-MATL_TYPE = 'FERT'.

la_clientdata-BASE_UOM = 'FT3'.
la_CLIENTDATAX-BASE_UOM = 'X'.
la_clientdata-MATL_GROUP = '01'.
la_CLIENTDATAX-MATL_GROUP = 'X'.

wa_materialdescription = 'TEST'.
append wa_materialdescription to i_materialdescription.
clear: wa_materialdescription.

CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
  EXPORTING
    headdata                   = la_headdata
   CLIENTDATA                 = la_clientdata
   CLIENTDATAX                = la_CLIENTDATAX
*   PLANTDATA                  =
*   PLANTDATAX                 =
*   FORECASTPARAMETERS         =
*   FORECASTPARAMETERSX        =
*   PLANNINGDATA               =
*   PLANNINGDATAX              =
*   STORAGELOCATIONDATA        =
*   STORAGELOCATIONDATAX       =
*   VALUATIONDATA              =
*   VALUATIONDATAX             =
*   WAREHOUSENUMBERDATA        =
*   WAREHOUSENUMBERDATAX       =
*   SALESDATA                  =
*   SALESDATAX                 =
*   STORAGETYPEDATA            =
*   STORAGETYPEDATAX           =
*   FLAG_ONLINE                = ' '
*   FLAG_CAD_CALL              = ' '
 IMPORTING
   RETURN                     = la_return
 TABLES
   MATERIALDESCRIPTION        = i_materialdescription
*   UNITSOFMEASURE             =
*   UNITSOFMEASUREX            =
*   INTERNATIONALARTNOS        =
*   MATERIALLONGTEXT           =
*   TAXCLASSIFICATIONS         =
*   RETURNMESSAGES             =
*   PRTDATA                    =
*   PRTDATAX                   =
*   EXTENSIONIN                =
*   EXTENSIONINX               =
          .

write: la_return-TYPE, ',', la_return-MESSAGE.
clear: la_headdata, la_return, la_clientdata, la_clientdatax.

Read only

oliver
Active Contributor
0 Likes
978

You are close to the shortest and most meaningless question in SDN history.

ok

Read only

Former Member
0 Likes
978

Hi,

you can upload by LSMW direct input method RMDATIND.

Regards

Read only

Former Member
0 Likes
978

Hi rajamahender reddy,

do recording and i'll give u the sample coding and try with having reference as that code and if u have any doubt i'll try to solve that.

******************program*********************************************

report ZBDC_MM01

no standard page heading line-size 255.

include bdcrecx1.

parameters: dataset(132) DEFAULT 'C:\BDC.TXT' .

      • DO NOT CHANGE - the generated data section - DO NOT CHANGE ***

*

  • If it is nessesary to change the data section use the rules:

  • 1.) Each definition of a field exists of two lines

  • 2.) The first line shows exactly the comment

  • '* data element: ' followed with the data element

  • which describes the field.

  • If you don't have a data element use the

  • comment without a data element name

  • 3.) The second line shows the fieldname of the

  • structure, the fieldname must consist of

  • a fieldname and optional the character '_' and

  • three numbers and the field length in brackets

  • 4.) Each field must be type C.

*

      • Generated data section with specific formatting - DO NOT CHANGE ***

data: begin of record,

  • data element: MATNR

MATNR_001(018),

  • data element: MBRSH

MBRSH_002(001),

  • data element: MTART

MTART_003(004),

  • data element: XFELD

  • KZSEL_01_004(001),

    • data element: XFELD

  • KZSEL_04_005(001),

    • data element: XFELD

  • KZSEL_05_006(001),

    • data element: XFELD

  • KZSEL_06_007(001),

    • data element: XFELD

  • KZSEL_12_008(001),

    • data element: XFELD

  • KZSEL_13_009(001),

    • data element: XFELD

  • KZSEL_14_010(001),

    • data element: XFELD

  • KZSEL_15_011(001),

    • data element: XFELD

  • KZSEL_17_012(001),

  • data element: WERKS_D

WERKS_013(004),

  • data element: LGORT_D

LGORT_014(004),

  • data element: VKORG

VKORG_015(004),

  • data element: VTWEG

VTWEG_016(002),

  • data element: MAKTX

MAKTX_017(040),

  • data element: MEINS

MEINS_018(003),

  • data element: MTPOS_MARA

MTPOS_MARA_019(004),

  • data element: GEWEI

GEWEI_020(003),

    • data element: MAKTX

  • MAKTX_021(040),

    • data element: MEINS

  • MEINS_022(003),

    • data element: DWERK_EXT

  • DWERK_023(004),

    • data element: MATKL

  • MATKL_024(009),

    • data element: SKTOF

  • SKTOF_025(001),

  • data element: TAXKM

TAXKM_01_026(001),

  • data element: TAXKM

TAXKM_02_027(001),

    • data element: MAKTX

  • MAKTX_028(040),

  • data element: TAXKM

TAXKM_03_029(001),

  • data element: TAXKM

TAXKM_04_030(001),

  • data element: MAKTX

MAKTX_031(040),

    • data element: MEINS

  • MEINS_032(003),

  • data element: DWERK_EXT

DWERK_033(004),

  • data element: SKTOF

SKTOF_034(001),

    • data element: MAKTX

  • MAKTX_035(040),

    • data element: MTPOS_MARA

  • MTPOS_MARA_036(004),

  • data element: MTPOS

MTPOS_037(004),

    • data element: MAKTX

  • MAKTX_038(040),

    • data element: MEINS

  • MEINS_039(003),

    • data element: GEWEI

  • GEWEI_040(003),

  • data element: MTVFP

MTVFP_041(002),

  • data element: TRAGR

TRAGR_042(004),

  • data element: LADGR

LADGR_043(004),

    • data element: MAKTX

  • MAKTX_044(040),

    • data element: MEINS

  • MEINS_045(003),

  • data element: DISMM

DISMM_046(002),

  • data element: DISPO

DISPO_047(003),

  • data element: DISLS

DISLS_048(002),

    • data element: MAKTX

  • MAKTX_049(040),

  • data element: BESKZ

BESKZ_050(001),

  • data element: DZEIT

DZEIT_051(003),

  • data element: FHORI

FHORI_052(003),

    • data element: MAKTX

  • MAKTX_053(040),

  • data element: PERKZ

PERKZ_054(001),

    • data element: MTVFP

  • MTVFP_055(002),

    • data element: MAKTX

  • MAKTX_056(040),

  • data element: SBDKZ

SBDKZ_057(001),

  • data element: MAKTX

MAKTX_058(040),

  • data element: MEINS

MEINS_059(003),

  • data element: BKLAS

BKLAS_060(004),

  • data element: VPRSV

VPRSV_061(001),

  • data element: PEINH

PEINH_062(006),

  • data element: VERPR

VERPR_063(015),

  • data element: STPRS

STPRS_064(015),

end of record.

DATA IT_RECORD LIKE TABLE OF RECORD.

      • End generated data section ***

start-of-selection.

PERFORM OPEN_FILE.

LOOP AT IT_RECORD INTO RECORD.

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-MATNR'

record-MATNR_001.

perform bdc_field using 'RMMG1-MBRSH'

record-MBRSH_002.

perform bdc_field using 'RMMG1-MTART'

record-MTART_003.

perform bdc_dynpro using 'SAPLMGMM' '0070'.

perform bdc_field using 'BDC_CURSOR'

'MSICHTAUSW-DYTXT(15)'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'MSICHTAUSW-KZSEL(01)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(04)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(05)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(06)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(12)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(13)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(14)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(15)'

'X'.

perform bdc_dynpro using 'SAPLMGMM' '0070'.

perform bdc_field using 'BDC_CURSOR'

'MSICHTAUSW-DYTXT(01)'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_dynpro using 'SAPLMGMM' '0070'.

perform bdc_field using 'BDC_CURSOR'

'MSICHTAUSW-DYTXT(17)'.

perform bdc_field using 'BDC_OKCODE'

'=ENTR'.

perform bdc_field using 'MSICHTAUSW-KZSEL(17)'

'X'.

perform bdc_dynpro using 'SAPLMGMM' '0080'.

perform bdc_field using 'BDC_CURSOR'

'RMMG1-VTWEG'.

perform bdc_field using 'BDC_OKCODE'

'=ENTR'.

perform bdc_field using 'RMMG1-WERKS'

record-WERKS_013.

perform bdc_field using 'RMMG1-LGORT'

record-LGORT_014.

perform bdc_field using 'RMMG1-VKORG'

record-VKORG_015.

perform bdc_field using 'RMMG1-VTWEG'

record-VTWEG_016.

perform bdc_dynpro using 'SAPLMGMM' '4004'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'MAKT-MAKTX'

record-MAKTX_017.

perform bdc_field using 'BDC_CURSOR'

'MARA-MTPOS_MARA'.

perform bdc_field using 'MARA-MEINS'

record-MEINS_018.

perform bdc_field using 'MARA-MTPOS_MARA'

record-MTPOS_MARA_019.

perform bdc_field using 'MARA-GEWEI'

record-GEWEI_020.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

*perform bdc_field using 'MAKT-MAKTX'

  • record-MAKTX_021.

*perform bdc_field using 'MARA-MEINS'

  • record-MEINS_022.

*perform bdc_field using 'MVKE-DWERK'

  • record-DWERK_023.

*perform bdc_field using 'MARA-MATKL'

  • record-MATKL_024.

*perform bdc_field using 'MVKE-SKTOF'

  • record-SKTOF_025.

perform bdc_field using 'BDC_CURSOR'

'MG03STEUER-TAXKM(02)'.

perform bdc_field using 'MG03STEUER-TAXKM(01)'

record-TAXKM_01_026.

perform bdc_field using 'MG03STEUER-TAXKM(02)'

record-TAXKM_02_027.

perform bdc_dynpro using 'SAPLMGMM' '4200'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

*perform bdc_field using 'MAKT-MAKTX'

  • record-MAKTX_028.

perform bdc_field using 'BDC_CURSOR'

'MG03STEUER-TAXKM(04)'.

perform bdc_field using 'MG03STEUER-TAXKM(03)'

record-TAXKM_03_029.

perform bdc_field using 'MG03STEUER-TAXKM(04)'

record-TAXKM_04_030.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

record-MAKTX_031.

*perform bdc_field using 'MARA-MEINS'

  • record-MEINS_032.

perform bdc_field using 'MVKE-DWERK'

record-DWERK_033.

perform bdc_field using 'MVKE-SKTOF'

record-SKTOF_034.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

*perform bdc_field using 'MAKT-MAKTX'

  • record-MAKTX_035.

perform bdc_field using 'BDC_CURSOR'

'MVKE-MTPOS'.

*perform bdc_field using 'MARA-MTPOS_MARA'

  • record-MTPOS_MARA_036.

perform bdc_field using 'MVKE-MTPOS'

record-MTPOS_037.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

*perform bdc_field using 'MAKT-MAKTX'

  • record-MAKTX_038.

*perform bdc_field using 'MARA-MEINS'

  • record-MEINS_039.

*perform bdc_field using 'MARA-GEWEI'

  • record-GEWEI_040.

perform bdc_field using 'MARC-MTVFP'

record-MTVFP_041.

perform bdc_field using 'BDC_CURSOR'

'MARA-TRAGR'.

perform bdc_field using 'MARA-TRAGR'

record-TRAGR_042.

perform bdc_field using 'MARC-LADGR'

record-LADGR_043.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

*perform bdc_field using 'MAKT-MAKTX'

  • record-MAKTX_044.

*perform bdc_field using 'MARA-MEINS'

  • record-MEINS_045.

perform bdc_field using 'MARC-DISMM'

record-DISMM_046.

perform bdc_field using 'MARC-DISPO'

record-DISPO_047.

perform bdc_field using 'BDC_CURSOR'

'MARC-DISLS'.

perform bdc_field using 'MARC-DISLS'

record-DISLS_048.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

*perform bdc_field using 'MAKT-MAKTX'

  • record-MAKTX_049.

perform bdc_field using 'MARC-BESKZ'

record-BESKZ_050.

perform bdc_field using 'BDC_CURSOR'

'MARC-FHORI'.

perform bdc_field using 'MARC-DZEIT'

record-DZEIT_051.

perform bdc_field using 'MARC-FHORI'

record-FHORI_052.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'MARC-PERKZ'.

*perform bdc_field using 'MAKT-MAKTX'

  • record-MAKTX_053.

perform bdc_field using 'MARC-PERKZ'

record-PERKZ_054.

*perform bdc_field using 'MARC-MTVFP'

  • record-MTVFP_055.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'MARC-SBDKZ'.

*perform bdc_field using 'MAKT-MAKTX'

  • record-MAKTX_056.

perform bdc_field using 'MARC-SBDKZ'

record-SBDKZ_057.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'=BU'.

perform bdc_field using 'MAKT-MAKTX'

record-MAKTX_058.

perform bdc_field using 'MARA-MEINS'

record-MEINS_059.

perform bdc_field using 'BDC_CURSOR'

'MBEW-STPRS'.

perform bdc_field using 'MBEW-BKLAS'

record-BKLAS_060.

perform bdc_field using 'MBEW-VPRSV'

record-VPRSV_061.

perform bdc_field using 'MBEW-PEINH'

record-PEINH_062.

perform bdc_field using 'MBEW-VERPR'

record-VERPR_063.

perform bdc_field using 'MBEW-STPRS'

record-STPRS_064.

perform bdc_transaction using 'MM01'.

ENDLOOP.

&----


*& Form OPEN_FILE

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM OPEN_FILE .

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = 'C:\BDC.TXT'

  • FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = '#'

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • CODEPAGE = ' '

  • IGNORE_CERR = ABAP_TRUE

  • REPLACEMENT = '#'

  • CHECK_BOM = ' '

  • VIRUS_SCAN_PROFILE =

  • NO_AUTH_CHECK = ' '

  • IMPORTING

  • FILELENGTH =

  • HEADER =

TABLES

DATA_TAB = IT_RECORD

  • EXCEPTIONS

  • FILE_OPEN_ERROR = 1

  • FILE_READ_ERROR = 2

  • NO_BATCH = 3

  • GUI_REFUSE_FILETRANSFER = 4

  • INVALID_TYPE = 5

  • NO_AUTHORITY = 6

  • UNKNOWN_ERROR = 7

  • BAD_DATA_FORMAT = 8

  • HEADER_NOT_ALLOWED = 9

  • SEPARATOR_NOT_ALLOWED = 10

  • HEADER_TOO_LONG = 11

  • UNKNOWN_DP_ERROR = 12

  • ACCESS_DENIED = 13

  • DP_OUT_OF_MEMORY = 14

  • DISK_FULL = 15

  • DP_TIMEOUT = 16

  • OTHERS = 17

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

ENDFORM. " OPEN_FILE