在 cmd_ei_api=>maintain_bapi 中更新 STCEG 错误

Updating STCEG error in cmd_ei_api=>maintain_bapi

我想换STCEG。我正在使用 cmd_ei_api=>maintain_bapi 。但它返回错误,我不知道为什么:

错误:

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:您对如何更改 STCEG 有任何其他想法吗?

我一直在测试,它对我有用。

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.

我查看了 table KNA1 并对 STCEG 进行了更改