06-07-2007 4:24 PM
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
06-07-2007 10:58 PM
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
06-08-2007 11:03 PM
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
06-07-2007 11:14 PM
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.
07-27-2007 6:50 PM
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
07-27-2007 4:35 PM
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
07-27-2007 4:50 PM
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
07-27-2007 6:42 PM
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
07-27-2007 7:35 PM
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
07-29-2007 2:35 AM
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
07-29-2007 6:26 PM
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
07-29-2007 4:06 AM