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 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信息相关推荐
- 拦截器HandlerInterceptor+方法参数解析器HandlerMethodArgumentResolver用于统一获取当前登录用户信息
文章目录 前言 一.拦截器+方法参数解析器 是什么? 二.具体实现步骤 1.自定义权限拦截器LoginInterceptor拦截所有request请求,并将token解析为currentUser,最终 ...
- 获取当前登录用户的IP地址代码
*&---------------------------------------------------------------------* *& Report Z_IP * *& ...
- Cuba 获取当前登录用户
在Cuba中获取当前登录用户 //注入UserSessionSource @Inject private UserSessionSource userSessionSource; //获取用户名 us ...
- Django之使用自定义用户表(AbstractUser)/自定义登录验证(jwt)/获取当前登录用户
基本步骤: 一.自定义用户表: 1.自定义的用户表继承AbstractUser: 2.settings.py添加配置,指向用户表:AUTH_USER_MODEL = 'myUser.Account'( ...
- java_后端获取当前登录用户信息
后端获取当前登录用户信息 开发过程中,发现有很多地方需要获取当前登录的用户信息,比如新增.修改时候要记录创建人和更新人信息,如果每次操作都从数据库中获取用户信息,会增加不必要的开销,同时也增加数据库的 ...
- ASP .NET Core MVC 控制器中获取当前登录用户
微软提供了 身份验证:Microsoft.AspNet.Identity 如果想要在控制器中获取当前登录的用户,如下代码: var userId = this.User.FindFirstValue( ...
- jwt怎么获取当前登录用户_spring oauth2如何获取当前登录用户信息
使用spring oauth2框架做授权鉴定.想获取当前用户信息怎么办? 我们知道spring oauth2是基于spring security的实现的. spring security可以通过Sec ...
- wordpress获取当前登录用户信息的方法
1). get_currentuserinfo(); 此函数将当前登录用户信息赋给全局变量$current_user以及一些单独的用户信息全局变量例如$display_name, $user_emai ...
- 前端vue项目获取当前登录用户id以及后端将MultipartFile转换为Base64字符串
现在的需求,用户在前端更改头像,1.获取到用户的id.2.将图片转换为Base64编码 首先需要知道是修改谁的头像,由于不是专业前端,这块的确不是很熟,网上查到的方法如下: 但是我的storage里面 ...
最新文章
- 一篇长文带你在python里玩转Json数据
- python arp脚本_Python scapy 实现一个简易 arp 攻击脚本
- 从单体式架构迁移到微服务架构,看这篇文章就行了!
- LightOJ 1422:Halloween Costumes(区间DP入门)
- 《深入理解计算机系统》读书笔记七:浮点数表示
- WordPress永久链接 静态化教程
- 将Python脚本打包成可执行文件
- OpenOffice java api UNO 设置属性总结
- 尚学堂java答案解析 第三章
- [序列化] SerializeHelper--序列化操作帮助类 (转载)
- mysql stored_mysql stored routine (存储例程) 中 definer 的作用 和实例
- SetProcessWorkingSetSize 和内存释放
- w10连接远程计算机控制,Win10远程桌面连接如何开启,3种方式助你远程控制
- css写七步诗,《七步诗》改写550字
- Adaptive让 Spark SQL 更高效更智能
- winows服务器的ftp密码如何修改,windows怎么修改服务器ftp密码
- 巧用google实现快速搜索
- 活体检测综述 Deep Learning for Face Anti-Spoofing: A Survey 阅读记录
- linux静态ip 配置
- 如何去除万能五笔的定时弹窗
热门文章
- R语言观察日志(part21)--包的组件之元数据
- livecharts中仪表盘_LiveCharts文档-3开始-4可用的图表
- 浅谈电商网站开发中用户会话管理机制的设计和实现原理
- 关于 SAP Spartacus feature library 里的 _index.scss 文件,和神奇的下划线省略行为
- SAP 电商云 Spartacus UI 产品明细页面路由确定后,加载的是 page template
- SAP Spartacus Multi-Site Configuration
- 答网友问:如果用 OData 就能直接和 SAP 系统互通,BTP 和 CPI 这样的平台意义在哪里呢?
- 在SAP Spartacus的convertor函数里,直接修改输入参数target的值,会有什么问题
- 如何自行查询SAP Spartacus Organization Unit List的取数逻辑
- Angular里如何测试一个具有外部依赖的Component