I want to change STCEG. I am using cmd_ei_api=>maintain_bapi . But its returning ERROR and I have no idea why:
Errors:
1 E CVI_API 011 VAT registration number was already edited for country SK 000000 SK
2 E CVI_API 007 Country: Plausibility check failed 000000 Country
wa_vat-task = c_update.
wa_vat-DATA_KEY-LAND1 = 'SK'.
wa_vat-data-STCEG = data_tab-stceg.
wa_vat-datax-STCEG = 'X'.
wa_central-data-STCEG = data_tab-stceg.
wa_central-datax-STCEG = 'X'.
append wa_vat to wa_vat_t.
wa_VAT_NUMBER-CURRENT_STATE = c_update.
wa_VAT_NUMBER-VAT_NUMBERS = wa_vat_t.
wa_central_dt-central = wa_central.
wa_central_dt-VAT_NUMBER = wa_VAT_NUMBER.
wa_customer-CENTRAL_DATA = wa_central_dt.
wa_customer-HEADER-OBJECT_TASK = c_update.
wa_customer-central_data-address-TASK = c_update.
wa_customer-central_data-address-postal-data = wa_address.
wa_customer-central_data-address-postal-datax = wa_addressx.
append wa_customer to wa_customers-customers.
CALL METHOD cmd_ei_api=>maintain_bapi
EXPORTING
is_master_data = wa_customers
IMPORTING
ES_MASTER_DATA_CORRECT = wa_correct
ES_MESSAGE_CORRECT = wa_mes_correct
ES_MASTER_DATA_DEFECTIVE = wa_defective
ES_MESSAGE_DEFECTIVE = wa_mes_error.
if wa_mes_error-is_error is initial.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' .
endif.
PS: Do you have any other idea how to change STCEG?
I've been testing and it works for me.
DATA: li_customer TYPE cmds_ei_extern_t,
le_customer TYPE cmds_ei_extern,
le_central TYPE cmds_ei_cmd_central,
le_address TYPE cvis_ei_address1.
DATA: le_cmds_extern TYPE cmds_ei_main,
le_succ_messages TYPE cvis_message,
le_cmds_error TYPE cmds_ei_main,
le_err_messages TYPE cvis_message,
le_cmds_succ TYPE cmds_ei_main.
le_customer-header-object_task = 'U'. "Represents update
le_customer-header-object_instance-kunnr = '0003008143'.
le_address-postal-data-country = 'ES'."PAIS
le_address-postal-data-langu = sy-langu."IDIOMA.
le_address-postal-datax-country = abap_true.".'X'.
le_address-postal-datax-langu = abap_true.".'X'.
le_address-task = abap_true.".'X'.
le_customer-central_data-address = le_address.
le_central-data-stcd1 = '39603179P'."'NIF'.
le_central-datax-stcd1 = 'X'.
le_central-data-stceg = 'ES39603179P'. "NIF COMUNITARIO.
le_central-datax-stceg = 'X'.
le_customer-central_data-central = le_central.
APPEND le_customer TO li_customer.
le_cmds_extern-customers = li_customer[].
cmd_ei_api=>initialize( ).
CALL METHOD cmd_ei_api=>maintain_bapi
EXPORTING
* iv_test_run = 'X'
* iv_collect_messages = 'X'
is_master_data = le_cmds_extern
IMPORTING
es_master_data_correct = le_cmds_succ
es_message_correct = le_succ_messages
es_master_data_defective = le_cmds_error
es_message_defective = le_err_messages.
IF le_err_messages-is_error IS INITIAL.
BREAK-POINT.
COMMIT WORK.
ELSE.
BREAK-POINT.
ENDIF.
I have looked at the table KNA1 and make changes to STCEG