2014 Mar 13 8:01 AM
Hi ALL,
I want to change a contract by BAPI_CUSTOMERCONTRACT_CHANGE.
But it is not work when changing a custom field(J_4KRCAT).And there is no error.
I had append the field J_4KRCAT to VAPE_VBAP and VBPE_VBAPX.
how to solve ?
pass parameters code:
DATA: vbeln TYPE vbeln.
DATA: it_return LIKE TABLE OF bapiret2 WITH HEADER LINE.
DATA: wa_contract_header_in TYPE bapisdh1.
DATA: wa_contract_header_inx TYPE bapisdh1x.
DATA: it_contract_partners LIKE TABLE OF bapiparnr WITH HEADER LINE.
DATA: wa_logic_switch LIKE bapisdls.
DATA: it_contract_item_in LIKE TABLE OF bapisditm WITH HEADER LINE.
DATA: it_contract_item_inx LIKE TABLE OF bapisditmx WITH HEADER LINE.
data: BAPE_VBAP like bape_vbap.
data: BAPE_VBAPx like bape_vbapx.
DATA: BAPIPAREX LIKE TABLE OF BAPIPAREX WITH HEADER LINE.
wa_logic_switch-cond_handl = 'X'.
vbeln = '0000001076'.
wa_contract_header_in-ct_valid_f = sy-datum.
wa_contract_header_in-ct_valid_t = '20170101'.
wa_contract_header_inx-ct_valid_f = 'X'.
wa_contract_header_inx-ct_valid_t = 'X'.
wa_contract_header_inx-updateflag = 'U'.
it_contract_item_in-itm_number = '000010'.
it_contract_item_in-material = '000000000010000874'.
it_contract_item_in-prc_group2 = 'T1'.
it_contract_item_in-purch_no_c = 'item 1'.
it_contract_item_in-SALES_UNIT = 'PAA'.
* it_contract_item_in-SHIP_POINT = 'A'.
APPEND it_contract_item_in.
it_contract_item_inx-itm_number = 'X'.
it_contract_item_inx-material = 'X'.
it_contract_item_inx-prc_group2 = 'X'.
it_contract_item_inx-purch_no_c = 'X'.
it_contract_item_inx-SALES_UNIT = 'X'.
* it_contract_item_inX-SHIP_POINT = 'X'.
IT_CONTRACT_ITEM_INX-UPDATEFLAG = 'U'.
APPEND it_contract_item_inx.
* EXTENSIONIN
BAPE_VBAP-VBELN = vbeln.
BAPE_VBAP-POSNR = '000010'.
BAPE_VBAP-J_4KRCAT = 'BURTON'.
BAPIPAREX-STRUCTURE = 'VBPE_VBAP'.
BAPIPAREX+30 = BAPE_VBAP.
APPEND BAPIPAREX.
BAPE_VBAPX-VBELN = vbeln.
BAPE_VBAPX-POSNR = '000010'.
BAPE_VBAPX-J_4KRCAT = 'X'.
BAPIPAREX-STRUCTURE = 'VBPE_VBAPX'.
BAPIPAREX+30 = BAPE_VBAPX.
APPEND BAPIPAREX.
CALL FUNCTION 'BAPI_CUSTOMERCONTRACT_CHANGE'
EXPORTING
salesdocument = vbeln
contract_header_in = wa_contract_header_in
contract_header_inx = wa_contract_header_inx
* SIMULATION =
* BEHAVE_WHEN_ERROR = ' '
* INT_NUMBER_ASSIGNMENT = ' '
logic_switch = wa_logic_switch
* NO_STATUS_BUF_INIT = ' '
TABLES
return = it_return
CONTRACT_ITEM_IN = it_contract_item_in
CONTRACT_ITEM_INX = it_contract_item_inx
* PARTNERS =
* PARTNERCHANGES =
* PARTNERADDRESSES =
* CONDITIONS_IN =
* CONDITIONS_INX =
* CONTRACT_CFGS_REF =
* CONTRACT_CFGS_INST =
* CONTRACT_CFGS_PART_OF =
* CONTRACT_CFGS_VALUE =
* CONTRACT_CFGS_BLOB =
* CONTRACT_CFGS_VK =
* CONTRACT_CFGS_REFINST =
* CONTRACT_TEXT =
* CONTRACT_DATA_IN =
* CONTRACT_DATA_INX =
* CONTRACT_KEYS =
EXTENSIONIN = BAPIPAREX
.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
2014 Mar 13 8:47 AM
Hi,
Why do You fill BAPIPAREX-STRUCTURE = 'VBPE_VBAP' ?
try BAPIPAREX-STRUCTURE = 'BAPE_VBAP'.
Regards,
Jarek
2014 Mar 13 8:47 AM
Hi,
Why do You fill BAPIPAREX-STRUCTURE = 'VBPE_VBAP' ?
try BAPIPAREX-STRUCTURE = 'BAPE_VBAP'.
Regards,
Jarek
2014 Mar 13 9:04 AM
2014 Mar 13 9:13 AM
Should be:
BAPIPAREX-STRUCTURE = 'BAPE_VBAP' and BAPIPAREX-STRUCTURE = 'BAPE_VBAPX' for 'X' table.
You can go to function SD_SALESDOCUMENT_CHANGE, find form ms_move_extensionin and put breakpoint in this form in the begining of LOOP. Try to fund out why Your structure isn't read correctly.
2014 Mar 13 9:30 AM