
METHOD if_ex_crm_mkt_exp_camp_dat~export_campaign_data.
DATA(bol_core) = cl_crm_bol_core=>get_instance( ).
bol_core->start_up( iv_appl_name = |ALL| ).
DATA(target_group) = bol_core->get_root_entity( iv_object_name = |SEGTg|
iv_object_guid = is_targetgrp-targetgrp_guid ).
DATA(tg_items) = target_group->get_related_entities( iv_relation_name = |SEGTgTgItemRel| ).
DATA(tg_iterator) = tg_items->get_iterator( ).
DATA(tg_item) = tg_iterator->get_first( ).
WHILE tg_item IS BOUND.
DATA(i_objects) = tg_item->get_related_entities( iv_relation_name = |SEGTgItemIObjectRel| ).
DATA(i_object_iterator) = i_objects->get_iterator( ).
DATA(i_object) = i_object_iterator->get_first( ).
WHILE i_object IS BOUND.
me->create_quote(
i_tg_item = tg_item
i_i_object = i_object ).
"me->print_quote( ).
i_object = i_object_iterator->get_next( ).
ENDWHILE.
tg_item = tg_iterator->get_next( ).
ENDWHILE.
ENDMETHOD.
METHOD create_quote.
DATA(pod) = cl_crm_bol_core=>get_instance( )->get_root_entity(
EXPORTING
iv_object_name = |PointOfDelivery|
iv_object_guid = CONV #( i_i_object->get_property_as_string( iv_attr_name = |IOBJECT_GUID| ) ) ).
DATA(division) = pod->get_property_as_string( iv_attr_name = |PD_SPARTE| ).
IF division = |01|.
DATA(proc_mgr) = cl_crm_iu_process_mgr=>get_instance( profile_id = zc_crm_if_xx_constants=>profil_pmgr ).
CHECK proc_mgr IS BOUND.
DATA(proc_context) = proc_mgr->get_context( definition_id = zcl_im_c_crm_im_mkt_oc_cq=>process_definition
category_id = zcl_im_c_crm_im_mkt_oc_cq=>process_category ).
proc_context->set_container_value( name = 'PARTNER'
value = i_tg_item->get_property_as_string( iv_attr_name = |PARTNER| ) ).
proc_mgr->is_executable( definition_id = zcl_im_c_crm_im_mkt_oc_cq=>process_definition ).
proc_mgr->start(
EXPORTING
definition_id = zcl_im_c_crm_im_mkt_oc_cq=>process_definition
category_id = zcl_im_c_crm_im_mkt_oc_cq=>process_category ).
DATA(item_guid) = proc_mgr->add_item( ).
cl_system_uuid=>convert_uuid_c32_static(
EXPORTING
uuid = CONV #( i_i_object->get_property_as_string( iv_attr_name = |IOBJECT_GUID| ) )
IMPORTING
uuid_c22 = DATA(pod_guid) ).
cl_crm_isu_order_change=>set_pod( iv_guid = item_guid
iv_pod_guid = pod_guid ).
"Product should be read from campaign and should not be hard coded
cl_crm_isu_order_change=>set_product( iv_guid = item_guid
iv_ordered_prod = |S_GV| ).
proc_mgr->finish(
EXPORTING
definition_id = zcl_im_c_crm_im_mkt_oc_cq=>process_definition
category_id = zcl_im_c_crm_im_mkt_oc_cq=>process_category
IMPORTING
objects_to_be_saved = DATA(objects_to_be_saved) ).
DATA(transaction) = cl_crm_bol_core=>get_instance( )->get_transaction( ).
IF transaction->check_save_needed( ) EQ abap_true.
IF transaction->check_save_possible( ) EQ abap_true.
IF transaction->save( ) EQ abap_true.
transaction->commit( ).
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDMETHOD.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.