2006 Dec 29 12:53 PM
Hi Friends,
I m using the BAPI_MATERIAL_SAVEDATA to change the Materialdescription (MAKT) of existing Materials.
Can anyone show me an example of how I can do this
Thanks in advance
regards
2006 Dec 29 1:18 PM
Here is the code,
REPORT zkb_test3.
PARAMETERS: p_matnr TYPE matnr.
DATA: w_bapimathead TYPE bapimathead,
w_bapiret2 TYPE bapiret2.
DATA: i_bapi_makt TYPE TABLE OF bapi_makt,
w_bapi_makt TYPE bapi_makt.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = p_matnr
IMPORTING
output = w_bapimathead-material.
w_bapimathead-matl_type = 'ROH'.
w_bapimathead-basic_view = 'X'.
CLEAR w_bapi_makt.
w_bapi_makt-langu = sy-langu.
w_bapi_makt-matl_desc = 'Mat Desc New'.
APPEND w_bapi_makt TO i_bapi_makt.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = w_bapimathead
* CLIENTDATA = CLIENTDATA
* CLIENTDATAX = CLIENTDATAX
* PLANTDATA = PLANTDATA
* PLANTDATAX = PLANTDATAX
* FORECASTPARAMETERS = FORECASTPARAMETERS
* FORECASTPARAMETERSX = FORECASTPARAMETERSX
* PLANNINGDATA = PLANNINGDATA
* PLANNINGDATAX = PLANNINGDATAX
* STORAGELOCATIONDATA = STORAGELOCATIONDATA
* STORAGELOCATIONDATAX = STORAGELOCATIONDATAX
* VALUATIONDATA = VALUATIONDATA
* VALUATIONDATAX = VALUATIONDATAX
* WAREHOUSENUMBERDATA = WAREHOUSENUMBERDATA
* WAREHOUSENUMBERDATAX = WAREHOUSENUMBERDATAX
* SALESDATA = SALESDATA
* SALESDATAX = SALESDATAX
* STORAGETYPEDATA = STORAGETYPEDATA
* STORAGETYPEDATAX = STORAGETYPEDATAX
* FLAG_ONLINE = ' '
* FLAG_CAD_CALL = ' '
* NO_DEQUEUE = ' '
* NO_ROLLBACK_WORK = ' '
IMPORTING
return = w_bapiret2
TABLES
materialdescription = i_bapi_makt
* UNITSOFMEASURE = UNITSOFMEASURE
* UNITSOFMEASUREX = UNITSOFMEASUREX
* INTERNATIONALARTNOS = INTERNATIONALARTNOS
* MATERIALLONGTEXT = MATERIALLONGTEXT
* TAXCLASSIFICATIONS = TAXCLASSIFICATIONS
* RETURNMESSAGES = RETURNMESSAGES
* PRTDATA = PRTDATA
* PRTDATAX = PRTDATAX
* EXTENSIONIN = EXTENSIONIN
* EXTENSIONINX = EXTENSIONINX
.
IF w_bapiret2-type EQ 'S'.
COMMIT WORK AND WAIT.
ELSE.
WRITE / 'Error updating text'.
ENDIF.
Regards
Kathirvel
Hi Friends,
I m using the BAPI_MATERIAL_SAVEDATA to change the Materialdescription (MAKT) of existing Materials.
Can anyone show me an example of how I can do this
Thanks in advance
regards
2006 Dec 29 12:57 PM
Hi,
Please refer the code in FM DG99_MAT_SINGLE_CREATE.
If want any sample code
Go to se37 --> give BAPI name --> goto whereused list --> select 'program' --> You can find few programs and you can extract the data.
Regards
Bhupal Reddy
2006 Dec 29 1:18 PM
Here is the code,
REPORT zkb_test3.
PARAMETERS: p_matnr TYPE matnr.
DATA: w_bapimathead TYPE bapimathead,
w_bapiret2 TYPE bapiret2.
DATA: i_bapi_makt TYPE TABLE OF bapi_makt,
w_bapi_makt TYPE bapi_makt.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = p_matnr
IMPORTING
output = w_bapimathead-material.
w_bapimathead-matl_type = 'ROH'.
w_bapimathead-basic_view = 'X'.
CLEAR w_bapi_makt.
w_bapi_makt-langu = sy-langu.
w_bapi_makt-matl_desc = 'Mat Desc New'.
APPEND w_bapi_makt TO i_bapi_makt.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = w_bapimathead
* CLIENTDATA = CLIENTDATA
* CLIENTDATAX = CLIENTDATAX
* PLANTDATA = PLANTDATA
* PLANTDATAX = PLANTDATAX
* FORECASTPARAMETERS = FORECASTPARAMETERS
* FORECASTPARAMETERSX = FORECASTPARAMETERSX
* PLANNINGDATA = PLANNINGDATA
* PLANNINGDATAX = PLANNINGDATAX
* STORAGELOCATIONDATA = STORAGELOCATIONDATA
* STORAGELOCATIONDATAX = STORAGELOCATIONDATAX
* VALUATIONDATA = VALUATIONDATA
* VALUATIONDATAX = VALUATIONDATAX
* WAREHOUSENUMBERDATA = WAREHOUSENUMBERDATA
* WAREHOUSENUMBERDATAX = WAREHOUSENUMBERDATAX
* SALESDATA = SALESDATA
* SALESDATAX = SALESDATAX
* STORAGETYPEDATA = STORAGETYPEDATA
* STORAGETYPEDATAX = STORAGETYPEDATAX
* FLAG_ONLINE = ' '
* FLAG_CAD_CALL = ' '
* NO_DEQUEUE = ' '
* NO_ROLLBACK_WORK = ' '
IMPORTING
return = w_bapiret2
TABLES
materialdescription = i_bapi_makt
* UNITSOFMEASURE = UNITSOFMEASURE
* UNITSOFMEASUREX = UNITSOFMEASUREX
* INTERNATIONALARTNOS = INTERNATIONALARTNOS
* MATERIALLONGTEXT = MATERIALLONGTEXT
* TAXCLASSIFICATIONS = TAXCLASSIFICATIONS
* RETURNMESSAGES = RETURNMESSAGES
* PRTDATA = PRTDATA
* PRTDATAX = PRTDATAX
* EXTENSIONIN = EXTENSIONIN
* EXTENSIONINX = EXTENSIONINX
.
IF w_bapiret2-type EQ 'S'.
COMMIT WORK AND WAIT.
ELSE.
WRITE / 'Error updating text'.
ENDIF.
Regards
Kathirvel
2006 Dec 29 1:40 PM
Dear friends,
what is with my below shown prog ?
data dat like BAPIMATHEAD-MATERIAL.
dat = 'MAT'.
data itext1 TYPE BAPI_MAKT occurs 0 with header line.
itext1-MATL_DESC = 'aaaaaa'.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
HEADDATA = dat
TABLES
MATERIALDESCRIPTION = itext1
.
2006 Dec 29 1:45 PM
Hi
Two things to note,
1)
data: dat TYPE BAPIMATHEAD. "-> This is a structure, you have used a field only
dat-MATERIAL = 'MAT'.
dat-basic_view = 'X'. "Set the basic view as it is changed
Please pass this as it might give you what the error is
<b> IMPORTING
return = w_bapiret2</b>
2) Then call <b>commit work</b> if your function call is successfull.
I tested my prg it works.
Note: Please award points for all helpful anwsers and close thread if your problem is solved.
Regards
Kathirvel
2006 Dec 30 1:47 AM
Dear Kathirvel,
can you do me a favour on posting your code to me which is working.
I think it will be more problematical now because of the return value
IMPORTING
return = w_bapiret2
Therefore I suggest sending me your code. Thanks for all your efforts.
Regards
Ilhan
2007 Jan 02 6:40 PM
This is the code IIhan,
REPORT zkb_test3.
PARAMETERS: p_matnr TYPE matnr.
DATA: w_bapimathead TYPE bapimathead,
w_bapiret2 TYPE bapiret2.
DATA: i_bapi_makt TYPE TABLE OF bapi_makt,
w_bapi_makt TYPE bapi_makt.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = p_matnr
IMPORTING
output = w_bapimathead-material.
w_bapimathead-matl_type = 'ROH'.
w_bapimathead-basic_view = 'X'.
CLEAR w_bapi_makt.
w_bapi_makt-langu = sy-langu.
w_bapi_makt-matl_desc = 'Mat Desc New'.
APPEND w_bapi_makt TO i_bapi_makt.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = w_bapimathead
CLIENTDATA = CLIENTDATA
CLIENTDATAX = CLIENTDATAX
PLANTDATA = PLANTDATA
PLANTDATAX = PLANTDATAX
FORECASTPARAMETERS = FORECASTPARAMETERS
FORECASTPARAMETERSX = FORECASTPARAMETERSX
PLANNINGDATA = PLANNINGDATA
PLANNINGDATAX = PLANNINGDATAX
STORAGELOCATIONDATA = STORAGELOCATIONDATA
STORAGELOCATIONDATAX = STORAGELOCATIONDATAX
VALUATIONDATA = VALUATIONDATA
VALUATIONDATAX = VALUATIONDATAX
WAREHOUSENUMBERDATA = WAREHOUSENUMBERDATA
WAREHOUSENUMBERDATAX = WAREHOUSENUMBERDATAX
SALESDATA = SALESDATA
SALESDATAX = SALESDATAX
STORAGETYPEDATA = STORAGETYPEDATA
STORAGETYPEDATAX = STORAGETYPEDATAX
FLAG_ONLINE = ' '
FLAG_CAD_CALL = ' '
NO_DEQUEUE = ' '
NO_ROLLBACK_WORK = ' '
IMPORTING
return = w_bapiret2
TABLES
materialdescription = i_bapi_makt
UNITSOFMEASURE = UNITSOFMEASURE
UNITSOFMEASUREX = UNITSOFMEASUREX
INTERNATIONALARTNOS = INTERNATIONALARTNOS
MATERIALLONGTEXT = MATERIALLONGTEXT
TAXCLASSIFICATIONS = TAXCLASSIFICATIONS
RETURNMESSAGES = RETURNMESSAGES
PRTDATA = PRTDATA
PRTDATAX = PRTDATAX
EXTENSIONIN = EXTENSIONIN
EXTENSIONINX = EXTENSIONINX
.
IF w_bapiret2-type EQ 'S'.
COMMIT WORK AND WAIT.
ELSE.
WRITE / 'Error updating text'.
ENDIF.
Regards
Kathirvel