|
Using Supplier Lifecycle and Performance integration with Master Data Governance, why is my Business Partner not being created in S4Hana?
The most likely cause of this is due to key mappings specified in S4Hana not being maintained in Ariba. Make sure that your key mappings also exist as field mappings in the SLP system.
Example entry to the file (case sensitive):
name,value
vendor.vendorInfoExt.reconciliationPeriodCounterValue,1
To narrow down the root cause/missing key, you can implement the following correction instructions in S4Hana:
*$*$----------------------------------------------------------------$*$*
*$ Correction Inst. 0020751258 0000749733 $*
*$ Req. Corr. Instructions 0020751258 0000567743 Note 0002802616 $*
*$--------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component S4CORE $*
*$ Release 103 To SAPK-10304INS4CORE $*
*$*$----------------------------------------------------------------$*$*
*&--------------------------------------------------------------------*
*& Object METH CL_MDG_BUPA_ECC_CU_MAPPING
*& MAP_CUSTOMER_DATA_IN
*& Object Header CLAS CL_MDG_BUPA_ECC_CU_MAPPING
*&--------------------------------------------------------------------*
...
cmd_mltas_api=>get_instance( )->get_list_mltas(
EXPORTING
iv_partner = |{ is_bp_proxy-receiver_internal_id ALPHA = IN }|
iv_assignment_cat = if_cmd_mltas_constants=>gc_as_cat_cust
IMPORTING
et_mlt_as = DATA(lt_mlt_as_db) ).
*>>>> START OF DELETION <<<<<
IF NOT line_exists( lt_mlt_as_db[ object_id = ls_customer-header-object_instance-kunnr ] ).
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
IF lt_mlt_as_db IS NOT INITIAL.
IF NOT line_exists( lt_mlt_as_db[ object_id = ls_customer-header-object_instance-kunnr ] ).
*>>>> END OF INSERTION <<<<<<
...
"customer doesn't correspond with the BP, this can be an inconsistency
"or it should be handled as a creation (e.g. due to a consolidation process)
CLEAR ls_customer-header-object_instance-kunnr.
*>>>> START OF DELETION <<<<<
ENDIF.
ENDIF.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
ENDIF.
ELSE. "check if customer is in the CVI-Link table
CALL METHOD cvi_ka_bp_customer=>get_instance( )->get_assigned_customer_for_bp(
EXPORTING
i_partner = iv_bp_guid
RECEIVING
r_customer = DATA(lv_std_customer)
EXCEPTIONS
OTHERS = 1 ).
IF |{ lv_std_customer ALPHA = IN }| <> |{ ls_customer-header-object_instance-kunnr ALPHA = IN }|
OR sy-subrc <> 0.
CLEAR ls_customer-header-object_instance-kunnr.
ENDIF.
ENDIF.
ENDIF.
*>>>> END OF INSERTION <<<<<<
...
*&--------------------------------------------------------------------*
*&--------------------------------------------------------------------*
*& Object METH CL_MDG_BUPA_ECC_MAPPING
*& MAP_SUP_HEADER_IN
*& Object Header CLAS CL_MDG_BUPA_ECC_MAPPING
*&--------------------------------------------------------------------*
...
cmd_mltas_api=>get_instance( )->get_list_mltas(
EXPORTING
iv_partner = |{ is_bp_proxy-receiver_internal_id ALPHA = IN }|
iv_assignment_cat = if_cmd_mltas_constants=>gc_as_cat_suppl
IMPORTING
et_mlt_as = DATA(lt_mlt_as_db) ).
*>>>> START OF DELETION <<<<<
IF NOT line_exists( lt_mlt_as_db[ object_id = cs_supplier-header-object_instance-lifnr ] ).
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
IF lt_mlt_as_db IS NOT INITIAL.
IF NOT line_exists( lt_mlt_as_db[ object_id = cs_supplier-header-object_instance-lifnr ] ).
*>>>> END OF INSERTION <<<<<<
...
"supplier doesn't correspond with the BP, this can be an inconsistency
"or it should be handled as a creation (e.g. due to a consolidation process)
CLEAR cs_supplier-header-object_instance-lifnr.
*>>>> START OF DELETION <<<<<
ENDIF.
ENDIF.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
ENDIF.
ELSE. "check if supplier is in the CVI-Link table
DATA lv_partner_guid TYPE bu_partner_guid.
CALL FUNCTION 'BUPA_NUMBERS_GET'
EXPORTING
IV_PARTNER = is_bp_proxy-receiver_internal_id
IMPORTING
EV_PARTNER_GUID = lv_partner_guid.
CALL METHOD cvi_ka_bp_vendor=>get_instance( )->get_assigned_vendor_for_bp(
EXPORTING
i_partner = lv_partner_guid
RECEIVING
r_vendor = DATA(lv_std_vendor)
EXCEPTIONS
OTHERS = 1 ).
IF |{ lv_std_vendor ALPHA = IN }| <> |{ cs_supplier-header-object_instance-lifnr ALPHA = IN }|
OR sy-subrc <> 0.
CLEAR cs_supplier-header-object_instance-lifnr.
ENDIF.
ENDIF.
ENDIF.
*>>>> END OF INSERTION <<<<<<
...
*&--------------------------------------------------------------------*
*$*$----------------------------------------------------------------$*$*
*$ Correction Inst. 0020751258 0000749886 $*
*$--------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component S4CORE $*
*$ Release 104 To SAPK-10402INS4CORE $*
*$*$----------------------------------------------------------------$*$*
*&--------------------------------------------------------------------*
*& Object METH CL_MDG_BUPA_ECC_CU_MAPPING
*& MAP_CUSTOMER_DATA_IN
*& Object Header CLAS CL_MDG_BUPA_ECC_CU_MAPPING
*&--------------------------------------------------------------------*
...
cmd_mltas_api=>get_instance( )->get_list_mltas(
EXPORTING
iv_partner = |{ is_bp_proxy-receiver_internal_id ALPHA = IN }|
iv_assignment_cat = if_cmd_mltas_constants=>gc_as_cat_cust
IMPORTING
et_mlt_as = DATA(lt_mlt_as_db) ).
*>>>> START OF DELETION <<<<<
IF NOT line_exists( lt_mlt_as_db[ object_id = ls_customer-header-object_instance-kunnr ] ).
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
IF lt_mlt_as_db IS NOT INITIAL.
IF NOT line_exists( lt_mlt_as_db[ object_id = ls_customer-header-object_instance-kunnr ] ).
*>>>> END OF INSERTION <<<<<<
...
"customer doesn't correspond with the BP, this can be an inconsistency
"or it should be handled as a creation (e.g. due to a consolidation process)
CLEAR ls_customer-header-object_instance-kunnr.
*>>>> START OF DELETION <<<<<
ENDIF.
ENDIF.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
ENDIF.
ELSE. "check if customer is in the CVI-Link table
CALL METHOD cvi_ka_bp_customer=>get_instance( )->get_assigned_customer_for_bp(
EXPORTING
i_partner = iv_bp_guid
RECEIVING
r_customer = DATA(lv_std_customer)
EXCEPTIONS
OTHERS = 1 ).
IF |{ lv_std_customer ALPHA = IN }| <> |{ ls_customer-header-object_instance-kunnr ALPHA = IN }|
OR sy-subrc <> 0.
CLEAR ls_customer-header-object_instance-kunnr.
ENDIF.
ENDIF.
ENDIF.
*>>>> END OF INSERTION <<<<<<
...
*&--------------------------------------------------------------------*
*&--------------------------------------------------------------------*
*& Object METH CL_MDG_BUPA_ECC_MAPPING
*& MAP_SUP_HEADER_IN
*& Object Header CLAS CL_MDG_BUPA_ECC_MAPPING
*&--------------------------------------------------------------------*
...
cmd_mltas_api=>get_instance( )->get_list_mltas(
EXPORTING
iv_partner = |{ is_bp_proxy-receiver_internal_id ALPHA = IN }|
iv_assignment_cat = if_cmd_mltas_constants=>gc_as_cat_suppl
IMPORTING
et_mlt_as = DATA(lt_mlt_as_db) ).
*>>>> START OF DELETION <<<<<
IF NOT line_exists( lt_mlt_as_db[ object_id = cs_supplier-header-object_instance-lifnr ] ).
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
IF lt_mlt_as_db IS NOT INITIAL.
IF NOT line_exists( lt_mlt_as_db[ object_id = cs_supplier-header-object_instance-lifnr ] ).
*>>>> END OF INSERTION <<<<<<
...
"supplier doesn't correspond with the BP, this can be an inconsistency
"or it should be handled as a creation (e.g. due to a consolidation process)
CLEAR cs_supplier-header-object_instance-lifnr.
*>>>> START OF DELETION <<<<<
ENDIF.
ENDIF.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
ENDIF.
ELSE. "check if supplier is in the CVI-Link table
DATA lv_partner_guid TYPE bu_partner_guid.
CALL FUNCTION 'BUPA_NUMBERS_GET'
EXPORTING
IV_PARTNER = is_bp_proxy-receiver_internal_id
IMPORTING
EV_PARTNER_GUID = lv_partner_guid.
CALL METHOD cvi_ka_bp_vendor=>get_instance( )->get_assigned_vendor_for_bp(
EXPORTING
i_partner = lv_partner_guid
RECEIVING
r_vendor = DATA(lv_std_vendor)
EXCEPTIONS
OTHERS = 1 ).
IF |{ lv_std_vendor ALPHA = IN }| <> |{ cs_supplier-header-object_instance-lifnr ALPHA = IN }|
OR sy-subrc <> 0.
CLEAR cs_supplier-header-object_instance-lifnr.
ENDIF.
ENDIF.
ENDIF.
*>>>> END OF INSERTION <<<<<<
...
*&--------------------------------------------------------------------*
Supplier Lifecycle & Performance