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 instancevar 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 eventthis.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_nameit_selection_parameters            = lt_selection_parameteris_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的原创技术文章,请关注公众号"汪子熙":

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

  1. 拦截器HandlerInterceptor+方法参数解析器HandlerMethodArgumentResolver用于统一获取当前登录用户信息

    文章目录 前言 一.拦截器+方法参数解析器 是什么? 二.具体实现步骤 1.自定义权限拦截器LoginInterceptor拦截所有request请求,并将token解析为currentUser,最终 ...

  2. 获取当前登录用户的IP地址代码

    *&---------------------------------------------------------------------* *& Report Z_IP * *& ...

  3. Cuba 获取当前登录用户

    在Cuba中获取当前登录用户 //注入UserSessionSource @Inject private UserSessionSource userSessionSource; //获取用户名 us ...

  4. Django之使用自定义用户表(AbstractUser)/自定义登录验证(jwt)/获取当前登录用户

    基本步骤: 一.自定义用户表: 1.自定义的用户表继承AbstractUser: 2.settings.py添加配置,指向用户表:AUTH_USER_MODEL = 'myUser.Account'( ...

  5. java_后端获取当前登录用户信息

    后端获取当前登录用户信息 开发过程中,发现有很多地方需要获取当前登录的用户信息,比如新增.修改时候要记录创建人和更新人信息,如果每次操作都从数据库中获取用户信息,会增加不必要的开销,同时也增加数据库的 ...

  6. ASP .NET Core MVC 控制器中获取当前登录用户

    微软提供了 身份验证:Microsoft.AspNet.Identity 如果想要在控制器中获取当前登录的用户,如下代码: var userId = this.User.FindFirstValue( ...

  7. jwt怎么获取当前登录用户_spring oauth2如何获取当前登录用户信息

    使用spring oauth2框架做授权鉴定.想获取当前用户信息怎么办? 我们知道spring oauth2是基于spring security的实现的. spring security可以通过Sec ...

  8. wordpress获取当前登录用户信息的方法

    1). get_currentuserinfo(); 此函数将当前登录用户信息赋给全局变量$current_user以及一些单独的用户信息全局变量例如$display_name, $user_emai ...

  9. 前端vue项目获取当前登录用户id以及后端将MultipartFile转换为Base64字符串

    现在的需求,用户在前端更改头像,1.获取到用户的id.2.将图片转换为Base64编码 首先需要知道是修改谁的头像,由于不是专业前端,这块的确不是很熟,网上查到的方法如下: 但是我的storage里面 ...

最新文章

  1. 一篇长文带你在python里玩转Json数据
  2. python arp脚本_Python scapy 实现一个简易 arp 攻击脚本
  3. 从单体式架构迁移到微服务架构,看这篇文章就行了!
  4. LightOJ 1422:Halloween Costumes(区间DP入门)
  5. 《深入理解计算机系统》读书笔记七:浮点数表示
  6. WordPress永久链接 静态化教程
  7. 将Python脚本打包成可执行文件
  8. OpenOffice java api UNO 设置属性总结
  9. 尚学堂java答案解析 第三章
  10. [序列化] SerializeHelper--序列化操作帮助类 (转载)
  11. mysql stored_mysql stored routine (存储例程) 中 definer 的作用 和实例
  12. SetProcessWorkingSetSize 和内存释放
  13. w10连接远程计算机控制,Win10远程桌面连接如何开启,3种方式助你远程控制
  14. css写七步诗,《七步诗》改写550字
  15. Adaptive让 Spark SQL 更高效更智能
  16. winows服务器的ftp密码如何修改,windows怎么修改服务器ftp密码
  17. 巧用google实现快速搜索
  18. 活体检测综述 Deep Learning for Face Anti-Spoofing: A Survey 阅读记录
  19. linux静态ip 配置
  20. 如何去除万能五笔的定时弹窗

热门文章

  1. R语言观察日志(part21)--包的组件之元数据
  2. livecharts中仪表盘_LiveCharts文档-3开始-4可用的图表
  3. 浅谈电商网站开发中用户会话管理机制的设计和实现原理
  4. 关于 SAP Spartacus feature library 里的 _index.scss 文件,和神奇的下划线省略行为
  5. SAP 电商云 Spartacus UI 产品明细页面路由确定后,加载的是 page template
  6. SAP Spartacus Multi-Site Configuration
  7. 答网友问:如果用 OData 就能直接和 SAP 系统互通,BTP 和 CPI 这样的平台意义在哪里呢?
  8. 在SAP Spartacus的convertor函数里,直接修改输入参数target的值,会有什么问题
  9. 如何自行查询SAP Spartacus Organization Unit List的取数逻辑
  10. Angular里如何测试一个具有外部依赖的Component