Material Master Upload using BAPI_MATERIAL_SAVEREPLICA
Hi All,
I am using BAPI_MATERIAL_SAVEREPLICA for creating materials. I am facing an issue where BAPI is not doing the validations properly. In 'Work Scheduling' View, there are some fields which gives error in MM01 transaction. But BAPI posts successfully even with that data. Can anyone please help me in solving this issue. Below are the parmeters passed to the BAPI. Header data and other details are also passed.
noappllog = 'X'
nochangedoc = 'X'
testrun = space
inpfldcheck = space
Thanks,
Deepti
Hi.
Did you set
'X'
for
HEADDATA-WORK_SCHED_VIEW
parameter?
Similar Messages
-
What is the standard program for Material Master upload using LSMW
Dear All
I am trying to use the MM upload using DATMIG_INF4. I want to know what are the different standard projects that are used for Material master upload.Hi Amol,
You can load the material master using direct input method in LSMW ,details of which are as follows:
Object 0020 Material master
Method 0000
Program name RMDATIND
Program type D Direct input
Please revert back in case of any doubt.
Cheers
VJ -
Material Master Upload using Bapi getting error "****** not a valid unit of
Hi Gurus,
i am uploading material master using BAPI Material_master_save_data , where the volume and Unit of Volume is Blank, Still i am getting error as "****** not a valid unit of volume ".kindly help me to resolve the issue.Many Thanks In advance.Jurgen,
I could able to solve the issue for invalid unit Error ....Now i am getting **** unit of measure is not defined , pls check your entry or else i am getting alternate unit of mesure is same as base unit of measure .
I have used below logic for Purchase Order Unit and Base Unit of measure .
if wa_upload-unmsr EQ wa_upload-ord_uom .
bapi_mara1-base_uom = wa_upload-unmsr.
bapi_mara1-po_unit = wa_upload-ord_uom .
elseif wa_upload-unmsr NE wa_upload-ord_uom.
wa_upload-ord_uom = wa_upload-alt_uom.
bapi_mara1-po_unit = wa_upload-ord_uom.
endif.
Many Thanks for your help. -
Material master upload using BAPI...
Helo SDNers,
I am trying to upload material master using BAPI.
data : begin of t_mat occurs 0,
material type matnr, " Material - MATNR
ind_sec type mbrsh, " Industry sector - MBRSH
mat_typ type mtart, " Material type - MTART
plant type werks_d, " plant - WERKS_D
stge_loc type lgort_d, " Storage location - LGORT_D
sales_org type vkorg, " Sales org - VKORG
distr_chan type vtweg, " Distribution channel - VTWEG
mat_desc type maktx, " Material description - MAKTX
base_uom type meins, " Base unit of measurement- MEINS
mat_grp type matkl, " material group - MATKL
division type spart, " Division - SPART
gen_itmcatmgrp type MTPOS, " General item category group -MTPOS_MARA
gros_weight type BRGEW, " Gross weight - BRGEW
net_weight type NTGEW, " Net weight - NTGEW
mat_grppack type MAGRV, " Material group pack - MAGRV
delv_plant type DWERK_EXT, " Delivery plant
tax_clasif type TAXKM, " Tax classification
item_catgrp type MTPOS, " Item category group
aval_check type MTVFP, " Availability check
trans_grp type TRAGR, " Transportation group
load_grp type LADGR, " Loading group
pur_grp type EKGRP, " Purchasing grp,
mrp_type type DISMM, " MRP type
mrp_contr type DISPO, " MRP Controller
lot_size type DISLS, " Lot size,
gr_processing type WEBAZ, " GR Processing time
schdmargin_key type FHORI, " Schedule margin key
batch_mangment type XCHPF, " Batch management
strog_cond type RAUBE, " Storage condition
source_list type KORDB, " Source list
mrp_grp type DISGR, " MRP group
reorder_point type MINBE, " Reorder point
procurement_type type BESKZ, " Procurement type
sp_procurement_type type SOBSL, " Special Procurement type
inhouse_prod type DZEIT, " Inhouse production
safety_stock type EISBE, " Safety stock
strategy_group type STRGR, " Strategy group
availabilty_grp type MTVFP, " Availability group
batch_entry type KZECH , " Batch entry
valuation_class type BKLAS, " Valuation class
price_control type VPRSV, " Price control
moving_price type VERPR, " Moving price
standard_price type STPRS, " Standard price - STPRS
langu(2), " Language
end of t_mat.
this is my internal table i have these many content in my excel file
please explain me what the following code does .....
move-corresponding wa to bapi_head.
bapi_head-basic_view = 'X'.
bapi_head-sales_view = 'X'.
bapi_head-purchase_view = 'X'.
bapi_head-mrp_view = 'X'.
bapi_head-forecast_view = 'X'.
bapi_head-work_sched_view = 'X'.
bapi_head-prt_view = 'X'.
bapi_head-storage_view = 'X'.
bapi_head-warehouse_view = 'X'.
bapi_head-quality_view = 'X'.
bapi_head-account_view = 'X'.
bapi_head-cost_view = 'X'.
and also please help with an example how do i upload data from IT (my internal table) using BAPI.
Regards,
Ranjith NHi ,
First you upload your Excel data into Internal Table.
Move all data to Respected BAPI Structures.
and then call 'BAPI_MATERIAL_SAVEDATA' and pass all structures.
Sample Code:
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = p_fname
i_begin_col = v_c1
i_begin_row = l_v_r
i_end_col = v_cl
i_end_row = v_rl
TABLES
intern = i_excel
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc eq 0.
LOOP AT i_excel.
CASE i_excel-col.
WHEN 0001.
wa_final-field1 = i_excel-value.
WHEN 0002.
wa_final-field2 = i_excel-value.
WHEN 0003.
wa_final-field3 = i_excel-value.
WHEN 0004.
wa_final-field4 = i_excel-value.
WHEN 0005.
wa_final-field5 = i_excel-value.
WHEN 0006.
wa_final-field6 = i_excel-value.
WHEN 0007.
wa_final-field7 = i_excel-value.
WHEN 0008.
wa_final-field8 = i_excel-value.
WHEN 0009.
wa_final-field9 = i_excel-value.
WHEN 0010.
wa_final-field10 = i_excel-value.
WHEN 0011.
wa_final-field11 = i_excel-value.
WHEN 0012.
wa_final-field12 = i_excel-value.
WHEN 0013.
wa_final-field13 = i_excel-value.
WHEN 0014.
wa_final-field14 = i_excel-value.
WHEN 0015.
wa_final-field15 = i_excel-value.
WHEN 0016.
wa_final-field16 = i_excel-value.
ENDCASE.
*-at end of each row, a record needs to append the internal table
AT END OF row.
APPEND wa_final TO i_final.
CLEAR: wa_final.
ENDAT.
ENDLOOP.
ENDIF.
Move all your Inatrnal tbale data to respected BAPI structures
*& Form MOVE_HEADDATA
* Move Header data to BAPI Header.
FORM move_headdata .
Move Header Data to BAPI Fields
MOVE : wa_final-matnr TO wa_mathead-material,
wa_final-mbrsh TO wa_mathead-ind_sector,
wa_final-mtart TO wa_mathead-matl_type.
To get UOM
SELECT SINGLE * FROM t006 INTO t006 WHERE msehi = wa_final-meins.
MOVE: t006-isocode TO wa_mara-base_uom_iso,
c_x TO wa_marax-base_uom_iso.
**-- Move Material Descriptions
PERFORM move_materialdescription .
ENDFORM. " MOVE_HEADDATA
*& Form MOVE_CLIENTDATA
* Move Basic data to Clientdata
FORM move_clientdata .
MOVE : wa_final-spart TO wa_mara-division,
wa_final-bismt TO wa_mara-old_mat_no,
wa_final-extwg TO wa_mara-extmatlgrp,
wa_final-mtpos_mara TO wa_mara-item_cat,
wa_final-groes TO wa_mara-size_dim,
wa_final-zeivr TO wa_mara-doc_vers,
wa_final-ekwsl TO wa_mara-pur_valkey.
MOVE : c_x TO wa_marax-division,
c_x TO wa_marax-old_mat_no,
c_x TO wa_marax-extmatlgrp,
c_x TO wa_marax-item_cat,
c_x TO wa_marax-size_dim,
c_x TO wa_marax-doc_vers,
c_x TO wa_marax-pur_valkey.
ENDFORM. " MOVE_CLIENTDATA
*& Form MOVE_STORAGELOCATIONDATA
* Move storage location data to STORAGELOCATIONDATA
FORM move_storagelocationdata .
CLEAR: wa_mard,wa_mardx.
MOVE : wa_final-werks TO wa_mard-plant,
wa_final-lgort TO wa_mard-stge_loc.
MOVE : wa_final-werks TO wa_mardx-plant,
wa_final-lgort TO wa_mardx-stge_loc.
ENDFORM. " MOVE_STORAGELOCATIONDATA
*& Form MOVE_SALESDATA
* Move Salesdate to SALESDATA
FORM move_salesdata .
MOVE : wa_final-vkorg TO wa_mvke-sales_org,
wa_final-vtweg TO wa_mvke-distr_chan,
wa_final-dwerk TO wa_mvke-delyg_plnt,
wa_final-versg TO wa_mvke-matl_stats,
wa_final-ktgrm TO wa_mvke-acct_assgt,
wa_final-mtpos TO wa_mvke-item_cat,
wa_final-mvgr1 TO wa_mvke-matl_grp_1,
wa_final-mvgr2 TO wa_mvke-matl_grp_2,
wa_final-mvgr3 TO wa_mvke-matl_grp_3,
wa_final-mvgr4 TO wa_mvke-matl_grp_4,
wa_final-mvgr5 TO wa_mvke-matl_grp_5,
wa_final-vrkme TO wa_mvke-sales_unit.
MOVE : wa_final-vkorg TO wa_mvkex-sales_org,
wa_final-vtweg TO wa_mvkex-distr_chan,
c_x TO wa_mvkex-delyg_plnt,
c_x TO wa_mvkex-matl_stats,
c_x TO wa_mvkex-acct_assgt,
c_x TO wa_mvkex-item_cat,
c_x TO wa_mvkex-matl_grp_1,
c_x TO wa_mvkex-matl_grp_2,
c_x TO wa_mvkex-matl_grp_3,
c_x TO wa_mvkex-matl_grp_4,
c_x TO wa_mvkex-matl_grp_5,
c_x TO wa_mvkex-sales_unit.
ENDFORM. " MOVE_SALESDATA
*& Form MOVE_MATERIALDESCRIPTION
* Move MATERIALDESCRIPTION to Material Description
FORM move_materialdescription .
CLEAR: wa_makt,i_makt.
MOVE : wa_final-maktx TO wa_makt-matl_desc,
sy-langu TO wa_makt-langu.
APPEND wa_makt TO i_makt.
CLEAR wa_makt.
ENDFORM. " MOVE_MATERIALDESCRIPTION
*& Form basic_data
FORM basic_data .
**-- Move Material Data at Storage Location Level
PERFORM move_storagelocationdata .
MOVE : wa_final-vkorg TO wa_mvke-sales_org,
wa_final-vtweg TO wa_mvke-distr_chan.
MOVE : wa_final-vkorg TO wa_mvkex-sales_org,
wa_final-vtweg TO wa_mvkex-distr_chan.
**-- Move Material Data at Client Level
PERFORM move_clientdata .
IF ALT_UOM is not Given in flat file Move BASEUOM as ALT_UOM
IF wa_final-meinh EQ c_space.
MOVE : wa_final-meins TO wa_marm-alt_unit,
wa_final-meins TO wa_marmx-alt_unit.
ELSE.
MOVE : wa_final-meinh TO wa_marm-alt_unit,
wa_final-umren TO wa_marm-numerator.
MOVE : wa_final-meinh TO wa_marmx-alt_unit,
c_x TO wa_marmx-numerator.
ENDIF.
MOVE : wa_final-numtp TO wa_marm-ean_cat,
wa_final-brgew TO wa_marm-gross_wt,
wa_final-volum TO wa_marm-volume,
wa_final-voleh TO wa_marm-volumeunit,
wa_final-gewei TO wa_marm-unit_of_wt.
APPEND wa_marm TO i_marm.
CLEAR wa_marm.
MOVE : c_x TO wa_marmx-ean_cat,
c_x TO wa_marmx-gross_wt,
c_x TO wa_marmx-volume,
c_x TO wa_marmx-volumeunit,
c_x TO wa_marmx-unit_of_wt.
APPEND wa_marmx TO i_marmx.
CLEAR wa_marmx.
ENDFORM. " basic_data
*& Form sales_data1
FORM sales_data1 .
Move Sales & Plant Data
MOVE : wa_final-werks TO wa_marc-plant,
wa_final-mtvfp TO wa_marc-availcheck,
wa_final-ladgr TO wa_marc-loadinggrp,
wa_final-prctr TO wa_marc-profit_ctr.
MOVE : wa_final-werks TO wa_marcx-plant,
c_x TO wa_marcx-availcheck,
c_x TO wa_marcx-loadinggrp,
c_x TO wa_marcx-profit_ctr.
MOVE: wa_final-tragr TO wa_mara-trans_grp,
c_x TO wa_marax-trans_grp.
**-- Move Sales Data
PERFORM move_salesdata .
Move Tax Data
MOVE : 'JP' TO wa_mlan-depcountry_iso,
'MWAR' TO wa_mlan-tax_type_1,
wa_final-taklv TO wa_mlan-taxclass_1.
APPEND wa_mlan TO i_mlan.
CLEAR wa_mlan.
ENDFORM. " sales_data1
*& Form purchase_data
FORM purchase_data .
Move Plant Data
MOVE : wa_final-werks TO wa_marc-plant,
wa_final-werks TO wa_marcx-plant.
Move PO data
MOVE : wa_final-ekgrp TO wa_marc-pur_group,
wa_final-kautb TO wa_marc-auto_p_ord,
wa_final-usequ TO wa_marc-quotausage,
wa_final-kordb TO wa_marc-sourcelist,
c_x TO wa_marcx-pur_group,
c_x TO wa_marcx-auto_p_ord,
c_x TO wa_marcx-quotausage,
c_x TO wa_marcx-sourcelist.
MOVE: wa_final-matkl TO wa_mara-matl_group,
wa_final-bstme TO wa_mara-po_unit,
c_x TO wa_marax-matl_group,
c_x TO wa_marax-po_unit.
ENDFORM. " purchase_data
*& Form mrp_data
FORM mrp_data .
**-- Move Material Data at Storage Location Level
PERFORM move_storagelocationdata .
Move All MRP data
MOVE: wa_final-diskz TO wa_mard-mrp_ind,
c_x TO wa_mardx-mrp_ind.
MOVE : wa_final-werks TO wa_marc-plant,
wa_final-dismm TO wa_marc-mrp_type,
wa_final-dispo TO wa_marc-mrp_ctrler,
wa_final-beskz TO wa_marc-proc_type,
wa_final-sobsl TO wa_marc-spproctype,
wa_final-mtvfp TO wa_marc-availcheck,
wa_final-minbe TO wa_marc-reorder_pt,
wa_final-fxhor TO wa_marc-pl_ti_fnce,
wa_final-disls TO wa_marc-lotsizekey,
wa_final-bstmi TO wa_marc-minlotsize,
wa_final-bstma TO wa_marc-maxlotsize,
wa_final-bstfe TO wa_marc-fixed_lot,
wa_final-mabst TO wa_marc-max_stock,
wa_final-ausss TO wa_marc-assy_scrap,
wa_final-dzeit TO wa_marc-inhseprodt,
wa_final-plifz TO wa_marc-plnd_delry,
wa_final-webaz TO wa_marc-gr_pr_time,
wa_final-fhori TO wa_marc-sm_key,
wa_final-eisbe TO wa_marc-safety_stk,
wa_final-strgr TO wa_marc-plan_strgp,
wa_final-wzeit TO wa_marc-replentime,
wa_final-lgfsb TO wa_marc-sloc_exprc,
wa_final-sbdkz TO wa_marc-dep_req_id,
wa_final-kzbed TO wa_marc-grp_reqmts,
wa_final-miskz TO wa_marc-mixed_mrp,
wa_final-stlal TO wa_marc-alternative_bom,
wa_final-stlan TO wa_marc-bom_usage.
MOVE : wa_final-werks TO wa_marcx-plant,
c_x TO wa_marcx-mrp_type,
c_x TO wa_marcx-mrp_ctrler,
c_x TO wa_marcx-proc_type,
c_x TO wa_marcx-spproctype,
c_x TO wa_marcx-availcheck,
c_x TO wa_marcx-reorder_pt,
c_x TO wa_marcx-pl_ti_fnce,
c_x TO wa_marcx-lotsizekey,
c_x TO wa_marcx-minlotsize,
c_x TO wa_marcx-maxlotsize,
c_x TO wa_marcx-fixed_lot,
c_x TO wa_marcx-max_stock,
c_x TO wa_marcx-assy_scrap,
c_x TO wa_marcx-inhseprodt,
c_x TO wa_marcx-plnd_delry,
c_x TO wa_marcx-gr_pr_time,
c_x TO wa_marcx-sm_key,
c_x TO wa_marcx-safety_stk,
c_x TO wa_marcx-plan_strgp,
c_x TO wa_marcx-replentime,
c_x TO wa_marcx-sloc_exprc,
c_x TO wa_marcx-dep_req_id,
c_x TO wa_marcx-grp_reqmts,
c_x TO wa_marcx-mixed_mrp,
c_x TO wa_marcx-alternative_bom,
c_x TO wa_marcx-bom_usage.
ENDFORM. " mrp_data
*& Form accounting_data
FORM accounting_data .
Move Plant Data
MOVE: wa_final-werks TO wa_marc-plant,
wa_final-werks TO wa_marcx-plant.
Move Account Data
MOVE : wa_final-werks TO wa_mbew-val_area,
wa_final-bklas TO wa_mbew-val_class,
wa_final-vprsv TO wa_mbew-price_ctrl,
wa_final-verpr TO wa_mbew-moving_pr,
wa_final-peinh TO wa_mbew-price_unit,
wa_final-stprs TO wa_mbew-std_price.
MOVE : wa_final-werks TO wa_mbewx-val_area,
c_x TO wa_mbewx-val_class,
c_x TO wa_mbewx-price_ctrl,
c_x TO wa_mbewx-moving_pr,
c_x TO wa_mbewx-price_unit,
c_x TO wa_mbewx-std_price.
ENDFORM. " accounting_data
*& Form cost_data
FORM cost_data .
Move Plant Data
MOVE: wa_final-werks TO wa_marc-plant,
wa_final-awsls TO wa_marc-variance_key,
wa_final-verid TO wa_marc-prodverscs, " Production Version
wa_final-werks TO wa_marcx-plant,
c_x TO wa_marcx-variance_key,
c_x TO wa_marcx-prodverscs.
Move Cost Data
MOVE : wa_final-werks TO wa_mbew-val_area,
wa_final-bklas TO wa_mbew-val_class,
wa_final-vprsv TO wa_mbew-price_ctrl,
wa_final-ekalr TO wa_mbew-qty_struct.
MOVE : wa_final-werks TO wa_mbewx-val_area,
c_x TO wa_mbewx-val_class,
c_x TO wa_mbewx-price_ctrl,
c_x TO wa_mbewx-qty_struct.
ENDFORM. " cost_data
Call All Structures in to BAPI
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = wa_mathead
clientdata = wa_mara
clientdatax = wa_marax
plantdata = wa_marc
plantdatax = wa_marcx
storagelocationdata = wa_mard
storagelocationdatax = wa_mardx
valuationdata = wa_mbew
valuationdatax = wa_mbewx
salesdata = wa_mvke
salesdatax = wa_mvkex
IMPORTING
return = i_return
TABLES
materialdescription = i_makt
unitsofmeasure = i_marm
unitsofmeasurex = i_marmx
taxclassifications = i_mlan.
IF i_return-type = 'A' OR i_return-type = 'E' .
DATA : l_v_string TYPE string,
l_v_msg1 TYPE string,
l_v_msg2 TYPE string.
MOVE i_return-message TO l_v_string.
CONDENSE l_v_string.
PERFORM fill_error_table USING 'E'
'ZMSG_MM'
'098'
v_reccon
l_v_string
v_error = v_error + 1.
CLEAR: l_v_string.
ELSEIF i_return-type = 'S'.
PERFORM fill_error_table USING 'S'
i_return-id
i_return-number
i_return-message_v1
i_return-message_v2
i_return-message_v3
i_return-message_v4.
v_success = v_success + 1.
ENDIF .
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
IF sy-subrc = 0.
COMMIT WORK AND WAIT. "for the update to table Transcation
ENDIF.
Regards,
Siva. -
Problem in material master upload using LSMW
Dear All
I am trying to upload material master using LSMW (batch input recording).
I am facing problem while doing 14 step (Run Batch Input Session). When i'm running the batch input session, on the Create Material (Initial Screen), system picks values for material code, industry sector & material type but gives error message "select at least one view". system is not allowing me select the views which i selected while recording. system allows me to select all the view which i don't want.
why system is asking me to select the views and also how to select the required view?
thanks
manoj guptathanks charu
do i need to do complete LSMW steps fpr all the view separately? if i do LSMW for basic view1, for other view do i need to go for change TCode or create T Code?
thanks
manoj gupta -
I want to upload material master (MM01) using LSMW with BAPI method
I want to upload material master (MM01) using LSMW with BAPI method and also later on I may need to change the updated data.
Which business object and Method I should use so that i can do both.
Thanks
kumar nHi,
The business object is BUS1001.
Thanks,
Murali -
Help me for material master upload by using Direct Input method
<b>Hi All,</b>
Can any one help me out for developing Material Master Upload program by using <b>Direct Input</b> Method where we are also submitting the report to upload the data in SAP Database.
<b>
Thanks in Advance!</b>
<b>Ramkumar.K</b><b>Hi Kumar,</b>
Thanks! I am using submit statement in my program as well but its populating all the views like Sales Organization Data, Sales - General / Plant Data, Accounting, and all the other views except the<b> Basic Data View</b>.. Eventhough i have populated the corresponding fields of the same.
I am also using structure BGR00, BMM00, BMMH1 to upload the data
Can you please help me on this..
<b>
Regards,
Ramkumar.K</b> -
I have encountered a peculiar problem in MM01 material master upload.
I have encountered a peculiar problem in MM01 material master upload. The
BDC program uploads data using Session method. The problem is when i
process the session in foreground mode the data uploads successfully, but
when i process it in background mode it gives the following errors in the
log.
'Control Framework: Fatal error - GUI cannot be reached'.
'Runtime error RAISE_EXCEPTION has occurred'.
When i debugged the program i found that this error is encountered when
data is being input in 'Purchase Order text' editor of MM01 transaction.
There is no problem with the BDC recording or the program as i could see.
The only problem what i believe is the system is unable to call the text
editor for inputting purchase order text data in background mode.Hi
Try uploading a BAPI it would be better
http://www.saptechies.com/mm01-upload-using-bapi/
Regards
Shiva -
Material master upload to new SAP system
Hi,
Please help me to decide the procedure on migrating material master from ECC 5.0 to ECC 6.0.
One of my idea is to use LSMW and other is to use ALE.
I am expecting many changes in the current material master, so using standard ALE BD10 is difficult. Example: ECC5.0 material type "ABC" would be "XYZ". (XYZ and ABC are of same material type, example: FERT). I choose to have different material number in new system. Like that there are few more changes.
What are all the best methods to extract the data from ECC5.0? I was checking the program RMDATGEN to download the data, but it is not readable. I can prepare a file format and map the columns in ECC6.0 LSMW. Since both the systems are SAP, I am thinking why to prepare a seperate input file format? Again I need to download the data from ECC5.0 for that format. Is there a simple to download and upload the data? Please let me know.
Thanks
NagarajanHere you define your Partner profile:
IMG > Application Link Enabling (ALE) > Modelling and Implementing Business Processes > Partner Profiles and Time of Processing > Maintain Partner Profile Manually
And in the details you define for yor message type MATMAS:
Receiver port: X
Output mode: Collect Idocs and Do not start subsystem
This collection writes the idocs to a file.
This file can then be found in SAP file system with transaction AL11.
a clever basis guy can then move it from there to your network. -
Custom - Material Master Update using an IDOC (Message Type - MATMAS_BAPI)
Hello everyone,
I was writing a functional specs. Basically, I want to update the material master MM02 using an IDOC (MATMAS_BAPI01 - Basic Type & MATMAS_BAPI - Message Type). This is currently working.
To my understanding, this currently uses function module - BAPI_IDOC_INPUT1 to update the material master after the IDOC is posted to SAP ECC from XI system.
Now I want to add one small validation logic before it actually updates the material master (MM02).
I looked around and found one exit - EXIT_SAPLMV02_002 in enhancement MGV00001. I was almost sure that this EXIT can be used to write the custom validation code before, actual MM02 updation.
However while trying to establish a link between this EXIT and BAPI_IDOC_INPUT1, I found that EXIT_SAPLMV02_002 is actually a part of another function module - IDOC_INPUT_MATMAS01 and not BAPI_IDOC_INPUT1. I am stuck here if adding the custom logic in the exit really going to work.
a bit of googling and I found from WE30 that the purpose of both these function modules are actually different. While BAPI_IDOC_INPUT1 actually create & updates the material master (also plant specific master data which is my need), IDOC_INPUT_MATMAS01 is just for maintenence of few fields in MM02 (may be custom fields).
Can anyone point out if my thing is in right direction?
Also please offer any solution where shall I put the Custom Logic in the EXIT or the some variants of
BAPI_IDOC_INPUT1.
A less technical explanation would be appreciated as I come from a functional background and invloved in this for writing the func specs. I want to make it sure that what I write is not useless and makes some sense.
Thanks in advance,
AruneshHi Lalit,
Did some head breaking with the function module - BAPI_IDOC_INPUT1 to check whether it is calling the EXIT_SAPLMV02_002 internally. Couldn't get anywhere.
On question of another EXIT in BAPI_IDOC_INPUT1, I don't see any. I am not very proficient in ABAP code, I must say though.
I found the list of exits from google, almost same list everywhere.
http://www.sapfans.com/forums/viewtopic.php?f=21&t=296637
here I got the EXIT, I am talking about.
Any other way to find either the EXIT or link the above?
-- Arunesh -
Material master Upload with LSMW
Hi
When I make Material master Upload with LSMW, I could not find any entry in planning file.
Please explain.Mayuresh,
Not all LSMW transactions properly update Planning file.
You can run transaction MDAB to set up planning file in Background
You can run transaction MDRE to detect and correct Planning file inconsistancies in Background.
It is probably a good idea to run these jobs periodically, say, weekly, in most production environments.
Regards,
DB49 -
Material Master upload Programe
Hi anybody,
I developed Material master upload programe in ABAP. Material is uploaded. but more than 18 characters materials is upload upto 18 characters last character is "!".
Ex: SET SCREW M12X50MM L - I want upload this material.
But SAP takes automatically like SET SCREW M12X50M! 18 th character is "!" symbol.
how do i resolve this problem. I want upload more than 18 characters.
anybody please tell me this issue.
Tks,
S.Muthu.what are you talking about material code or material discription
rgds
Rajesh -
Problem with Material Master upload
Hi All,
I want to know what the file MTVFP( Group Check Availability) filed gonna do in material master upload bapi "BAPI_MATERIAL_SAVEDATA". When i am trying to upload data i am getting the following error "The field MARC-MTVFP/BAPI_MARC-AVAILCHECK is defined as a required field; it does not contain an entry".
ThanksHello Ben ,
I am getting the same error , could you please let me know how you got it solved.
Comradely ,
K.Sibi -
Material master upload through flat file using the BAPI_MATERIAL_SAVEDATA
Hi Guys,
I need to upload the material master using the BAPI, I need to update the all the views in the material master, Could any one can help please?
I using EXCEL file is input file and suggest me the, excel file format, if could you suggest it would be very help to me.
Thanks,
Gourisankar.please go through this code
*& Report ZBAPI_MATERIAL_SAVEDATA
*& AUTHOR
*& PURPOSE : THIS REPORT USES BAPI MATERIAL SAVE DATA TO UPDATE AND CREATE
*& THE MATERIAL
REPORT ZBAPI_MATERIAL_SAVEDATA NO STANDARD PAGE HEADING MESSAGE-ID (ZHNC).
TYPES:BEGIN OF TY_MAT,
MATERIAL(4),
IND_SECTOR(1),
MATL_TYPE(4),
BASIC_VIEW(1),
SALES_VIEW(1),
PURCHASE_VIEW(1),
STORAGE_VIEW(1),
MATL_GROUP(9),
BASE_UOM(3),
BASE_UOM_ISO(3),
MATL_GROUP1(1),
BASE_UOM1(1),
BASE_UOM_ISO1(1),
PLANT(4),
DEL_FLAG(1),
PUR_GROUP(3),
BASE_QTY(13),
PLANT2(4),
DEL_FLAG5(1),
PUR_GROUP1(1),
BASE_QTY1(1),
PLANT3(4),
STGE_LOC(4),
MRP_IND(1),
PLANT4(4),
STGE_LOC1(4),
MRP_IND1(1),
SALES_ORG(4),
DISTR_CHAN(2),
DEL_FLAG1(1),
MIN_ORDER(13),
SALES_ORG1(4),
DISTR_CHAN1(2),
DEL_FLAG2(1),
MIN_ORDER1(1),
LANGU(2),
MATL_DESC(40),
END OF TY_MAT.
DATA: IT_DATA TYPE TABLE OF TY_MAT,
WA_DATA LIKE LINE OF IT_DATA.
*decalraing flag
data: v_flag value ''.
*DECLARING WORK AREAs TO BE PASSED TO THE FUNCTION MODULE.
DATA: BAPI_HEAD LIKE BAPIMATHEAD,
BAPI_CLIENTDATA LIKE BAPI_MARA,
BAPI_CLIENTDATAX LIKE BAPI_MARAX,
BAPI_PLANTDATA LIKE BAPI_MARC,
BAPI_PLANTDATAX LIKE BAPI_MARCX,
BAPI_STORAGELOCATIONDATA LIKE BAPI_MARD,
BAPI_STORAGELOCATIONDATAX LIKE BAPI_MARDX,
BAPI_SALESDATA LIKE BAPI_MVKE,
BAPI_SALESDATAX LIKE BAPI_MVKEX,
BAPI_MAKT LIKE BAPI_MAKT,
BAPI_RETURN LIKE BAPIRET2.
*INTERNAL TABLE TO HOLD THE MATERIAL DESCRIPTION
DATA: BEGIN OF IT_MAKT OCCURS 0.
INCLUDE STRUCTURE BAPI_MAKT.
DATA END OF IT_MAKT.
DATA:BEGIN OF IT_RET OCCURS 0.
INCLUDE STRUCTURE BAPIRET2.
DATA END OF IT_RET.
*INTERNAL TABLE TO HOLD HEADER DATA
DATA: IT_EXCEL TYPE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
*SELECTION-SCREEN ELEMENTS
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETER: FNAME TYPE RLGRAP-FILENAME OBLIGATORY DEFAULT 'C:\Documents and Settings\Administrator\Desktop\MATMAS.XLS' .
PARAMETERS: P_BEGCOL TYPE I DEFAULT 1 NO-DISPLAY,
P_BEGROW TYPE I DEFAULT 1 NO-DISPLAY,
P_ENDCOL TYPE I DEFAULT 100 NO-DISPLAY,
P_ENDROW TYPE I DEFAULT 32000 NO-DISPLAY.
SELECTION-SCREEN END OF BLOCK B1.
*DECLARATION OF EXCELAL TABLE
AT SELECTION-SCREEN ON VALUE-REQUEST FOR FNAME.
PERFORM F_GET_FILE USING FNAME.
START-OF-SELECTION.
PERFORM F_XLS_ITAB USING FNAME
CHANGING IT_EXCEL.
PERFORM F_MOVE_DATA.
perform F_GET_DATA.
*& Form F_GET_FILE
text
-->P_FNAME text
<--P_SY_SUBRC text
FORM F_GET_FILE USING P_FNAME LIKE FNAME.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
PROGRAM_NAME = SYST-REPID
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
STATIC = ' '
MASK = ' '
CHANGING
FILE_NAME = P_FNAME
EXCEPTIONS
MASK_TOO_LONG = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE E006(ZHNC).
ENDIF.
ENDFORM. " F_GET_FILE
*& Form F_XLS_ITAB
text
-->P_FNAME text
<--P_IT_EXCEL text
FORM F_XLS_ITAB USING P_FNAME
CHANGING P_IT_EXCEL.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = FNAME
I_BEGIN_COL = P_BEGCOL
I_BEGIN_ROW = P_BEGROW
I_END_COL = P_ENDCOL
I_END_ROW = P_ENDROW
TABLES
INTERN = IT_EXCEL
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3
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. " F_XLS_ITAB
*& Form F_MOVE_DATA
text
--> p1 text
<-- p2 text
FORM F_MOVE_DATA .
DATA : LV_INDEX TYPE I.
FIELD-SYMBOLS <FS>.
*--- Sorting the internal table
SORT IT_EXCEL BY ROW COL.
CLEAR IT_EXCEL.
LOOP AT IT_EXCEL.
MOVE IT_EXCEL-COL TO LV_INDEX.
*--- Assigning the each record to an internal table row
ASSIGN COMPONENT LV_INDEX OF STRUCTURE WA_DATA TO <FS>.
*--- Asigning the field value to a field symbol
MOVE IT_EXCEL-VALUE TO <FS>.
AT END OF ROW.
APPEND WA_DATA TO IT_DATA.
CLEAR WA_DATA.
ENDAT.
ENDLOOP.
ENDFORM. " F_MOVE_DATA
*& Form F_GET_DATA
text
--> p1 text
<-- p2 text
FORM F_GET_DATA .
LOOP AT IT_DATA INTO WA_DATA.
MOVE-CORRESPONDING WA_DATA TO BAPI_HEAD.
BAPI_HEAD-BASIC_VIEW ='X'.
BAPI_HEAD-SALES_VIEW ='X'.
BAPI_HEAD-PURCHASE_VIEW ='X'.
BAPI_HEAD-STORAGE_VIEW ='X'.
MOVE-CORRESPONDING WA_DATA TO BAPI_CLIENTDATA.
BAPI_CLIENTDATAX-MATL_GROUP = 'X'.
BAPI_CLIENTDATAX-BASE_UOM = 'X'.
BAPI_CLIENTDATAX-BASE_UOM_ISO = 'X'.
MOVE-CORRESPONDING WA_DATA TO BAPI_PLANTDATA.
BAPI_PLANTDATAX-PLANT = BAPI_PLANTDATA-PLANT.
BAPI_PLANTDATAX-DEL_FLAG = 'X'.
BAPI_PLANTDATAX-PUR_GROUP = 'X'.
BAPI_PLANTDATAX-BASE_QTY = 'X'.
MOVE-CORRESPONDING WA_DATA TO BAPI_STORAGELOCATIONDATA.
BAPI_STORAGELOCATIONDATA-PLANT = BAPI_PLANTDATA-PLANT.
BAPI_STORAGELOCATIONDATAX-PLANT = BAPI_STORAGELOCATIONDATA-PLANT.
BAPI_STORAGELOCATIONDATAX-STGE_LOC = BAPI_STORAGELOCATIONDATA-STGE_LOC.
BAPI_STORAGELOCATIONDATAX-MRP_IND = 'X'.
MOVE-CORRESPONDING WA_DATA TO BAPI_SALESDATA.
BAPI_SALESDATAX-SALES_ORG = BAPI_SALESDATA-SALES_ORG.
BAPI_SALESDATAX-DISTR_CHAN = BAPI_SALESDATA-DISTR_CHAN.
BAPI_SALESDATAX-DEL_FLAG = BAPI_SALESDATA-DEL_FLAG.
BAPI_SALESDATAX-MIN_ORDER = 'X'.
REFRESH IT_MAKT.
IT_MAKT-LANGU = WA_DATA-LANGU.
IT_MAKT-MATL_DESC = WA_DATA-MATL_DESC.
APPEND IT_MAKT.
CLEAR IT_RET.
REFRESH IT_RET.
PERFORM F_CALL_BAPI.
READ TABLE IT_RET WITH KEY TYPE = 'S'.
IF SY-SUBRC EQ 0.
PERFORM F_BAPI_COMMIT.
WRITE:/ 'MATERIAL CREATED OR UPDATED SUCESSFULLY WITH MATERIAL NO',WA_DATA-MATERIAL.
ELSE.
MESSAGE E000(ZHNC) WITH 'ERROR IN CREATING THE MATERIAL'.
*WRITE: / 'ERROR IN CREATIN MATERIAL',IT_RET-MESSAGE.
*PERFORM F_DOWNLOAD.
ENDIF.
*ENDIF.
ENDLOOP.
ENDFORM. " F_GET_DATA
*& Form F_CALL_BAPI
text
--> p1 text
<-- p2 text
FORM F_CALL_BAPI .
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
HEADDATA = BAPI_HEAD
CLIENTDATA = BAPI_CLIENTDATA
CLIENTDATAX = BAPI_CLIENTDATAX
PLANTDATA = BAPI_PLANTDATA
PLANTDATAX = BAPI_PLANTDATAX
STORAGELOCATIONDATA = BAPI_STORAGELOCATIONDATA
STORAGELOCATIONDATAX = BAPI_STORAGELOCATIONDATAX
SALESDATA = BAPI_SALESDATA
SALESDATAX = BAPI_SALESDATAX
IMPORTING
RETURN = IT_RET
TABLES
MATERIALDESCRIPTION = IT_MAKT
UNITSOFMEASURE =
UNITSOFMEASUREX =
INTERNATIONALARTNOS =
MATERIALLONGTEXT =
TAXCLASSIFICATIONS =
RETURNMESSAGES =
PRTDATA =
PRTDATAX =
EXTENSIONIN =
EXTENSIONINX =
APPEND IT_RET.
ENDFORM. " F_CALL_BAPI
*& Form F_BAPI_COMMIT
text
--> p1 text
<-- p2 text
FORM F_BAPI_COMMIT .
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT =
IMPORTING
RETURN =
ENDFORM. " F_BAPI_COMMIT -
Material Classification Upload using LSMW
Hi SAP Experts,
We are thinking of using LSMW as a means to upload our material master data for the classification view. How is this done?
Can we use LSMW to upload materials with many class assignments with multiple characteristics?
Ex. Material A is assigned to class X and class Y. Class X has characteristics 1, 2, and 3. Class Y has characteristics 4, 5, and 6.
Would appreciate a swift response.
Thanks in advance!Hi All,
If it is the existing material you need to modify the Classification type. It can be done by BDC. If you instruct the ABAP team they will make it & give. I am not sure about modifying classification type using LSMW. If you need to create a new material master data with classification using LSMW i will give the steps.
Check out this link for LSMW Steps:
www.scmexpertonline.com/downloads/SCM_LSMW_StepsOnWeb.doc
Reward if useful.
pherasath
Maybe you are looking for
-
HT2500 Can I use Apple Mail on my ipad and on a pc using safari browser
Can I use Apple Mail on my ipad and on a pc using safari browser
-
Transfer User Folder from Archive and Install
I installed Leopard today and did an Archive and Install. It preserved my old user folder, but I can't seem to make it a user. I tried copying it into the user folder and it is now in two places, but does not show up on my login page. All the informa
-
I downloaded and installed the trial version of Adobe Acrobat XI Pro on my MacBook Pro OS X version 10.9.2. There it sits on my desktop (it wouldn't let me install it to Applications) but there seems to be no way to open or run the program. What's up
-
Including java applets in pdf documents
Dear all, I would like to include a java applet in a pdf document. Is this possible? If so, how would I go about it? Thanks, Philip
-
When Firefox upgraded, it said I needed to install a newer version of Adobe. When I went to do that, I got a message that a plug-in was missing; something that needed to work with an xpi file. When I click on the link for that, it brought up some web