" " " " "**********************change list************************* "20170302 andylee for bol test " " " " REPORT ylytest02. "data defination DATA lr_core TYPE REF TO cl_crm_bol_core. DATA:gv_is_started TYPE abap_bool. DATA:gv_guid TYPE crmt_object_guid VALUE 'B083FEDE53F91EE6BE9C205CA3BED5E1'."order:8000001091 DATA:lr_root_entity TYPE REF TO cl_crm_bol_entity. DATA:lr_order_h TYPE REF TO cl_crm_bol_entity. DATA:ls_order_h TYPE crmst_adminh_btil. DATA:lr_textset TYPE REF TO cl_crm_bol_entity. DATA:lr_textall TYPE REF TO cl_crm_bol_entity. DATA:lr_text TYPE REF TO if_bol_entity_col. DATA:lr_iter TYPE REF TO if_bol_bo_col_iterator. DATA:ls_textall TYPE crmst_text_btil. DATA:lv_trans TYPE REF TO if_bol_transaction_context. DATA:lv_text TYPE string VALUE 'text'. FIELD-SYMBOLS:<text> TYPE any. **************************************************activity DATA:lr_activity_h TYPE REF TO cl_crm_bol_entity. DATA:ls_activity_h TYPE crmst_activityh_btil. **************************************************activity "get instance lr_core = cl_crm_bol_core=>get_instance( ). "check the bol instance is initial gv_is_started = cl_crm_bol_core=>check_is_started( ). "if instance is not initial,get initial IF gv_is_started EQ abap_false. lr_core->start_up( 'BT' ). ENDIF. "get root entity CHECK lr_core IS BOUND. lr_root_entity = lr_core->get_root_entity( iv_object_name = 'BTOrder' iv_object_guid = gv_guid ). CHECK lr_root_entity IS BOUND. "get order head entity lr_order_h = lr_root_entity->get_related_entity( iv_relation_name = 'BTOrderHeader' ). ******************************长文本处理********************************* begin "get order head data CHECK lr_order_h IS BOUND. lr_order_h->if_bol_bo_property_access~get_properties( IMPORTING es_attributes = ls_order_h ). lr_textset = lr_order_h->get_related_entity( iv_relation_name = 'BTHeaderTextSet' ). "get texthall entity CHECK lr_textset IS BOUND. lr_textall = lr_textset->get_related_entity( iv_relation_name = 'BTTextHAll' ). IF lr_textall IS NOT BOUND. "create textall entity lr_textall = lr_textset->create_related_entity( iv_relation_name = 'BTTextHAll' ). IF lr_textall->is_changeable( ) = abap_true. lr_textall->if_bol_bo_property_access~get_properties( IMPORTING es_attributes = ls_textall ). ls_textall-tdobject = 'CRM_ORDERH' . ls_textall-tdname = gv_guid . ls_textall-tdid = 'A002'. ls_textall-tdspras = sy-langu . lr_textall->if_bol_bo_property_access~set_properties( is_attributes = ls_textall ). ASSIGN lv_text TO <text>. lr_textall->if_bol_bo_property_access~set_property( iv_attr_name = 'CONC_LINES' iv_value = <text> ). ENDIF. ELSE. lr_text = lr_textset->get_related_entities( iv_relation_name = 'BTTextHAll' ). lr_iter = lr_text->if_bol_bo_col~get_iterator( ). IF lr_iter IS BOUND. lr_text ?= lr_iter->find_by_property( EXPORTING iv_attr_name = 'TDID' iv_value = 'A002' ). ENDIF. ASSIGN lv_text TO <text>. lr_textall->if_bol_bo_property_access~set_property( iv_attr_name = 'CONC_LINES' iv_value = <text> ). ENDIF. ******************************长文本处理*********************************end ******************************activity*********************************begin lr_activity_h = lr_order_h->get_related_entity( iv_relation_name = 'BTHeaderActivityExt' ). CHECK lr_activity_h IS BOUND. lr_activity_h->if_bol_bo_property_access~get_properties( IMPORTING es_attributes = ls_activity_h ). WRITE ls_activity_h-priority. ******************************activity*********************************end "modify core entity all. lr_core->modify( ). lv_trans = lr_core->get_transaction( ). lv_trans->save( ). lv_trans->commit( ).