日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

利用代码生成right scope数据

發布時間:2023/12/19 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用代码生成right scope数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Created by Jerry Wang, last modified on Oct 11, 2014

requirement: 使用代碼為指定contract指定行項目的IP上生成一個新的right scope。
例如為下列contract第二個行項目新生成一個right scope:

在代碼此處指定需要添加right scope的IP index:


report執行完畢之后,UI上能找到用代碼新增的right scope(出現在第二個IP的第四個right scope位置):

REPORT zassign_ip1.PARAMETERS:order TYPE crmd_orderadm_h-object_id OBLIGATORY DEFAULT '5600000010'.DATA: lo_core TYPE REF TO cl_crm_bol_core,lo_collection TYPE REF TO if_bol_entity_col,lv_query_name TYPE crmt_ext_obj_name,lt_selection_parameter TYPE genilt_selection_parameter_tab,ls_selection_parameter TYPE genilt_selection_parameter,ls_query_parameters TYPE genilt_query_parameters.ls_selection_parameter-attr_name = 'OBJECTID'. ls_selection_parameter-option = 'EQ'. ls_selection_parameter-sign = 'I'. ls_selection_parameter-low = order. APPEND ls_selection_parameter TO lt_selection_parameter.ls_query_parameters-max_hits = 1. lv_query_name = 'BTAdvQueryAUI'.lo_core = cl_crm_bol_core=>get_instance( ). lo_core->load_component_set( 'BT' ). lo_core->load_component_set( 'IPMRM' ). lo_collection = lo_core->dquery(iv_query_name = lv_query_nameit_selection_parameters = lt_selection_parameteris_query_parameters = ls_query_parameters ).DATA(lo_contract) = lo_collection->get_current( ). CHECK lo_contract IS NOT INITIAL. DATA: lr_item_handler TYPE REF TO cl_crm_ipm_item_handler. CREATE OBJECT lr_item_handler EXPORTING iv_header_bol_entity = lo_contract.DATA(ips) = lr_item_handler->get_all_ips( ).DATA(second_ip) = ips->find( iv_index = 2 ). CHECK second_ip IS NOT INITIAL. DATA(item_handler) = cl_crm_ipm_item_handler_provid=>get_instance( second_ip ).DATA(wrapped_ip) = cl_crm_ipm_order_item_entity=>get_instance( io_original = second_ip iv_ipm_admini_type = 'IP' ).DATA(new_scope) = item_handler->create_rights_scope( io_admini_entity = wrapped_ipiv_item_group = cl_crm_ipm_contr_scenario_cb=>gc_item_group_rights ).CHECK new_scope IS NOT INITIAL. lo_core->modify( ).DATA(char_scope) = cl_crm_ipm_rights_ui_tools=>create_rights_scope( ir_entity = new_scopeiv_relation = 'BTItemIPMRcharSet' ).CHECK char_scope IS NOT INITIAL. char_scope->switch_to_change_mode( ).char_scope->set_property( iv_attr_name = 'SCOPE_DSC' iv_value = 'fill by code' ).DATA(scope_detail) = char_scope->get_related_entity( 'BTIPMRightGroupAll' ).CHECK scope_detail IS NOT INITIAL.scope_detail->switch_to_change_mode( ). scope_detail->set_property( iv_attr_name = 'RGHTDIM01' iv_value = 'BOOKS' ). scope_detail->set_property( iv_attr_name = 'RGHTDIM01_DSC' iv_value = 'BOOKs' ). scope_detail->set_property( iv_attr_name = 'RGHTDIM02' iv_value = 'NAM' ). scope_detail->set_property( iv_attr_name = 'RGHTDIM02_DSC' iv_value = 'North America' ). scope_detail->set_property( iv_attr_name = 'RGHTDIM03' iv_value = 'DE' ). scope_detail->set_property( iv_attr_name = 'RGHTDIM03_DSC' iv_value = 'German' ).lo_core->modify( ).DATA(lo_transaction) = lo_core->get_transaction( ).CHECK lo_transaction->check_save_possible( ) = abap_true.CHECK lo_transaction->save( ) = abap_true.lo_transaction->commit( ).

總結

以上是生活随笔為你收集整理的利用代码生成right scope数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。