天天看点

SAP CRM Product Interlinkage - Customer Product ID的一个例子

For detail technical introduction about relationship, please refer to this wiki.

The relationship transaction data is maintained in assignment block below:

The data could be read from function module below:

Result stored in this component:

It contains interlinkage guid, source object guid and target guid.

Source guid: FA163EE56C3A1EE69C9B0D4E88D25F12

This guid points to the product:

Target guid: FA163EEF573D1EE4BB948D01BE952F51

This guid points to the customer maintained as relationship target in WebUI:

See the following code about how to read the data of relationship PRDCPN of a given product:

METHOD get_rel_data_by_type.
    DATA: lr_il_data     TYPE REF TO data,
          lt_link_idents TYPE comt_il_ident_tab,
          lt_message     TYPE comt_il_error_tab.

    FIELD-SYMBOLS: <il_data_tab> TYPE ANY TABLE.
    DATA(lv_prod_guid) = get_guid_by_id( iv_prod_id ).

    DATA(ls_rel_meta) = get_rel_meta_data_by_type( iv_rel_type ).

    TRY.
        CREATE DATA lr_il_data
                       TYPE (ls_rel_meta-data_reltype_tab).
      CATCH cx_sy_create_data_error.
        RETURN.
    ENDTRY.
    ASSIGN lr_il_data->* TO <il_data_tab>.

    DATA(ls_il_ident) = VALUE comt_il_ident( sourceguid = lv_prod_guid ).
    APPEND ls_il_ident TO lt_link_idents.
    CALL FUNCTION 'COM_IL_API_READ'
      EXPORTING
        iv_reltype          = iv_rel_type
        it_link_idents      = lt_link_idents
      IMPORTING
        et_interlinkage_all = <il_data_tab>
        et_messages         = lt_message
      EXCEPTIONS
        lock_failed         = 1
        OTHERS              = 2.

    et_data = <il_data_tab>.
  ENDMETHOD.           

Input:

Output:

From the code we can know the fact: unlike product settype design, for each product relationship, there is no dedicated read function module designed, but still each relationship has each own persistence table. The relationship data is generically read out via function module COM_IL_API_READ.

本文来自云栖社区合作伙伴“汪子熙”,了解相关信息可以关注微信公众号"汪子熙"。

继续阅读