02-11-2007 7:48 AM
Hi All,
I have to change the tax jurisdiction code for Ship to Party to Ship from party(Delivering Plant) while creating the sales order. Can anyone tell me how to proceed using User-exit.
Thanks in advance.
Regards,
Shankar
02-12-2007 9:19 AM
Hi ,
Try one of this in userexit MV45AFZB
ORM USEREXIT_MOVE_FIELD_TO_VBAPKOM.
VBAP-zzfield = US_VBAPKOM-zzfield2.
ENDFORM.
*eject
&----
*& Form USEREXIT_MOVE_FIELD_TO_VBEPKOM
&----
This userexit can be used to move additional fields into the *
sales document schedule line workarea VBEP *
*
SVBEP-TABIX = 0: Create schedule line *
SVBEP-TABIX > 0: Change schedule line *
*
This form is called at the end of form VBEP_FUELLEN_VBEPKOM. *
*
----
FORM USEREXIT_MOVE_FIELD_TO_VBEPKOM.
VBEP-zzfield = US_VBEPKOM-zzfield2.
ENDFORM.
You can read table xvbpa in userexit MV45AFZZ in form save_document_prepare .
Please reward if useful.
02-13-2007 10:08 AM
Hi All,
I am calling the BAPI "BAPI_SALESORDER_CHANGE" in the user exit V45A0003 to change the Tax Jurisdiction Code . The problem is I can see the changed Tax Jurisdisdiction Code in Display mode of sales order. But the changes are not seen when I go to Change Mode (VA02). Can anyone tell me what the problem is. Also the sales order line item is not updating when I call the BAPI_TRANSACTION_COMMIT. If I remove the commit, it is updating , but I can see the changes only in Display mode.
Please help me with your valuable suggestions.
Here is the following code:
----
INCLUDE ZXVVAU05 *
----
*Declarations
DATA: salesd LIKE bapivbeln-vbeln.
DATA: it_bapisdh1 TYPE bapisdh1.
DATA: it_bapisdh1x TYPE bapisdh1x.
DATA: it_bapiret2 TYPE bapiret2 OCCURS 0 WITH HEADER LINE.
DATA: it_bapiparnrc TYPE bapiparnrc OCCURS 0 WITH HEADER LINE.
DATA: it_bapisditmx TYPE bapisditmx OCCURS 0 WITH HEADER LINE.
DATA: it_bapisditm TYPE STANDARD TABLE OF bapisditm WITH HEADER LINE.
DATA partneraddresses LIKE bapiaddr1 OCCURS 0 WITH HEADER LINE.
DATA: it_kna1 TYPE STANDARD TABLE OF kna1 WITH HEADER LINE.
DATA: wa_kna1 LIKE LINE OF it_kna1.
LOOP AT xvbap.
SELECT SINGLE * FROM kna1 INTO CORRESPONDING FIELDS OF wa_kna1 WHERE
kunnr = xkomk-kunwe.
it_bapisdh1x-updateflag = 'U'.
it_bapiparnrc-document = xvbak-vbeln.
it_bapiparnrc-itm_number = xvbap-posnr.
it_bapiparnrc-updateflag = 'U'.
it_bapiparnrc-partn_role = 'WE'.
it_bapiparnrc-p_numb_old = xkomk-kunwe.
it_bapiparnrc-p_numb_new = xkomk-kunwe.
it_bapiparnrc-addr_link = wa_kna1-adrnr.
APPEND it_bapiparnrc.
partneraddresses-addr_no = wa_kna1-adrnr.
partneraddresses-name = wa_kna1-name1.
partneraddresses-street = wa_kna1-stras.
partneraddresses-name_2 = wa_kna1-name2.
partneraddresses-city = wa_kna1-ort01.
partneraddresses-country = wa_kna1-land1.
partneraddresses-postl_cod1 = wa_kna1-pstlz.
partneraddresses-langu = wa_kna1-spras.
**PARTNERADDRESSES-REGION = 'CA'.
partneraddresses-taxjurcode = 'IN8000000'.
APPEND partneraddresses. CLEAR partneraddresses.
it_bapisditmx-itm_number = xvbap-posnr.
it_bapisditmx-updateflag = 'U'.
salesd = xvbak-vbeln.
ENDLOOP.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE' IN BACKGROUND TASK
EXPORTING
salesdocument = salesd
order_header_in = it_bapisdh1
order_header_inx = it_bapisdh1x
simulation =
behave_when_error = ' '
int_number_assignment = ' '
logic_switch =
tables
order_item_in = it_bapisditm
order_item_inx = it_bapisditmx
partners = it_bapiparnr
return = it_bapiret2
partnerchanges = it_bapiparnrc
partneraddresses = partneraddresses
order_cfgs_ref =
order_cfgs_inst =
order_cfgs_part_of =
order_cfgs_value =
order_cfgs_blob =
order_cfgs_vk =
order_cfgs_refinst =
schedule_lines =
schedule_linesx =
order_text =
order_keys =
conditions_in =
conditions_inx =
extensionin =
.
IF sy-subrc = 0.
BREAK-POINT.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'. "in background task.
EXPORTING
wait = 'X'.
IMPORTING
RETURN =
*ENDIF.
ENDIF.