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_CUSTOMERQUOTATION_CHANGE Condition parameter

Former Member
0 Likes
1,138

Hi experts,

I want to get quotation conditions from webservice. So, i used below code;

VBELN = 0020000267

Already exist one item in quotation document. I will add two condition for this item. I filled quotation condition parameters like below;

LOOP AT lt_cond.

     READ TABLE lt_konv INTO ls_konv WITH KEY kposn = lt_cond-posnr

                                              kschl = lt_cond-kschl.

     PERFORM conversion_input_unit USING lt_cond-kmein

                                   CHANGING lt_cond-kmein.

     IF ls_konv IS NOT INITIAL. "if already exist, updateflag EQ U

       lt_quotation_conditions_in-itm_number = ls_konv-kposn.

       lt_quotation_conditions_in-cond_st_no = ls_konv-stunr.

       lt_quotation_conditions_in-cond_count = ls_konv-zaehk.

       lt_quotation_conditions_in-cond_type  = lt_cond-kschl.

       lt_quotation_conditions_in-cond_value = lt_cond-kbetr.

       lt_quotation_conditions_in-currency   = lt_cond-waers.

       lt_quotation_conditions_in-cond_p_unt = lt_cond-kpein.

       lt_quotation_conditions_in-cond_unit  = lt_cond-kmein.

       lt_quotation_conditions_in-cond_updat = 'X'.

       lt_quotation_conditions_inx-updateflag = 'U'.

       lt_quotation_conditions_inx-itm_number = ls_konv-kposn.

       lt_quotation_conditions_inx-cond_st_no = ls_konv-stunr.

       lt_quotation_conditions_inx-cond_count = ls_konv-zaehk.

       lt_quotation_conditions_inx-cond_type  = lt_cond-kschl.

       lt_quotation_conditions_inx-cond_value = 'X'.

       lt_quotation_conditions_inx-currency   = 'X'.

       lt_quotation_conditions_inx-cond_p_unt = 'X'.

       lt_quotation_conditions_inx-cond_unit  = 'X'.

     ELSE.

       lt_quotation_conditions_in-itm_number = lt_cond-posnr.

       lt_quotation_conditions_in-cond_type  = lt_cond-kschl.

       lt_quotation_conditions_in-cond_value = lt_cond-kbetr.

       lt_quotation_conditions_in-currency   = lt_cond-waers.

       lt_quotation_conditions_in-cond_p_unt = lt_cond-kpein.

       lt_quotation_conditions_in-cond_unit  = lt_cond-kmein.

       lt_quotation_conditions_in-cond_updat = 'X'.

       lt_quotation_conditions_inx-updateflag = 'I'.

       lt_quotation_conditions_inx-itm_number = lt_cond-posnr.

     ENDIF.

     APPEND : lt_quotation_conditions_in,lt_quotation_conditions_inx.

     CLEAR : lt_cond,ls_konv.

   ENDLOOP.

CALL FUNCTION 'BAPI_CUSTOMERQUOTATION_CHANGE'

     EXPORTING

       salesdocument         = i_vbeln

       quotation_header_in   = ls_quotation_header_in

       quotation_header_inx  = ls_quotation_header_inx

       int_number_assignment = 'X'

     TABLES

       return                = lt_return

       quotation_item_in     = lt_quotation_items_in

       quotation_item_inx    = lt_quotation_items_inx

       conditions_in         = lt_quotation_conditions_in

       conditions_inx        = lt_quotation_conditions_inx

       schedule_lines        = lt_quotation_schedules_in

       schedule_linesx       = lt_quotation_schedules_inx.

RESULT

Bapi has created two item in quotatin document and added all condition last item.

How can i solve it?

Thanks for reply.

Ömer Faruk KAYA

4 REPLIES 4
Read only

Former Member
0 Likes
864

Hi,

Did you pass the update parameter as 'U' in the lt_quotation_items_inx and passed all the parameters as 'X' in lt_quotation_conditions_inx. Also check the data in the schedule lines table.

Hope this helps.

Read only

0 Likes
864

Hi,

Yes, i passed updatefilag as U like below code;

      lt_quotation_items_inx-updateflag = 'U'.

       lt_quotation_items_inx-itm_number = lt_item-posnr.

       lt_quotation_items_inx-material   = 'X'.

       lt_quotation_items_inx-target_qty = 'X'.

       lt_quotation_items_inx-target_qu  = 'X'.

       lt_quotation_schedules_inx-updateflag = 'U'.

       lt_quotation_schedules_inx-itm_number = lt_item-posnr.

       lt_quotation_schedules_inx-sched_line = 1.

       lt_quotation_schedules_inx-req_qty    = 'X'.

Read only

Former Member
0 Likes
864

Cause of problem is DEV system.

Thanks.

Read only

former_member185054
Active Participant
0 Likes
864

Hi Omer Faruk,

     That is not the correct answer, replicate your quality system configuration and check in your dev.