report ztest001.
parameters:
pa_objid type crmt_object_id,
pa_attxt type string
default 'Hi there, folks !'
lower case.
data:
lv_object_id type crmt_object_id,
lv_content_s type string,
lr_core type ref to cl_crm_bol_core,
lr_factory type ref to cl_crm_bol_entity_factory,
lv_header_guid type crmt_object_guid,
lt_params type crmt_name_value_pair_tab,
ls_params type crmt_name_value_pair,
lr_cmbo type ref to cl_crm_bol_entity,
lr_cmdocument type ref to cl_crm_bol_entity,
lv_content_length type i,
lv_content_length_s type string,
lv_content_utf8 type string,
lr_transaction type ref to if_bol_transaction_context.
lv_object_id = pa_objid.
lv_content_s = pa_attxt.
call function 'CRM_ORDER_CONVERT_DOCNUMBER'
exporting
iv_object_id = lv_object_id
iv_object_type = 'BUS2000126'
importing
ev_header_guid = lv_header_guid
exceptions
others = 1.
SELECT SINGLE GUID INTO LV_HEADER_GUID FROM CRMD_ORDERADM_H WHERE OBJECT_ID = LV_OBJECT_ID.
if sy-subrc is initial.
lr_core = cl_crm_bol_core=>get_instance( ).
if lr_core is bound.
if lr_core->get_entity_manager( ) is not bound.
" only if running outside of WebUI: start BOL core for comp. set CM
try.
lr_core->start_up( iv_appl_name = 'CM'
iv_display_mode_support = abap_false ).
catch:
cx_crm_genil_general_error.
endtry.
endif.
lr_factory = lr_core->get_entity_factory( 'CMBO' ).
if lr_factory is bound.
ls_params-name = 'INSTID'.
ls_params-value = lv_header_guid. "- order header GUID
append ls_params to lt_params.
ls_params-name = 'TYPEID'.
ls_params-value = 'BUS2000116'.
append ls_params to lt_params.
ls_params-name = 'CATID'.
ls_params-value = 'BO'.
append ls_params to lt_params.
lr_cmbo = lr_factory->create( lt_params ).
if lr_cmbo is bound.
lr_cmdocument
= lr_cmbo->create_related_entity( 'CMBODocumentRefRel' ).
if lr_cmdocument is bound.
" prepare text file content
lv_content_length = strlen( lv_content_s ).
lv_content_length_s = lv_content_length.
lv_content_utf8 = cl_rt_rep_toolkit=>s2xutf8( lv_content_s ).
" set attributes according to structure CRMT_CMIC_DOC_ATTR
lr_cmdocument->set_property_as_string(
iv_attr_name = 'CONTENT'
iv_value = lv_content_utf8 ). "上传内容
lr_cmdocument->set_property_as_string(
iv_attr_name = 'CONTENT_TYPE'
iv_value = 'text/plain' ).
lr_cmdocument->set_property_as_string(
iv_attr_name = 'FILENAME'
iv_value = 'hi there.txt' ).
lr_cmdocument->set_property_as_string(
iv_attr_name = 'FILE_SIZE'
iv_value = lv_content_length_s ).
* lr_cmdocument->set_property(
* iv_attr_name = 'KW_RELATIVE_URL' "上传URL
* iv_value = iv_url-kw_relative_url ).
* lr_cmdocument->set_property(
* iv_attr_name = 'CONTENT_URL'
* iv_value = iv_url-content_url ).
lr_core->modify( ).
lr_transaction = lr_cmbo->get_transaction( ).
if lr_transaction->save( ) = abap_true.
lr_transaction->commit( ).
write: / 'attachment OK'.
else.
lr_transaction->rollback( ).
write: / 'document attachment failed'.
endif.
endif.
endif.
endif.
endif.
endif.
阅读(822) | 评论(0) | 转发(0) |