Application Development 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: 

BAPI_CUSTOMERQUOTATION_CHANGE

hkmaradana
Active Participant
0 Kudos

Hi Experts,

In which parameter i can assign sold-to party field for change in BAPI_CUSTOMERQUOTATION_CHANGE.

I need to update the quotation with new soldto party number.

Pls help me out.

Thanks

Cris

11 REPLIES 11

Former Member
0 Kudos

Hi Cris,

Can you check the table parameter PARTNERCHANGES, there i hope you need to give the correct "PARTN_ROLE" , P_NUMB_OLD and P_NUMB_NEW(new ship to party)

try this hope this will be helpful.

regards,

shaik bhasha

0 Kudos

Hi Shaik,

Thanks for your message, It is working for ship to party, but iam unable to change the sold to party. This is because of functional setting as per standard.

Do you have any other idea how we can update the sold to party field.

I have debugged the BAPI and i found that there is one flag in TAPER table, not to update sold party field.

Thanks

Cris

Former Member
0 Kudos

Check with below following details :

BAPIPARNRC-PARTN_ROLE = " Bill to party or ship_to_party,sold to paty ,payer'.

BAPIPARNRC-P_NUMB_OLD = old customer number

BAPIPARNRC-P_NUMB_NEW = new customer.

0 Kudos

Hi Seshu,

I had requirement to change sold to party in existing quotation and inquiry. So please let me know how to do this,

I have done the following way

Using BAPI_CUSTOMERQUOTAION_CHANGE , and geting this return message "'You cannot change the entry in partner function AG'.

Also find my code and let me know any issues in it.

DATA:

QUOTATIONHEADERIN LIKE BAPISDH1,

QUOTATIONHEADERINX LIKE BAPISDH1X,

SIMULATION LIKE BAPIFLAG-BAPIFLAG,

BEHAVEWHENERROR LIKE BAPIFLAG-BAPIFLAG,

INTNUMBERASSIGNMENT LIKE BAPIFLAG-BAPIFLAG,

LOGICSWITCH LIKE BAPISDLS,

RETURN LIKE BAPIRET2 OCCURS 0,

QUOTATIONITEMIN LIKE BAPISDITM OCCURS 0,

QUOTATIONITEMINX LIKE BAPISDITMX OCCURS 0,

PARTNERS LIKE BAPIPARNR OCCURS 0 with header line,

PARTNERCHANGES LIKE BAPIPARNRC OCCURS 0 with header line,

PARTNERADDRESSES LIKE BAPIADDR1 OCCURS 0,

CONDITIONSIN LIKE BAPICOND OCCURS 0,

CONDITIONSINX LIKE BAPICONDX OCCURS 0,

QUOTATIONCFGSREF LIKE BAPICUCFG OCCURS 0,

QUOTATIONCFGSINST LIKE BAPICUINS OCCURS 0,

QUOTATIONCFGSPARTOF LIKE BAPICUPRT OCCURS 0,

QUOTATIONCFGSVALUE LIKE BAPICUVAL OCCURS 0,

QUOTATIONCFGSBLOB LIKE BAPICUBLB OCCURS 0,

QUOTATIONCFGSVK LIKE BAPICUVK OCCURS 0,

QUOTATIONCFGSREFINST LIKE BAPICUREF OCCURS 0,

SCHEDULELINES LIKE BAPISCHDL OCCURS 0,

SCHEDULELINESX LIKE BAPISCHDLX OCCURS 0.

QUOTATIONHEADERINX-UPDATEFLAG = 'U'.

*PARTNERS-PARTN_ROLE = 'AG'.

*PARTNERS-PARTN_NUMB = '0000100003'.

**PARTNERS-ITM_NUMBER = '000010'.

**

*append partners.

*PARTNERS-PARTN_ROLE = 'WE'.

*PARTNERS-PARTN_NUMB = '0000100003'.

**PARTNERS-ITM_NUMBER = '000010'.

*append partners.

PARTNERCHANGES-DOCUMENT = '0020000133'.

*PARTNERCHANGES-ITM_NUMBER = '000010'.<

PARTNERCHANGES-UPDATEFLAG = 'U'.

PARTNERCHANGES-PARTN_ROLE = 'AG'.

