将业务对象添加到联系人

Add business objects to contacts

我已使用以下函数在 SAP IS-U(版本 618)系统中成功创建联系人:BCONTACT_CREATE

EDIT:
Since this question was voted "close" for being "too broad" - here's some very specific code:

  DATA:
      ls_contact            TYPE bpc01_bcontact_auto,
      ls_contact_properties TYPE bcont,
      lv_contact_text       TYPE string,
      lv_bp                 TYPE bu_partner,
      lv_bpcontact_id       TYPE ct_contact,
      lv_no_dialog          TYPE flag VALUE abap_true,
      lv_repid              TYPE syst-repid.

*    Main logic
    lv_contact_text = 'Test'.
    lv_bp           = '0010000062'.

    ls_contact_properties-cclass = '0003'.
    ls_contact_properties-activity = '0001'.
    ls_contact_properties-f_coming = '3'.


*  Mapping
*--------------------------------------------------------------------*
    ls_contact-notice-line    = lv_contact_text.
    ls_contact-bcontd         = ls_contact_properties.

* set flag to use auto data
    ls_contact-bcontd_use     = abap_true.
    lv_repid                  = sy-repid.

    CALL FUNCTION 'BCONTACT_CREATE'
      EXPORTING
        x_no_dialog     = lv_no_dialog
        x_auto          = ls_contact
        x_prgcontext    = lv_repid
        x_partner       = lv_bp
      IMPORTING
        y_new_bpcontact = lv_bpcontact_id
      EXCEPTIONS
        existing        = 1
        foreign_lock    = 2
        number_error    = 3
        general_fault   = 4
        input_error     = 5
        not_authorized  = 6
        OTHERS          = 7.

当我在 BCT2 事务中打开创建的联系人时,我在 Business-Objects 下看到什么都没有:

如何以编程方式将业务对象添加到联系人,以便它像这样显示在这里?

我找到了解决方案!

首先为您要添加的业务对象创建变量(一个 table 和一个用于填充 table 的结构)(我看到一些代码限制为 5,所以我只是将其设置为安全):

lt_business_objs      TYPE TABLE OF bpc_obj INITIAL SIZE 5,
ls_business_obj       TYPE bpc_obj,

接下来附加你的对象,在这个例子中我只附加一个:

* Append business objects
*--------------------------------------------------------------------*
ls_business_obj-objkey  = 'The value here may be your business object input value'.
ls_business_obj-objrole = 'DEFAULT'. "Don't know what this is for...
ls_business_obj-objtype = 'OBJECT_NAME'. "Name of your business object - seen in table TOJTB
APPEND ls_business_obj TO lt_business_objs.

最后将对象列表放入联系人结构中:

ls_contact-iobjects       = lt_business_objs.