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

BAPI SAVE THE MATERIAL

divsmart
Participant
0 Likes
2,778

Hi Experts,

I need to upload the " rate and date" using BAPI_MATERIAL_SAVEDATA ,where i am getting an error as

'Currency amount 10.000 in PLNDPRICE1 was transferred without currency'. Please advice

Program:

REPORT ZBAPI_SAVEDATA_SEN.

TABLES: mara , mbew.

TYPE-pools: truxs.

TYPES:BEGIN OF ty_stru,
matnr TYPE mara-matnr,
werks TYPE marc-werks,
zplp1 TYPE mbew-zplp1,
zpld1 TYPE mbew-zpld1,
END OF ty_stru.

DATA: lt_bapi TYPE TABLE OF ty_stru,
ls_bapi TYPE ty_stru.

DATA: lt_headdata TYPE TABLE OF bapimathead,
ls_headdata TYPE bapimathead.

DATA: lt_plantdata TYPE TABLE OF bapi_marc,
ls_plantdata TYPE bapi_marc,
lt_plantdatax TYPE TABLE OF bapi_marcx,
ls_plantdatax TYPE bapi_marcx.

DATA: lt_valuationdata TYPE TABLE OF bapi_mbew,
ls_valuationdata TYPE bapi_mbew,
lt_valuationdatax TYPE TABLE OF bapi_mbewx,
ls_valuationdatax TYPE bapi_mbewx.

DATA: it_raw TYPE truxs_t_text_data.

DATA: ls_return TYPE BAPIRET2.

PARAMETERS: p_file TYPE rlgrap-filename OBLIGATORY.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.

CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
field_name = 'p_file'
IMPORTING
file_name = p_file.

START-OF-SELECTION.
BREAK 100236.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
* I_FIELD_SEPERATOR =
i_line_header = 'X'
i_tab_raw_data = it_raw
i_filename = p_file
TABLES
i_tab_converted_data = lt_bapi
EXCEPTIONS
conversion_failed = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

LOOP AT lt_bapi INTO ls_bapi.

ls_headdata-material = ls_bapi-matnr.
* APPEND ls_headdata to lt_headdata.

ls_plantdata-plant = ls_bapi-werks.
* APPEND ls_plantdata to lt_plantdata.

ls_plantdatax-plant = ls_bapi-werks.
* APPEND ls_plantdatax to lt_plantdatax.

ls_valuationdata-plndprice1 = ls_bapi-zplp1.
ls_valuationdata-plndprdate1 = ls_bapi-zpld1.
* APPEND ls_valuationdata to lt_valuationdata.

ls_valuationdatax-plndprice1 = 'X'.
ls_valuationdatax-plndprdate1 = 'X'.
* APPEND ls_valuationdatax to lt_valuationdatax.
ENDLOOP.

CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
HEADDATA = ls_headdata
* CLIENTDATA =
* CLIENTDATAX =
PLANTDATA = ls_plantdata
PLANTDATAX = ls_plantdatax
* FORECASTPARAMETERS =
* FORECASTPARAMETERSX =
* PLANNINGDATA =
* PLANNINGDATAX =
* STORAGELOCATIONDATA =
* STORAGELOCATIONDATAX =
VALUATIONDATA = ls_valuationdata
VALUATIONDATAX = ls_valuationdatax
* WAREHOUSENUMBERDATA =
* WAREHOUSENUMBERDATAX =
* SALESDATA =
* SALESDATAX =
* STORAGETYPEDATA =
* STORAGETYPEDATAX =
* FLAG_ONLINE = ' '
* FLAG_CAD_CALL = ' '
* NO_DEQUEUE = ' '
* NO_ROLLBACK_WORK = ' '
IMPORTING
RETURN = ls_return
* TABLES
* MATERIALDESCRIPTION =
* UNITSOFMEASURE =
* UNITSOFMEASUREX =
* INTERNATIONALARTNOS =
* MATERIALLONGTEXT =
* TAXCLASSIFICATIONS =
* RETURNMESSAGES =
* PRTDATA =
* PRTDATAX =
* EXTENSIONIN =
* EXTENSIONINX =
.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
IF sy-subrc <> 0.
WRITE:/ 'Type : ' , ls_return-type ,
/'Id :' , ls_return-id,
/'Message: ' , ls_return-message.
ENDIF.

1 ACCEPTED SOLUTION
Read only

former_member593648
Active Participant
0 Likes
2,211

Can you try passing the currency value in parameter VALUATIONDATA-VAL_AREA & see if it works

4 REPLIES 4
Read only

former_member593648
Active Participant
0 Likes
2,212

Can you try passing the currency value in parameter VALUATIONDATA-VAL_AREA & see if it works

Read only

0 Likes
2,211

Thanks Piyush philip its working well.

Read only

divsmart
Participant
0 Likes
2,211

Close the thread.

Read only

0 Likes
2,211

If you give a better feedback, people will be more inclined to answer your future questions.