PARTNERCHANGES-P_NUMB_OLD = '0000100003'.

PARTNERCHANGES-P_NUMB_NEW = '0000000038'.

PARTNERCHANGES-ADDRESS = '0000022578'.

PARTNERCHANGES-ADDR_LINK = '0000022578'.

append PARTNERCHANGES.

PARTNERCHANGES-PARTN_ROLE = 'WE'.

PARTNERCHANGES-P_NUMB_OLD = '0000100003'.

PARTNERCHANGES-P_NUMB_NEW = '0000000038'.

PARTNERCHANGES-ADDRESS = '0000022578'.

PARTNERCHANGES-ADDR_LINK = '0000022578'.

append PARTNERCHANGES.

CALL FUNCTION 'BAPI_CUSTOMERQUOTATION_CHANGE'

EXPORTING

SALESDOCUMENT = '0020000133'

  • QUOTATION_HEADER_IN =

QUOTATION_HEADER_INX = QUOTATIONHEADERINX

  • SIMULATION =

  • BEHAVE_WHEN_ERROR =

  • INT_NUMBER_ASSIGNMENT =

  • LOGIC_SWITCH =

  • NO_STATUS_BUF_INIT = ' '

TABLES

RETURN = RETURN

  • QUOTATION_ITEM_IN =

  • QUOTATION_ITEM_INX =

  • PARTNERS = PARTNERS

PARTNERCHANGES = PARTNERCHANGES

  • PARTNERADDRESSES =

  • CONDITIONS_IN =

  • CONDITIONS_INX =

  • QUOTATION_CFGS_REF =

  • QUOTATION_CFGS_INST =

  • QUOTATION_CFGS_PART_OF =

  • QUOTATION_CFGS_VALUE =

  • QUOTATION_CFGS_BLOB =

  • QUOTATION_CFGS_VK =

  • QUOTATION_CFGS_REFINST =

  • SCHEDULE_LINES =

  • SCHEDULE_LINESX =

  • QUOTATION_TEXT =

  • QUOTATION_KEYS =

  • EXTENSIONIN =

.

clear return.

DATA : RETURN1 LIKE BAPIRET2 OCCURS 0.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

WAIT = 'X'

  • IMPORTING

  • RETURN = RETURN1

Thanks in advance.

Rama

Former Member
0 Kudos

Hi,

The same requirement required for me, To change sold-to pary in Quotation & Inquiray . So please let me know how to change sold-to party using BAPI_CUSTOMERQUOTATION_CHANGE function module.

Thanks in advance.

Rama

0 Kudos

Hi,

You need to change the table TPAER table field "No Change Poss" to blank.

This is pooled table you can change directly in SE16. Actually this change can not be done through customization. If you are not able to change through SE16.

Change in debug mode: Goto se16 enter the parameters PartnDet.Proc. and Partner Functn and then execute. you will get one entry.double click on that entry.

you will get table entry display. Start debug /h and then click on right button.

Just change in dubug mode 'EDIT'.

Best regards

Cris

0 Kudos

Hi Cris,

Thank you very much for your reply.

Still i am getting same error message, please send me the code how to pass values in BAPI_CUSTOMERQUOTAION_CHANGE and tell me which partner determination (TAPER-PARGR) need to set change poss is blank.

Also find my code and let me know any issues in it.

DATA:

QUOTATIONHEADERIN LIKE BAPISDH1,

QUOTATIONHEADERINX LIKE BAPISDH1X,

SIMULATION LIKE BAPIFLAG-BAPIFLAG,

BEHAVEWHENERROR LIKE BAPIFLAG-BAPIFLAG,

INTNUMBERASSIGNMENT LIKE BAPIFLAG-BAPIFLAG,

LOGICSWITCH LIKE BAPISDLS,

RETURN LIKE BAPIRET2 OCCURS 0,

QUOTATIONITEMIN LIKE BAPISDITM OCCURS 0,

QUOTATIONITEMINX LIKE BAPISDITMX OCCURS 0,

PARTNERS LIKE BAPIPARNR OCCURS 0 with header line,

PARTNERCHANGES LIKE BAPIPARNRC OCCURS 0 with header line,

