2022 Mar 29 8:56 AM
I am in user exit USEREXIT_FILL_VBRK_VBRP
and I want to insert into a record in vbpa but for a different partner:
Select SINGLE *
from vbpa
where vbeln eq @vbrp-vbeln
INTO table @data(lt_vbpa).
READ TABLE lt_vbpa INTO data(ls_vbpa) with key parvw = 'PY'.
IF sy-subrc ne 0.
READ TABLE lt_vbpa INTO data(ls_vb) with key parvw = 'SE'.
IF sy-subrc eq 0.
ls_vb-parvw = 'PY'.
>>>>>insert record into vbpa but with a different partner
ENDIF.
ENDIF.
What function module can I use,or can do it in other way?
Thank you
2022 Mar 29 3:18 PM
To add change the partner you add one with the following code. Dont forget to BAPI_TRANSACTION_COMMIT
ls_bapisdh1x-updateflag = 'U'.
ls_partner-partn_role = ls_vb-parvw.
ls_partner-partn_numb = ls_vb-kunnr.
ls_partner-itm_number = ls_vb-posnr.
ls_partner-unload_pt = ls_vb-ablad.
ls_partner-country = ls_vb-land1.
ls_partner-address = ls_vb-adrnr.
ls_partner-priv_addr = ls_vb-adrnp.
ls_partner-transpzone = ls_vb-lzone.
ls_partner-vat_reg_no = ls_vb-stceg.
APPEND ls_partner to lt_partners.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
salesdocument = ls_vb-vbeln
order_header_inx = ls_bapisdh1x
TABLES
return = lt_return
PARTNERS = lt_partners.
simone.milesi somehow I managed to make it work by filling only the partners and not partner changes table in the bapi .are you saying this is wrong and I should make the changes in the save?
2022 Mar 29 9:44 AM
It is really strange to update a business table without using a business transaction to do it.
2022 Mar 29 9:47 AM
I want to insert a record for a different partner but not update any record. frdric.girod
2022 Mar 29 9:49 AM
You change the content of the table as you create a new entry. Are you sure SAP do nothing when a new partner is inserted ? sure ?
2022 Mar 29 9:52 AM
no idea what it does. I've just been assigned this task. frdric.girod
2022 Mar 29 9:54 AM
did you try BAPI_SALESORDER_CHANGE ? (tables PARTNER_CHANGES )
2022 Mar 29 9:56 AM
2022 Mar 29 11:52 AM
dont know why it says
I'm filling:
ls_bapisdh1x-updateflag = 'U'.
ls_bapisdh1x-SALES_ORG = 'X'.
ls_bapisdh1x-DISTR_CHAN = 'X'.
ls_bapisdh1x-DIVISION = 'X'.
ls_bapisdh1x-PURCH_NO_C = 'X'.
ls_bapisdh1x-CUST_GROUP = 'X'.ls_partnerchanges-DOCUMENT = ls_vb-vbeln.
ls_partnerchanges-DOCUMENT = ls_vb-vbeln.am I missing anything?
frdric.girod
2022 Mar 29 12:12 PM
when you have structure like ls_bapisdh1x, it is to indicate what you would like to change. For me you should not populate it
2022 Mar 29 1:14 PM
frdric.girod this is a must ls_bapisdh1x-updateflag = 'U'. but for some reason there are
dont know why
2022 Mar 29 1:31 PM
Hello Jonathan,
let's do a step back: why do you need that additional record? To save it in the invoice?
In this case you should work at the SAVE event instead that in creation.
Simone
2022 Mar 29 1:40 PM
simone.milesi somehow I managed to make it work by filling only the partners and not partner changes table in the bapi .are you saying this is wrong and I should make the changes in the save?
2022 Mar 29 1:48 PM
thank you frdric.girod somehow I managed to make it work. if you post the asnwer with the bapi I will accept as an answer.
The changes should have been made in vf01,so its okay.
thank you everyone
2022 Mar 29 1:49 PM
2022 Mar 29 3:18 PM
To add change the partner you add one with the following code. Dont forget to BAPI_TRANSACTION_COMMIT
ls_bapisdh1x-updateflag = 'U'.
ls_partner-partn_role = ls_vb-parvw.
ls_partner-partn_numb = ls_vb-kunnr.
ls_partner-itm_number = ls_vb-posnr.
ls_partner-unload_pt = ls_vb-ablad.
ls_partner-country = ls_vb-land1.
ls_partner-address = ls_vb-adrnr.
ls_partner-priv_addr = ls_vb-adrnp.
ls_partner-transpzone = ls_vb-lzone.
ls_partner-vat_reg_no = ls_vb-stceg.
APPEND ls_partner to lt_partners.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
salesdocument = ls_vb-vbeln
order_header_inx = ls_bapisdh1x
TABLES
return = lt_return
PARTNERS = lt_partners.
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |