C4C和CRM里获取当前登录用户分配的Organization Unit信息

简介:

C4C

如何查看某个用户分配的组织单元ID:

在Employee的Organization Data区域内看到分配的组织名称,如下图红色下划线所示:

现在的需求就是使用ABSL获取当前登录用户分配的Organization Unit信息,例如用WANGJERRY37登录,则取出下图显示的Department name PMLS:

具体实现:新建一个custom BO,使用字段DepartmentName存储这个待取的值:

然后创建AfterLoading script file,使用如下代码:


import ABSL;
import AP.PC.IdentityManagement.Global;
import AP.FO.BusinessPartner.Global;

var queryByIdentityUUID = Identity.QueryByElements;
var queryByIdentityUUIDParameter = queryByIdentityUUID.CreateSelectionParams();
var queryByEmployeeBPUUID = Employee.QueryByIdentification;
var queryByEmployeeBPUUIDParameter = queryByEmployeeBPUUID.CreateSelectionParams();


if ( this.DepartmentName.IsInitial()){

    var id = Context.GetCurrentIdentityUUID().content;
    queryByIdentityUUIDParameter.Add( queryByIdentityUUID.UUID.content, "I", "EQ", id.ToString() );
    var result = queryByIdentityUUID.Execute(queryByIdentityUUIDParameter);
    var first = result.GetFirst(); // points to identity instance
    var person = first.Person;
    var bpUUId = person.UUID.content;
    queryByEmployeeBPUUIDParameter.Add( queryByEmployeeBPUUID.UUID.content, "I", "EQ", bpUUId.ToString());
    var employeeQueryResult = queryByEmployeeBPUUID.Execute(queryByEmployeeBPUUIDParameter);
    var EmployeeQueryResultCurrent = employeeQueryResult.GetFirst();
    var assignedOrg = EmployeeQueryResultCurrent.OrganisationalUnitAssignment.GetFirst();
    var org = assignedOrg.ToRoot;
      // readOnly in AfterLoading event
       this.DepartmentName  = org.NameAndAddress.AddressSnapshot.NameSuitableForLogonLanguage.GetFirst().Name.SecondLineName;
}

CRM

假设Jerry Wang分配的Organization Unit ID为50000732,使用下列report打印出这个ID:


PARAMETERS: id TYPE but000-partner OBLIGATORY DEFAULT '4031140'.
DATA: lo_core                TYPE REF TO cl_crm_bol_core,
      lo_collection          TYPE REF TO if_bol_entity_col,
      lo_root_entity         TYPE REF TO cl_crm_bol_entity,
      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,
      lv_size                TYPE i.
START-OF-SELECTION.
  ls_selection_parameter-attr_name = 'PARTNER'.
  ls_selection_parameter-option =  'EQ'.
  ls_selection_parameter-sign = 'I'.
  ls_selection_parameter-low =  id.
  APPEND ls_selection_parameter TO lt_selection_parameter.
  ls_query_parameters-max_hits = 1.
  lo_core = cl_crm_bol_core=>get_instance( ).
  lo_core->load_component_set( 'PROD_ALL' ).
  lv_query_name = 'BuilEmpAdvancedSearch'.
  lo_collection = lo_core->dquery(
      iv_query_name               = lv_query_name
      it_selection_parameters            = lt_selection_parameter
      is_query_parameters                = ls_query_parameters ).
  DATA(lo_result) = lo_collection->get_first( ).
  ASSERT lo_result IS NOT INITIAL.
  WRITE: / 'Org unit id: ', lo_result->get_property_as_string( 'ORGEH' ) COLOR COL_NEGATIVE.

最终调用的是这个function module:


要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

相关文章
关于 SAP CRM 的 Partner Determination 和 organization determination
Partner determination Step 1: Find partner determination procedure from transaction type definition
168 0
关于 SAP CRM 的 Partner Determination 和 organization determination
CRM Fiori Launchpad初次登陆后返回的service metadata信息
CRM Fiori Launchpad初次登陆后返回的service metadata信息
CRM Fiori Launchpad初次登陆后返回的service metadata信息
CRM Fiori Launchpad初次登陆后返回的service metadata信息
CRM Fiori Launchpad初次登陆后返回的service metadata信息
CRM Fiori Launchpad初次登陆后返回的service metadata信息
如何查看CRM WebUI,C4C和Hybris里的页面技术信息
如何查看CRM WebUI,C4C和Hybris里的页面技术信息
157 0
如何查看CRM WebUI,C4C和Hybris里的页面技术信息
|
移动开发 JavaScript 前端开发
一些SAP CRM和C4C顾问应聘的面试题
一些SAP CRM和C4C顾问应聘的面试题
SAP CRM和C4C表格列宽度调整的工作原理
In both CRM and C4C it is allowed to adapt table column width by end user. This blog explains how the personalization works under the hood.
SAP CRM和C4C表格列宽度调整的工作原理
Business Partner Relationship Category in CRM and C4C
Business Partner Relationship Category in CRM and C4C
Business Partner Relationship Category in CRM and C4C
Partner solution for Outlook integration for SAP CRM and C4C
Partner solution for Outlook integration for SAP CRM and C4C
Partner solution for Outlook integration for SAP CRM and C4C