PARTNERADDRESSES LIKE BAPIADDR1 OCCURS 0,

CONDITIONSIN LIKE BAPICOND OCCURS 0,

CONDITIONSINX LIKE BAPICONDX OCCURS 0,

QUOTATIONCFGSREF LIKE BAPICUCFG OCCURS 0,

QUOTATIONCFGSINST LIKE BAPICUINS OCCURS 0,

QUOTATIONCFGSPARTOF LIKE BAPICUPRT OCCURS 0,

QUOTATIONCFGSVALUE LIKE BAPICUVAL OCCURS 0,

QUOTATIONCFGSBLOB LIKE BAPICUBLB OCCURS 0,

QUOTATIONCFGSVK LIKE BAPICUVK OCCURS 0,

QUOTATIONCFGSREFINST LIKE BAPICUREF OCCURS 0,

SCHEDULELINES LIKE BAPISCHDL OCCURS 0,

SCHEDULELINESX LIKE BAPISCHDLX OCCURS 0.

QUOTATIONHEADERINX-UPDATEFLAG = 'U'.

*PARTNERS-PARTN_ROLE = 'AG'.

*PARTNERS-PARTN_NUMB = '0000100003'.

**PARTNERS-ITM_NUMBER = '000010'.

**

*append partners.

*PARTNERS-PARTN_ROLE = 'WE'.

*PARTNERS-PARTN_NUMB = '0000100003'.

**PARTNERS-ITM_NUMBER = '000010'.

*append partners.

PARTNERCHANGES-DOCUMENT = '0020000133'.

*PARTNERCHANGES-ITM_NUMBER = '000010'.<

PARTNERCHANGES-UPDATEFLAG = 'U'.

PARTNERCHANGES-PARTN_ROLE = 'AG'.

PARTNERCHANGES-P_NUMB_OLD = '0000100003'.

PARTNERCHANGES-P_NUMB_NEW = '0000000038'.

PARTNERCHANGES-ADDRESS = '0000022578'.

PARTNERCHANGES-ADDR_LINK = '0000022578'.

append PARTNERCHANGES.

PARTNERCHANGES-PARTN_ROLE = 'WE'.

PARTNERCHANGES-P_NUMB_OLD = '0000100003'.

PARTNERCHANGES-P_NUMB_NEW = '0000000038'.

PARTNERCHANGES-ADDRESS = '0000022578'.

PARTNERCHANGES-ADDR_LINK = '0000022578'.

append PARTNERCHANGES.

CALL FUNCTION 'BAPI_CUSTOMERQUOTATION_CHANGE'

EXPORTING

SALESDOCUMENT = '0020000133'

  • QUOTATION_HEADER_IN =

QUOTATION_HEADER_INX = QUOTATIONHEADERINX

  • SIMULATION =

  • BEHAVE_WHEN_ERROR =

  • INT_NUMBER_ASSIGNMENT =

  • LOGIC_SWITCH =

  • NO_STATUS_BUF_INIT = ' '

TABLES

RETURN = RETURN

  • QUOTATION_ITEM_IN =

  • QUOTATION_ITEM_INX =

  • PARTNERS = PARTNERS

PARTNERCHANGES = PARTNERCHANGES

  • PARTNERADDRESSES =

  • CONDITIONS_IN =

  • CONDITIONS_INX =

  • QUOTATION_CFGS_REF =

  • QUOTATION_CFGS_INST =

  • QUOTATION_CFGS_PART_OF =

  • QUOTATION_CFGS_VALUE =

  • QUOTATION_CFGS_BLOB =

  • QUOTATION_CFGS_VK =

  • QUOTATION_CFGS_REFINST =

  • SCHEDULE_LINES =

  • SCHEDULE_LINESX =

  • QUOTATION_TEXT =

  • QUOTATION_KEYS =

  • EXTENSIONIN =

.

clear return.

DATA : RETURN1 LIKE BAPIRET2 OCCURS 0.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

WAIT = 'X'

  • IMPORTING

  • RETURN = RETURN1

.

Thanks,

Rama

0 Kudos

Hi,

In TPAER table you need to set the blank for field AENDB.

Check the code given below for partner changes....

*Partners Change

