Расширение кредитора на БЕ из делового партнера

Хотите автоматически создавать расширение кредитора на БЕ при синхронизации с деловыми партнерами? Вот вам! Код кривой, но лучше у меня нет времени и терпения 🙂 Кто поправит до красивого буду крайне благодарен! Это образец и только для моих нужд, адаптируйте. Надо сделать кнопочку 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.

Добавить комментарий