场景:CRM修改BP中的
CRM中该值修改成功,但是接口传到SAP,虽然接口提示修改成功,但是实际上标识号并未修改成功
解决方案:
该CL_MD_BP_MAINTAIN中LS_PARTNER-CENTRAL_DATA-IDENT_NUMBER-IDENT
_NUMBERS中需要对原先的技术标识做删除处理,再更新新的技术标识
"技术标识,修改需要先删除,再更新
CLEAR: LS_IDENT_NUMBERS,LT_IDENT_NUMBERS.
IF LS_CUSTOM-TYPE IS NOT INITIAL AND LS_CUSTOM-IDNUMBER IS NOT INITIAL.
SELECT SINGLE * FROM BUT0ID INTO @DATA(LS_BUT0ID)
WHERE PARTNER = @LS_CUSTOM-PARTNER AND TYPE = @LS_CUSTOM-TYPE.
IF LS_BUT0ID IS NOT INITIAL.
LS_IDENT_NUMBERS-TASK = 'D'.
LS_IDENT_NUMBERS-DATA_KEY-IDENTIFICATIONCATEGORY = LS_CUSTOM-TYPE.
LS_IDENT_NUMBERS-DATA_KEY-IDENTIFICATIONNUMBER = LS_BUT0ID-IDNUMBER.
APPEND LS_IDENT_NUMBERS TO LT_IDENT_NUMBERS.
LS_IDENT_NUMBERS-TASK = 'M'.
LS_IDENT_NUMBERS-DATA_KEY-IDENTIFICATIONCATEGORY = LS_CUSTOM-TYPE.
LS_IDENT_NUMBERS-DATA_KEY-IDENTIFICATIONNUMBER = LS_CUSTOM-IDNUMBER.
APPEND LS_IDENT_NUMBERS TO LT_IDENT_NUMBERS.
ELSE.
LS_IDENT_NUMBERS-TASK = LV_TASK.
LS_IDENT_NUMBERS-DATA_KEY-IDENTIFICATIONCATEGORY = LS_CUSTOM-TYPE.
LS_IDENT_NUMBERS-DATA_KEY-IDENTIFICATIONNUMBER = LS_CUSTOM-IDNUMBER.
APPEND LS_IDENT_NUMBERS TO LT_IDENT_NUMBERS.
ENDIF.
LS_PARTNER-CENTRAL_DATA-IDENT_NUMBER-IDENT_NUMBERS = LT_IDENT_NUMBERS.
ENDIF.