Хотите автоматически создавать расширение кредитора на БЕ при синхронизации с деловыми партнерами? Вот вам! Код кривой, но лучше у меня нет времени и терпения 🙂 Кто поправит до красивого буду крайне благодарен! Это образец и только для моих нужд, адаптируйте. Надо сделать кнопочку Donate для пожертвований. Около 5 часов убил, чтобы найти где и как это сделать. Пожертвовали бы?
Реализуем BADI с таким интерфейсом IF_EX_CVI_CUSTOM_MAPPER~MAP_BP_TO_VENDOR
BADi искать тут: IMG — Cross-Application Components — Master Data Synchronization — Customer/Vendor Integration — Business Partner Settings — Business Add-Ins (BAdIS).
method IF_EX_CVI_CUSTOM_MAPPER~MAP_BP_TO_VENDOR.
DATA:
l_pernr type pernr-pernr,
lt_p0001 type table of p0001,
wa_p0001 type p0001,
ls_company_data type VMDS_EI_COMPANY,
l_task TYPE VMD_EI_COMPANY_TASK,
l_bank_detail type BUS_EI_BUPA_BANKDETAIL.
l_pernr = i_partner-header-object_instance-bpartner.
CALL FUNCTION ‘HR_READ_INFOTYPE’
EXPORTING
pernr = l_pernr
infty = ‘0001’
tables
infty_tab = lt_p0001
.
IF sy-subrc <> 0.
exit.
ENDIF.
loop at lt_p0001 into wa_p0001.
clear ls_company_data.
l_task = ‘M’.
ls_company_data-task = l_task.
ls_company_data-data_key-bukrs = wa_p0001-bukrs.
ls_company_data-data-akont = ‘0000210110’.
ls_company_data-datax-akont = ‘X’.
» Set payment method
ls_company_data-data-zwels = ‘C’. » Default
loop at i_partner-central_data-bankdetail-bankdetails into l_bank_detail.
if l_bank_detail-data-bank_acct IS NOT INITIAL.
ls_company_data-data-zwels = ‘P’.
exit.
endif.
endloop.
ls_company_data-datax-zwels = ‘X’.
ls_company_data-data-zterm = ‘NT00’.
ls_company_data-datax-zterm = ‘X’.
ls_company_data-data-hbkid = ‘HUNTG’.
ls_company_data-datax-hbkid = ‘X’.
ls_company_data-data-pernr = l_pernr.
ls_company_data-datax-pernr = ‘X’.
append ls_company_data to c_vendor-company_data-company.
endloop.
endmethod.
2 комментария
Maulen Abuov
бади активировал, в ней поставил брейкпойнт… но при создании БП через hralxsync в бряке не останваливается. Может каких-то настроек присвоения ролей не хватает?
VirVit
А через mda_cockpit или как-то так транзакция называется