SELECT PARVW KUNNR FROM VBPA INTO (IT_VBPA-PARVW, IT_VBPA-KUNNR) WHERE VBELN = V_VBELN.

APPEND IT_VBPA.

ENDSELECT.

LOOP AT IT_VBPA.

IF IT_VBPA-PARVW = 'AG' OR IT_VBPA-PARVW = 'WE'.

IT_BAPIPARNRC-DOCUMENT = V_VBELN.

IT_BAPIPARNRC-UPDATEFLAG = 'U'.

IT_BAPIPARNRC-PARTN_ROLE = IT_VBPA-PARVW.

IT_BAPIPARNRC-P_NUMB_OLD = IT_VBPA-KUNNR.

IT_BAPIPARNRC-P_NUMB_NEW = WA_IT_BAPI-KUNNR.

APPEND IT_BAPIPARNRC.

ELSEIF IT_VBPA-PARVW = 'RE' OR IT_VBPA-PARVW = 'RG'. .

IT_BAPIPARNRC-DOCUMENT = V_VBELN.

IT_BAPIPARNRC-UPDATEFLAG = 'U'.

IT_BAPIPARNRC-PARTN_ROLE = IT_VBPA-PARVW.

IT_BAPIPARNRC-P_NUMB_OLD = IT_VBPA-KUNNR.

IT_BAPIPARNRC-P_NUMB_NEW = WA_IT_BAPI-KUNNR1.

APPEND IT_BAPIPARNRC.

ENDIF.

ENDLOOP.

CALL FUNCTION 'BAPI_CUSTOMERQUOTATION_CHANGE'

EXPORTING

SALESDOCUMENT = V_VBELN

QUOTATION_HEADER_IN = IT_QUOTATION_HEADER_IN

QUOTATION_HEADER_INX = IT_QUOTATION_HEADER_INX

  • SIMULATION =

  • BEHAVE_WHEN_ERROR =

  • INT_NUMBER_ASSIGNMENT =

  • LOGIC_SWITCH =

  • NO_STATUS_BUF_INIT = ' '

TABLES

RETURN = IT_RETURN[]

  • QUOTATION_ITEM_IN = IT_QUOTATION_ITEM_IN[]

  • QUOTATION_ITEM_INX = IT_QUOTATION_ITEM_INX[]

  • PARTNERS =

PARTNERCHANGES = IT_BAPIPARNRC[]

  • PARTNERADDRESSES =

  • CONDITIONS_IN = IT_CONDITIONS_IN[]

  • CONDITIONS_INX = IT_CONDITIONS_INX[]

  • QUOTATION_CFGS_REF =

  • QUOTATION_CFGS_INST =

  • QUOTATION_CFGS_PART_OF =

  • QUOTATION_CFGS_VALUE =

  • QUOTATION_CFGS_BLOB =

  • QUOTATION_CFGS_VK =

  • QUOTATION_CFGS_REFINST =

  • SCHEDULE_LINES =

  • SCHEDULE_LINESX =

  • QUOTATION_TEXT =

  • QUOTATION_KEYS =

  • EXTENSIONIN =

Hope you understand the logic...what error you are getting exactly?

Cris

0 Kudos

Cris,

Thank you very much for your response.

I am getting this error "'You cannot change the entry in partner function AG'".

Also please let me kow what are the mandatory values passed for these parameters : IT_QUOTATION_HEADER_IN, IT_QUOTATION_HEADER_INX.

1. In TPAER table have so manay entry, for which record we need to set blank for field AENDB.

2. Also please let me know there is any function module to fetch all quotation details and pass same to BAPI_QUOTATION_CREATEDATA function module to create new quotation.

Thanks in adavance.

Rama

0 Kudos

Hi,

I have mentioned clearly in my previous msg.....check again TPAER table

Goto se16 enter the parameters PartnDet.Proc. and Partner Functn and then execute. My case PartnDet.Proc. and Partner Functn is "ZA" and "SP".

According to above parameters you also give your parameters.Partner Functn is for everyone SP only.

you will get one entry.double click on that entry.change it.

After that check my previous msg mentioned code...

Still if you are getting err msg...let me know.

Regards

Cris

Former Member
0 Kudos