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

change Materialdescriptions

Former Member
0 Likes
849

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
816

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

6 REPLIES 6
Read only

Former Member
0 Likes
816

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

Read only

Former Member
0 Likes
817

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

Read only

0 Likes
816

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
  .

Read only

0 Likes
816

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

Read only

0 Likes
816

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

Read only

0 Likes
816

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