Получение значения сущности BOL очень похожа на то, как мы можем просмотреть ее при помощи Транзакции CRM_ISU_BOL_BROWSER.
Примерно тоже самое делаем в коде:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
DATA lt_ext TYPE crmt_extension2_wrkt. cl_crm_bol_core=>get_instance( )->start_up( 'BT' ). DATA(lrc_query) = cl_crm_bol_dquery_service=>get_instance( 'BTQAICSearch' ). lrc_query->add_selection_param( iv_attr_name = 'OBJECT_ID' iv_sign = 'I' " iv_option = 'EQ' iv_low = CONV #( '8100000271') iv_high = '' ). DATA(lrc_col_res) = lrc_query->get_result( ). IF lrc_col_res IS NOT BOUND. RETURN. ENDIF. DATA(lrc_entry_res) = CAST cl_crm_bol_entity( lrc_col_res->get_first( ) ). “Получаем конкретные поля TRY. DATA(lv_guid) = lrc_entry_res->get_property_as_string( iv_attr_name = 'GUID' ). DATA(lv_description) = lrc_entry_res->get_property_as_string( iv_attr_name = 'DESCRIPTION' ). DATA(lv_manager) = lrc_entry_res->get_property_as_string('CONTACT_PERSON_LIST' ). CATCH cx_root. ENDTRY. |
Чтобы получить данные из расширения немного дополним:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
CONSTANTS mc_segm_cust_fields TYPE crmt_object_name VALUE 'ZA*имя_расширения'. "#EC NOTEXT IF lv_guid IS NOT INITIAL. CALL FUNCTION 'CRM_ORDER_READ' EXPORTING it_header_guid = VALUE crmt_object_guid_tab( ( CONV #( lv_guid ) ) ) it_requested_objects = VALUE crmt_object_name_tab( ( mc_segm_cust_fields ) ) IMPORTING et_extension2 = lt_ext EXCEPTIONS OTHERS = 1. TRY. DATA lt_cust TYPE SORTED TABLE OF zsb_sm_cmcr_h_work WITH UNIQUE KEY object_id. DATA(lr_cust) = lt_ext[ object = mc_segm_cust_fields ]-data. ASSIGN lr_cust->* TO FIELD-SYMBOL(<lt_cust>). MOVE-CORRESPONDING <lt_cust> TO lt_cust. DATA(lv_field) = lt_cust[ 1 ]-zz_field. CATCH cx_root. ENDTRY. ENDIF. |