2007 May 31 12:28 PM
How to upload mm01?
2007 May 31 12:30 PM
2007 May 31 12:31 PM
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
2007 May 31 12:32 PM
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.
2007 May 31 12:32 PM
You are close to the shortest and most meaningless question in SDN history.
ok
2007 May 31 12:33 PM
Hi,
you can upload by LSMW direct input method RMDATIND.
Regards
2007 May 31 12:37 PM
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
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |