Create material using bapi ' bapi_material_savedata'
Hi Experts,
i was tring to create material using bapi ' bapi_material_savedata' but the material is not updating in the table.
please find the code and suggest me if any modification
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 = int_matnum-MATERIAL.
*LOOP AT int_matnum.
la_headdata-MATERIAL = int_matnum-MATERIAL.
write : int_matnum-material.
*ENDLOOP.
la_headdata-MATERIAL = '100000518'."int_matnum-MATERIAL.
la_headdata-IND_SECTOR = p_indsr.
la_headdata-MATL_TYPE = p_matype.
la_clientdata-BASE_UOM = 'FT3'.
la_clientdata-pur_valkey = ' '.
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 =
Please Help me
Regards,
Naresh
Hi all,
Now it is asking me for the other fields,
E ,
The field MARA-XCHPF/BAPI_MARA-BATCH_MGMT is defined as a required field; it does not contain an entry
i have passed this val as
la_clientdata-batch_mgmt = 'X'.
even though i am getting the same error.
can you help me to solve the issue.
Tthanks
Naresh
Edited by: naresh.k.dasari on Jan 4, 2011 10:36 AM
Similar Messages
-
Hi Friends,
I want to create a material using BAPI, can anyone give me some sample program or can any one give me links which earlier posted this problem.
Points for sure for sample program.
thanks and regards
Vijayahi
good
go through this REPORT z_bapi_salesorder_create.
Parameters
Sales document type
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text FOR FIELD p_auart.
PARAMETERS: p_auart TYPE auart OBLIGATORY.
SELECTION-SCREEN END OF LINE.
Sales organization
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text1 FOR FIELD p_vkorg.
PARAMETERS: p_vkorg TYPE vkorg OBLIGATORY.
SELECTION-SCREEN END OF LINE.
Distribution channel
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text2 FOR FIELD p_vtweg.
PARAMETERS: p_vtweg TYPE vtweg OBLIGATORY.
SELECTION-SCREEN END OF LINE.
Division.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text3 FOR FIELD p_spart.
PARAMETERS: p_spart TYPE spart OBLIGATORY.
SELECTION-SCREEN END OF LINE.
SKIP 1.
Sold-to
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text4 FOR FIELD p_sold.
PARAMETERS: p_sold TYPE kunnr OBLIGATORY.
SELECTION-SCREEN END OF LINE.
Ship-to
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text5 FOR FIELD p_ship.
PARAMETERS: p_ship TYPE kunnr OBLIGATORY.
SELECTION-SCREEN END OF LINE.
SKIP 1.
Material
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text6 FOR FIELD p_matnr.
PARAMETERS: p_matnr TYPE matnr OBLIGATORY.
SELECTION-SCREEN END OF LINE.
Quantity.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text7 FOR FIELD p_menge.
PARAMETERS: p_menge TYPE kwmeng OBLIGATORY.
SELECTION-SCREEN END OF LINE.
Plant
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text9 FOR FIELD p_plant.
PARAMETERS: p_plant TYPE werks_d OBLIGATORY.
SELECTION-SCREEN END OF LINE.
Data declarations.
DATA: v_vbeln LIKE vbak-vbeln.
DATA: header LIKE bapisdhead1.
DATA: headerx LIKE bapisdhead1x.
DATA: item LIKE bapisditem OCCURS 0 WITH HEADER LINE.
DATA: itemx LIKE bapisditemx OCCURS 0 WITH HEADER LINE.
DATA: partner LIKE bapipartnr OCCURS 0 WITH HEADER LINE.
DATA: return LIKE bapiret2 OCCURS 0 WITH HEADER LINE.
DATA: lt_schedules_inx TYPE STANDARD TABLE OF bapischdlx
WITH HEADER LINE.
DATA: lt_schedules_in TYPE STANDARD TABLE OF bapischdl
WITH HEADER LINE.
Initialization.
INITIALIZATION.
v_text = 'Order type'.
v_text1 = 'Sales Org'.
v_text2 = 'Distribution channel'.
v_text3 = 'Division'.
v_text4 = 'Sold-to'.
v_text5 = 'Ship-to'.
v_text6 = 'Material'.
v_text7 = 'Quantity'.
v_text9 = 'Plant'.
Start-of-selection.
START-OF-SELECTION.
Header data
Sales document type
header-doc_type = p_auart.
headerx-doc_type = 'X'.
Sales organization
header-sales_org = p_vkorg.
headerx-sales_org = 'X'.
Distribution channel
header-distr_chan = p_vtweg.
headerx-distr_chan = 'X'.
Division
header-division = p_spart.
headerx-division = 'X'.
headerx-updateflag = 'I'.
Partner data
Sold to
partner-partn_role = 'AG'.
partner-partn_numb = p_sold.
APPEND partner.
Ship to
partner-partn_role = 'WE'.
partner-partn_numb = p_ship.
APPEND partner.
ITEM DATA
itemx-updateflag = 'I'.
Line item number.
item-itm_number = '000010'.
itemx-itm_number = 'X'.
Material
item-material = p_matnr.
itemx-material = 'X'.
Plant
item-plant = p_plant.
itemx-plant = 'X'.
Quantity
item-target_qty = p_menge.
itemx-target_qty = 'X'.
APPEND item.
APPEND itemx.
Fill schedule lines
lt_schedules_in-itm_number = '000010'.
lt_schedules_in-sched_line = '0001'.
lt_schedules_in-req_qty = p_menge.
APPEND lt_schedules_in.
Fill schedule line flags
lt_schedules_inx-itm_number = '000010'.
lt_schedules_inx-sched_line = '0001'.
lt_schedules_inx-updateflag = 'X'.
lt_schedules_inx-req_qty = 'X'.
APPEND lt_schedules_inx.
Call the BAPI to create the sales order.
CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1'
EXPORTING
sales_header_in = header
sales_header_inx = headerx
IMPORTING
salesdocument_ex = v_vbeln
TABLES
return = return
sales_items_in = item
sales_items_inx = itemx
sales_schedules_in = lt_schedules_in
sales_schedules_inx = lt_schedules_inx
sales_partners = partner.
Check the return table.
LOOP AT return WHERE type = 'E' OR type = 'A'.
EXIT.
ENDLOOP.
IF sy-subrc = 0.
WRITE: / 'Error in creating document'.
ELSE.
Commit the work.
COMMIT WORK AND WAIT.
WRITE: / 'Document ', v_vbeln, ' created'.
ENDIF.
thanks
mrutyun^ -
How to create material using BAPI Methods?
hi,
how to create material master dat using BAPI?
could u guide me
i will be waiting for reply.
REGARDS
ESWAR.Hi eswar,
Try this code to create gods mmovement...
DATA: GOODSMVT_HEADER LIKE BAPI2017_GM_HEAD_01,
" Material Document Header Data
GOODSMVT_CODE LIKE BAPI2017_GM_CODE,
" Assign code to transaction for BAPI goods movement
MATERIALDOCUMENT LIKE BAPI2017_GM_HEAD_RET-MAT_DOC,
" Number of Material Document
GOODSMVT_ITEM LIKE BAPI2017_GM_ITEM_CREATE OCCURS 0 WITH HEADER
LINE,
" Create Material Document Item
RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE
" Return table for messages
*Fill values in header
GOODSMVT_HEADER-PSTNG_DATE = '20030825'.
GOODSMVT_HEADER-DOC_DATE = '20030802'.
*Fill GOODSMVT_CODE
GOODSMVT_CODE-GM_CODE = '05' .
*Fill Item Table
GOODSMVT_ITEM-MATERIAL = '100-100'.
GOODSMVT_ITEM-PLANT = '1000'.
GOODSMVT_ITEM-STGE_LOC = '0001'.
GOODSMVT_ITEM-MOVE_TYPE = '501'.
GOODSMVT_ITEM-ENTRY_QNT = '50'.
GOODSMVT_ITEM-ITEM_TEXT = 'Test Sanket'.
*GOODSMVT_ITEM-COSTCENTER = '1000'.
APPEND GOODSMVT_ITEM.
*Create Good's movement
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
GOODSMVT_HEADER = GOODSMVT_HEADER
GOODSMVT_CODE = GOODSMVT_CODE
IMPORTING
MATERIALDOCUMENT = MATERIALDOCUMENT
TABLES
GOODSMVT_ITEM = GOODSMVT_ITEM
RETURN = RETURN.
*Commit BAPI
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
*Display Goods movement number
FORMAT COLOR 6 INVERSE ON.
READ TABLE RETURN WITH KEY TYPE = 'E'.
IF SY-SUBRC = 0.
WRITE: /,'ERROR! Goods movement not created'.
ELSE.
WRITE: /,'Goods movent number',MATERIALDOCUMENT COLOR 5,
'posted for material',GOODSMVT_ITEM-MATERIAL.
ENDIF.
FORMAT COLOR OFF INVERSE OFF.
try this on report program and create a goods movement.
Sanket. -
Upload the Plant by using BAPI " BAPI_MATERIAL_SAVEDATA"
Hi experts ,
I have a requirement where i need to update the plant for the material.
i tried to use BAPI " BAPI_MATERIAL_SAVEDATA"
Can any one please help me out what are the import and export parameters we need to pass for updating the Plant for that particluar material.
If any one have any sample code please send .
Thanks in advance.
Anupama . PHi
When creating material master data, you must transfer the material number, the material type, and the industry sector to the method. You must also enter a material description and its language.
When changing material master data, you need enter only the material number.
In the header data, you must select at least one view for which data is to be created. Depending on the view selected, you must maintain other required parameters. If you do not enter values for all of the required parameters, the method is ended with an error message.
For what fields to be filled up, please go to SE37, Enter the BAPI, click on display
Click on Import tab page , clcik on the Associated type of Parmeters
HEADDATA
CLIENTDATA
PLANTDATA
& any other data which you want to upload ,
Thanks & Regards
Kishore -
How to create invoice using bapi base on delivery number with example
hi,
Pl give me one example to create invoice using bapi base on delivery number (PGI).Use this code
* Pass the delivery no to the FM to create the invoice
wa_vbsk-smart = u2018Fu2019.
wa_komfk-vbeln = nast-objky. u201CuF0DF-----delivery number
APPEND wa_komfk TO it_komfk.
CLEAR wa_komfk.
* To fill the message structure
* l_wa_error-vbeln_vl = nast-objky. " Delivery No.
* l_wa_error-fkart = wa_ztab-bil_doc_type." Billing Doc type
CALL FUNCTION 'RV_INVOICE_CREATE'
EXPORTING
* delivery_date = 0
invoice_date = v_date u201C<- date
* invoice_type = ' '
* pricing_date = 0
vbsk_i = wa_vbsk
with_posting = u2018Du2019
* select_date = 0
i_no_vblog = ' '
i_analyze_mode = ' '
id_utasy = ' '
id_utswl = ' '
id_utsnl = ' '
id_no_enqueue = ' '
id_new_cancellation = ' '
** IMPORTING
* VBSK_E =
* OD_BAD_DATA =
* DET_REBATE =
TABLES
xkomfk = it_komfk
xkomv = it_komv
xthead = it_thead
xvbfs = it_vbfs
xvbpa = it_vbpa
xvbrk = it_xvbrk
xvbrp = it_vbrp
xvbss = it_vbss
* XKOMFKGN =
* XKOMFKKO = -
Need code for sales order create report using bapi's
need code for sales order create report using bapi's
Hi,
Go through below link
http://www.saptechies.com/bapi_salesorder_createfromdat2/
<b>Reward points if it helps,</b>
Satish -
I can create material using inbound Idoc of type MATMAS01, but not MATMAS05
I can create material using inbound Idoc of type MATMAS01 in WE19, but MATMAS05 failed. In fact I used same data ( different material number), and same inbound function, but got different result.
What is different between MATMAS01 and MATMAS05? Is there some configuation need for MATMAS05?
My system is ECC5.0. Thanks.Hi, nagaraj
this is inbound IDoc, not outbound IDoc, so we can't assign Basic type in WE20, only can assign Message type.
In WE82, there are 5 records about Messagetype MATMAS:
Message type Basic type Release
MATMAS MATMAS01 30A
MATMAS MATMAS02 30D
MATMAS MATMAS03 40A
MATMAS MATMAS04 46C
MATMAS MATMAS05 470
I think it should be ok.
In WE57, there 2 records are exist:
FM_name BasicType MessageType
IDOC_INPUT_MATMAS01 MATMAS01 MATMAS
IDOC_INPUT_MATMAS01 MATMAS05 MATMAS
so I think all configurations should be ok.
Message was edited by:
liu bin -
ERROR IN CREATING PO USING BAPI
Hi friends,
My requirement is to create po using BAPI but i am getting error message .i have entered all the fields but still i am getting This errors.
E BAPI 001 No instance of object type Purchase Order has been created. External reference:
E MEPO 000 Purchase order still contains faulty items
E ME 645 Subcontracting as stock transfer within a company code not possible
I ME 123 Supplying and receiving plants identical (Please check)
please help.
thanks in advance.
Moderator message: please read message long texts, speak to a functional expert (these are not ABAP related errors), do more research before asking, do not use all capitals in the title.
Edited by: Thomas Zloch on Nov 30, 2011 1:06 PMHi
It seems you're creating a transfer order and an item is set for subcontracting, that's not possible, so check the item type
Max -
Hi,
I am trying to create PDF using BAPI. I got one BAPI(Z_MM_EPSP_BAPI_GET_PO_PDF). That bapi returns bytecodes. How can I generate PDF file using this BAPI output in BLS. Give some example
Thanks & Regards
ArtArt,
Are you familiar with xMII at all? I would like to answer your question but it seems more like a tutoring lesson rather than a technical problem.
Please post a problem and not how somone can help you do your work. Unless of course you are willing to paypal some money over. :-D -
Account assignment while creating reservation using bapi
Hi , I am creating reservation using BAPI (BAPI_RESERVATION_CREATE1), but when I seeing the open reservation account assignment field is blank, could any on ehelp me on this, i.e what parameter I am missing in BAPI for account assignment.
best regards
pankajHi,
there is not field to assign the account assignment in Bapi..
you need to assignt he account manaually.
Assign account assignment category.
SELECT * FROM eban INTO TABLE lt_eban WHERE banfn = w_banfn .
IF sy-subrc = 0.
LOOP AT lt_eban .
lt_eban-knttp = 'J'. "assign your own account categeory
MODIFY eban FROM lt_eban.
COMMIT WORK AND WAIT.
ENDLOOP.
endif.
Regards,
Prabhudas -
Problem while creating assets using BAPI
Use table enhancement BAPI_TE_ANLU
Diagnosis :The BAPIs for creating and changing assets currently support only those customer enhancements that relate to the user fields created using SAP enhancement AIST0002.
Can anybody give the appropriate solution why this error is coming while creating assets using BAPI.Looks like you are trying to transfer custom fields into the asset master data that were not added following the steps in enhancement AIST0002.
Using EXTENSIONIN parameter, you can transfer user fields from the asset master record. However, it is not possible to transfer fields that are updated in user-defined tables. Only user fields that were defined using SAP enhancement AIST0002 and are automatically updated in table ANLU can be udpated in this way. This means you have to use table extension BAPI_TE_ANLU.
Enhancement AIST0002 contains function module EXIT_SAPL1022_001 as a component in which user fields can be implemented.
The documentation ( BAPIPAREX) of the structure that forms the basis for this parameter contains additional information about using this parameter.
Please check how table ANLU has been enhanced and also go through the documentation of enhancement AIST0002.
Regards,
Shyam -
To create a Material using BAPI with out passing the material number
Hello Experts,
I am using BAPI_MATERIAL_SAVEDATA to create a material of some Ztype. I am successfully creating a material if I am passing Material Number as input. I want the material number to generated internally.
When I am doing material creation with same input data with out material number using BDC, it is working fine. It is generating the material number.
But, not with the BAPI.
Do, I need to specify this some where in the BAPI to generate the Material number internally? Please let me know.
Please help me in this regard.
Thanks & Regards,
Naresh.Hi,
Read the BAPI documentation regarding Internal Number range for materials.
When you create material master data, the following fields must always
contain a value in the structure:
o MATERIAL
Only external number assignment is supported for the material number
(MATERIAL). If you want the material number to be assigned
internally, the method BAPI_MATERIAL_GETINTNUMBER must first be
called. This method determines an internal number for the material
to be created. You must enter this internal number in field
HEADDATA-MATERIAL.
Regards
Vinod -
How to create material using BAPI_material_savedata.
hi,
i try to create the material by using a bapi BAPI_MATERIAL_SAVEDATA , every thing i s going good material is created but only the MFRPN (manufacrurer part number ) is not updated.
thanks in advance.Hi Ritesh,
Plz check out this link;
[Creation of BAPI using BAPI_material_savedata|https://wiki.sdn.sap.com/wiki/display/Snippets/Tutorial%2CMM01UploadusingBAPI]
But plz check the mandatory fields to be passed to the BAPI.
with regards,
Mamta
Edited by: Mamta Kumari on Aug 20, 2009 3:14 PM -
Create material using bapi_material_savedata
Hi.
I'm having prob with creation of material using bapi_material_savedata. When creating new material we use internal numbering so I use first bapi_material_getintnumber'. the number from that bapi is what i used in bapi_material_savedata. However, I getting an error that says 'matnr <from bapi>does not exists', why is this so? do i need to put the commit after the bapi_material_getintnumber and before calling the bapi_material_savedata?
Please help.
thnx.hi
good
go through this example and use accordingly
REPORT ZBAPIMM01 LINE-SIZE 255 NO STANDARD PAGE HEADING
LINE-COUNT 065(001).
TABLES: T001L, "Storage Locations
MARA, "General Material Data
MAKT, "Material Descriptions
MBEW, "Material Valuation
MARC. "Plant Data for Material
DATA: BAPI_HEAD LIKE BAPIMATHEAD,
BAPI_MAKT LIKE BAPI_MAKT, "Material Description
BAPI_MARA1 LIKE BAPI_MARA, "Client Data
BAPI_MARAX LIKE BAPI_MARAX,
BAPI_MARC1 LIKE BAPI_MARC, "Plant View
BAPI_MARCX LIKE BAPI_MARCX,
BAPI_MBEW1 LIKE BAPI_MBEW, "Accounting View
BAPI_MBEWX LIKE BAPI_MBEWX,
BAPI_RETURN LIKE BAPIRET2.
DATA: BEGIN OF INT_MAKT OCCURS 100.
INCLUDE STRUCTURE BAPI_MAKT.
DATA: END OF INT_MAKT.
DATA: BEGIN OF INT_MAT OCCURS 100,
WERKS(4), "Plant
MTART(4), "Material type
MATNR(18), "Material number
MATKL(9) , "Material group
MBRSH(1), "Industry sector
MEINS(3), "Base unit of measure
GEWEI(3), "Weight Unit
SPART(2), "Division
EKGRP(3), "Purchasing group
VPRSV(1), "Price control indicator
STPRS(12), "Standard price
PEINH(3), "Price unit
SPRAS(2), "Language key
MAKTX(40), "Material description
END OF INT_MAT.
SELECT-OPTIONS:
PLANT FOR MARC-WERKS OBLIGATORY MEMORY ID PLT,
MATERIAL FOR MARA-MATNR MEMORY ID MAT,
MATLTYPE FOR MARA-MTART MEMORY ID MTY,
DIVISION FOR MARA-SPART MEMORY ID DIV.
PARAMETERS: F_FILE LIKE RLGRAP-FILENAME
DEFAULT 'C:\DATA\ZMATERIAL.XLS' MEMORY ID F_FILE,
GETDATA AS CHECKBOX, "Tick to download materials data to local harddisk
UPDDATA AS CHECKBOX. "Tick to update date to Materials Master
IF GETDATA = 'X'.
PERFORM DOWNLOAD_DATA.
PERFORM DOWNLOAD_FILE.
ENDIF.
IF UPDDATA = 'X'.
PERFORM UPLOAD_FILE.
PERFORM UPDATE_MM.
ENDIF.
FORM DOWNLOAD_DATA.
SELECT * FROM MARC WHERE LVORM EQ ' '
AND WERKS IN PLANT
AND MATNR IN MATERIAL.
CLEAR MARA.
SELECT SINGLE * FROM MARA WHERE MATNR = MARC-MATNR.
CHECK MATLTYPE.
CHECK DIVISION.
CLEAR MBEW.
SELECT SINGLE * FROM MBEW WHERE MATNR = MARC-MATNR
AND BWKEY = MARC-WERKS.
CLEAR MAKT.
SELECT SINGLE * FROM MAKT WHERE SPRAS = 'EN'
AND MATNR = MARC-MATNR.
WRITE:/ MARC-WERKS, "Plant
MARA-MTART, "Material type
MARA-MATNR, "Material number
MARA-MATKL, "Material group
MARA-MBRSH, "Industry sector
MARA-MEINS, "Base unit of measure
MARA-GEWEI, "Weight Unit
MARA-SPART, "Division
MARC-EKGRP, "Purchasing group
MBEW-VPRSV, "Price control indicator
MBEW-STPRS, "Standard price
MBEW-PEINH, "Price unit
MAKT-SPRAS, "Language key
MAKT-MAKTX. "Material description
INT_MAT-WERKS = MARC-WERKS. "Plant
INT_MAT-MTART = MARA-MTART. "Material type
INT_MAT-MATNR = MARA-MATNR. "Material number
INT_MAT-MATKL = MARA-MATKL. "Material group
INT_MAT-MBRSH = MARA-MBRSH. "Industry sector
INT_MAT-MEINS = MARA-MEINS. "Base unit of measure
INT_MAT-GEWEI = MARA-GEWEI. "Weight Unit
INT_MAT-SPART = MARA-SPART. "Division
INT_MAT-EKGRP = MARC-EKGRP. "Purchasing group
INT_MAT-VPRSV = MBEW-VPRSV. "Price control indicator
INT_MAT-STPRS = MBEW-STPRS. "Standard price
INT_MAT-PEINH = MBEW-PEINH. "Price unit
INT_MAT-SPRAS = MAKT-SPRAS. "Language key
INT_MAT-MAKTX = MAKT-MAKTX. "Material description
APPEND INT_MAT.
CLEAR INT_MAT.
ENDSELECT.
ENDFORM.
FORM DOWNLOAD_FILE.
call function 'WS_DOWNLOAD'
EXPORTING
FILENAME = F_FILE
FILETYPE = 'DAT'
FILETYPE = 'WK1'
tables
data_tab = INT_MAT
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
OTHERS = 10.
IF SY-SUBRC = 0.
FORMAT COLOR COL_GROUP.
WRITE:/ 'Data Download Successfully to your local harddisk'.
SKIP.
ENDIF.
ENDFORM.
FORM UPLOAD_FILE.
call function 'WS_UPLOAD'
EXPORTING
FILENAME = F_FILE
FILETYPE = 'DAT'
FILETYPE = 'WK1'
tables
data_tab = INT_MAT
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
OTHERS = 10.
IF SY-SUBRC = 0.
FORMAT COLOR COL_GROUP.
WRITE:/ 'Data Upload Successfully from your local harddisk'.
SKIP.
ENDIF.
ENDFORM.
FORM UPDATE_MM.
LOOP AT INT_MAT.
Header
BAPI_HEAD-MATERIAL = INT_MAT-MATNR.
BAPI_HEAD-IND_SECTOR = INT_MAT-MBRSH.
BAPI_HEAD-MATL_TYPE = INT_MAT-MTART.
BAPI_HEAD-BASIC_VIEW = 'X'.
BAPI_HEAD-PURCHASE_VIEW = 'X'.
BAPI_HEAD-ACCOUNT_VIEW = 'X'.
Material Description
REFRESH INT_MAKT.
INT_MAKT-LANGU = INT_MAT-SPRAS.
INT_MAKT-MATL_DESC = INT_MAT-MAKTX.
APPEND INT_MAKT.
Client Data - Basic
BAPI_MARA1-MATL_GROUP = INT_MAT-MATKL.
BAPI_MARA1-BASE_UOM = INT_MAT-MEINS.
BAPI_MARA1-UNIT_OF_WT = INT_MAT-GEWEI.
BAPI_MARA1-DIVISION = INT_MAT-SPART.
BAPI_MARAX-MATL_GROUP = 'X'.
BAPI_MARAX-BASE_UOM = 'X'.
BAPI_MARAX-UNIT_OF_WT = 'X'.
BAPI_MARAX-DIVISION = 'X'.
Plant - Purchasing
BAPI_MARC1-PLANT = INT_MAT-WERKS.
BAPI_MARC1-PUR_GROUP = INT_MAT-EKGRP.
BAPI_MARCX-PLANT = INT_MAT-WERKS.
BAPI_MARCX-PUR_GROUP = 'X'.
Accounting
BAPI_MBEW1-VAL_AREA = INT_MAT-WERKS.
BAPI_MBEW1-PRICE_CTRL = INT_MAT-VPRSV.
BAPI_MBEW1-STD_PRICE = INT_MAT-STPRS.
BAPI_MBEW1-PRICE_UNIT = INT_MAT-PEINH.
BAPI_MBEWX-VAL_AREA = INT_MAT-WERKS.
BAPI_MBEWX-PRICE_CTRL = 'X'.
BAPI_MBEWX-STD_PRICE = 'X'.
BAPI_MBEWX-PRICE_UNIT = 'X'.
WRITE:/ BAPI_HEAD, BAPI_MARC1.
call function 'BAPI_MATERIAL_SAVEDATA'
exporting
HEADDATA = BAPI_HEAD
CLIENTDATA = BAPI_MARA1
CLIENTDATAX = BAPI_MARAX
PLANTDATA = BAPI_MARC1
PLANTDATAX = BAPI_MARCX
FORECASTPARAMETERS =
FORECASTPARAMETERSX =
PLANNINGDATA =
PLANNINGDATAX =
STORAGELOCATIONDATA =
STORAGELOCATIONDATAX =
VALUATIONDATA = BAPI_MBEW1
VALUATIONDATAX = BAPI_MBEWX
WAREHOUSENUMBERDATA =
WAREHOUSENUMBERDATAX =
SALESDATA = BAPI_MVKE1
SALESDATAX = BAPI_MVKEX
STORAGETYPEDATA =
STORAGETYPEDATAX =
IMPORTING
RETURN = BAPI_RETURN
TABLES
MATERIALDESCRIPTION = INT_MAKT
UNITSOFMEASURE =
UNITSOFMEASUREX =
INTERNATIONALARTNOS =
MATERIALLONGTEXT =
TAXCLASSIFICATIONS =
RETURNMESSAGES =
PRTDATA =
PRTDATAX =
EXTENSIONIN =
EXTENSIONINX =
IF BAPI_RETURN-TYPE = 'E'.
WRITE:/ 'Error Message ', BAPI_RETURN.
ENDIF.
ENDLOOP.
ENDFORM.
*---End of Program
thanks
mrutyun^ -
Fasing some problem in Material using BAPI..?
Hi... Guru's..
thanks in advance and will give full points...
I am creating material master using the BAPI and the data is in presentation server....
this is is the error message i am getting while control ebterinng into CALL BAPI(FM)....
Key fields for use data PLANTDATA and checkbox structure PLANTDATAX are different
please look into the program and and let me know if any chenges required...
i am able get the data from presentation layer and i am able to move field values from internal table to BAPI fields and values are populating properly....
while entering control into BAPI ..i am getting the above error..(error message ....i found in debugging mode...)
TYPE : E
ID : MM
NUMBER : 360
MESSAG :Key fields for use data PLANTDATA and checkbox structure PLANTDATAX are different
LOG_NO
LOG_MSG_NO : 000000
MESSAGE_V1 : PLANTDATA
MESSAGE_V2 : PLANTDATAX
MESSAGE_V3
MESSAGE_V4
PARAMETER
ROW 0
FIELD
SYSTEM
Program logic:
DATA:gs_bapimathead TYPE bapimathead,
gs_clientdata TYPE bapi_mara,
gs_clientdatax TYPE bapi_marax,
gs_plantdata TYPE bapi_marc,
gs_plantdatax TYPE bapi_marcx,
gs_forecastparameters TYPE bapi_mpop,
gs_forecastparametersx TYPE bapi_mpopx,
gs_valuationdata TYPE bapi_mbew,
gs_valuationdatax TYPE bapi_mbewx,
gs_salesdata TYPE bapi_mvke,
gs_salesdatax TYPE bapi_mvkex,
gs_storagelocationdata TYPE bapi_mard,
gs_storagelocationdatax TYPE bapi_mardx,
gt_materialdescription TYPE STANDARD TABLE OF bapi_makt,
gwa_materialdescription TYPE bapi_makt,
gt_taxclassifications TYPE STANDARD TABLE OF bapi_mlan,
gwa_taxclassifications TYPE bapi_mlan,
gt_prtdata TYPE STANDARD TABLE OF bapi_mfhm,
gwa_prtdata TYPE bapi_mfhm,
gt_prtdatax TYPE STANDARD TABLE OF bapi_mfhmx,
gwa_prtdatax TYPE bapi_mfhmx,
gt_unitsofmeasure TYPE STANDARD TABLE OF bapi_marm,
gwa_unitsofmeasure TYPE bapi_marm,
gt_unitsofmeasurex TYPE STANDARD TABLE OF bapi_marmx,
gwa_unitsofmeasurex TYPE bapi_marmx,
gs_return TYPE bapiret2.
TYPES:BEGIN OF gty_itab1,
matnr(18),
mbrsh(1),
mtart(4),
werks(4),
lgort(4),
vkorg(4),
vtweg(2),
maktx(40),
meins(3),
matkl(9),
spart(2),
brgew(13),
ntgew(13),
gewei(3),
dwerk(4),
taxkm(1),
kondm(2),
ktgrm(2),
mtpos(4),
tragr(4),
ladgr(4),
disgr(4),
dismm(2),
dispo(3),
beskz(1),
mtvfp(2),
prmod(1),
planv(3),
bklas(4),
vprsv(1),
peinh(5),
stprs(11),
END OF gty_itab1.
DATA:gt_itab1 TYPE STANDARD TABLE OF gty_itab1,
gwa_itab1 TYPE gty_itab1.
TYPES:BEGIN OF gty_itab2,
abc(1000),
END OF gty_itab2.
DATA:gt_itab2 TYPE STANDARD TABLE OF gty_itab2,
gwa_itab2 TYPE gty_itab2.
PARAMETERS:p_files TYPE string.
START-OF-SELECTION.
CALL METHOD cl_gui_frontend_services=>gui_upload
EXPORTING
filename = p_files
filetype = 'ASC'
CHANGING
data_tab = gt_itab2
EXCEPTIONS
OTHERS = 8.
LOOP AT gt_itab2 INTO gwa_itab2.
gwa_itab1 = gwa_itab2-abc(1000).
APPEND gwa_itab1 TO gt_itab1.
ENDLOOP.
LOOP AT gt_itab1 INTO gwa_itab1.
gs_bapimathead-material = gwa_itab1-matnr.
gs_bapimathead-ind_sector = gwa_itab1-mbrsh.
gs_bapimathead-matl_type = gwa_itab1-mtart.
gs_plantdata-plant = gwa_itab1-werks.
gs_plantdatax-plant = 'X'.
gs_salesdata-sales_org = gwa_itab1-vkorg.
gs_salesdatax-sales_org = 'X'.
gs_salesdata-distr_chan = gwa_itab1-vtweg.
gs_salesdatax-distr_chan = 'X'.
gs_salesdata-mat_pr_grp = gwa_itab1-kondm.
gs_salesdatax-mat_pr_grp = 'X'.
gs_salesdata-acct_assgt = gwa_itab1-ktgrm.
gs_salesdatax-acct_assgt = 'X'.
gs_salesdata-delyg_plnt = gwa_itab1-dwerk.
gs_salesdatax-delyg_plnt = 'X'.
gs_clientdata-base_uom = gwa_itab1-meins.
gs_clientdatax-base_uom = 'X'.
gs_clientdata-trans_grp = gwa_itab1-tragr.
gs_clientdatax-trans_grp = 'X'.
gs_clientdata-matl_group = gwa_itab1-matkl.
gs_clientdatax-matl_group = 'X'.
gs_clientdata-division = gwa_itab1-spart.
gs_clientdatax-division = 'X'.
gs_clientdata-net_weight = gwa_itab1-ntgew.
gs_clientdatax-net_weight = 'X'.
gs_clientdata-unit_of_wt = gwa_itab1-gewei.
gs_clientdatax-unit_of_wt = 'X'.
gs_plantdata-loadinggrp = gwa_itab1-ladgr.
gs_plantdatax-loadinggrp = 'X'.
gs_plantdata-mrp_type = gwa_itab1-dismm.
gs_plantdatax-mrp_type = 'X'.
gs_plantdata-availcheck = gwa_itab1-mtvfp.
gs_plantdatax-availcheck = 'X'.
gs_plantdata-mrp_group = gwa_itab1-disgr.
gs_plantdatax-mrp_group = 'X'.
gs_plantdata-mrp_ctrler = gwa_itab1-dispo.
gs_plantdatax-mrp_ctrler = 'X'.
gs_plantdata-proc_type = gwa_itab1-beskz.
gs_plantdatax-proc_type = 'X'.
gs_forecastparameters-fore_model = gwa_itab1-prmod.
gs_forecastparametersx-fore_model = 'X'.
gs_valuationdata-val_class = gwa_itab1-bklas.
gs_valuationdatax-val_class = 'X'.
gs_valuationdata-std_price = gwa_itab1-stprs.
gs_valuationdatax-std_price = 'X'.
gs_valuationdata-price_ctrl = gwa_itab1-vprsv.
gs_valuationdatax-price_ctrl = 'X'.
gs_valuationdata-price_unit = gwa_itab1-peinh.
gs_valuationdatax-price_unit = 'X'.
gs_storagelocationdata-stge_loc = gwa_itab1-lgort.
gs_storagelocationdatax-stge_loc = 'X'.
gwa_materialdescription-langu = 'E'.
gwa_materialdescription-matl_desc = gwa_itab1-maktx.
gwa_taxclassifications-taxclass_1 = gwa_itab1-taxkm.
gwa_prtdata-prt_usage = gwa_itab1-planv.
gwa_prtdatax-prt_usage = 'X'.
gwa_unitsofmeasure-gross_wt = gwa_itab1-brgew.
gwa_unitsofmeasurex-gross_wt = 'X'.
APPEND gwa_materialdescription TO gt_materialdescription.
APPEND gwa_taxclassifications TO gt_taxclassifications.
APPEND gwa_prtdata TO gt_prtdata.
APPEND gwa_prtdatax TO gt_prtdatax.
APPEND gwa_unitsofmeasure TO gt_unitsofmeasure.
APPEND gwa_unitsofmeasurex TO gt_unitsofmeasurex.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = gs_bapimathead
clientdata = gs_clientdata
clientdatax = gs_clientdatax
plantdata = gs_plantdata
plantdatax = gs_plantdatax
forecastparameters = gs_forecastparameters
forecastparametersx = gs_forecastparametersx
valuationdata = gs_valuationdata
valuationdatax = gs_valuationdatax
salesdata = gs_salesdata
salesdatax = gs_salesdatax
IMPORTING
return = gs_return
TABLES
materialdescription = gt_materialdescription
unitsofmeasure = gt_unitsofmeasure
unitsofmeasurex = gt_unitsofmeasurex
taxclassifications = gt_taxclassifications
prtdata = gt_prtdata
prtdatax = gt_prtdatax.
Check the return table.
IF sy-subrc NE 0.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
WRITE: / 'Error occured while creating material'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
WRITE: / 'material',gwa_itab1-matnr,'created'.
ENDIF.
ENDLOOP.Hello,
Unfortunately SAP does not support any BAPI's to change customer/vendor master data.
The BAPI's were developed from different applications and were designed for their special needs.
You can see the existing BAPIs via tranx BAPI.
Please have a look at the SAP notes 390045 and 384462 which should
explain the proceeding. If you want to use Batch Input, please also have a look at SAP note 306275.
Another possibility is to use Trx XD99, object KNA1, Trx XK99, object LFA1.
Regards,
David
Maybe you are looking for
-
How to uncheck many music pieces at once?
Is there any way to uncheck music pieces automatically, instead of manually one by one (which I find silly). All I see in iTunes' menu is SELECT ALL, SELECT NONE which has nothing to do with the check mark. I often have to check a lot of them and the
-
Can anyone from the flex community answer this question?
Hello, Does anyone know if its possible to load a AS2 swf into a AS3 swf, and then have that AS2 swf load other AS2 swfs onto different levels (e.g. _level1, _level2, ect...). I'm trying to include a preexisting AS2 swf that manages the loading of se
-
Hello there, We are using Information steward version 4.2. We exported an existing metapedia into an xls file.We added some new categories and terms in the same xls file.When we import this file again using "Import Metapedia from MS excel file" , we
-
hai...! I am new to oracle.When installing oracle10gR2 on Linux AS4 i am getting following error..... Preparing to launch Oracle Universal Installer from /tmp/OraInstall2008-03-06_03-28-01PM. Please wait ...[oracle@linux40 database]$ Xlib: connection
-
Hi, I learnt from the books that the order proposals falling within the PTF are firmed and no automatic changes are done during the planning run. There are 4 firming types. Can you explain from the end user point of view what is firming and how do we