【问题标题】:Create a Report in SAP Hybris to Fetch Employees based on a User Group在 SAP Hybris 中创建报表以根据用户组获取员工
【发布时间】:2023-01-07 15:48:39
【问题描述】:

我需要有关在 SAP Hybris 中创建报告的帮助,该报告本质上将用于根据分配给他们的“用户组”提取“员工”而非“客户”的名称。例如:X 员工有用户组:“admingroup”。就像那样,我需要所有具有各自用户组的员工。任何人都可以帮我做一个 flexisearch 查询吗?我真的很感激!谢谢

我对 SAP Hybris 还是个新手,我看过很多其他报告,但想尝试一下。

【问题讨论】:

    标签: sap-commerce-cloud flexible-search


    【解决方案1】:

    您可以使用string_agg()-方法列出用户组,这里提到:How to concatenate multiple rows in flexibleSearch query in Hybris

    如果该方法不起作用,您可以尝试将其替换为group_concat

    您还需要加入EmployeePrincipalGroup。您可以使用属性groups访问员工的用户组:

    SELECT
    {e:displayName},
    string_agg({g:locName}, ', ') AS groupNames
    FROM {Employee AS e}
    JOIN {Employee.groups AS g} ON {g:pk} = {e:pk}
    GROUP BY {e:pk}, {e:displayName}
    

    【讨论】:

    • 所以 g:locnames 会根据地理位置将组分开? flexisearch 还显示“Employee.groups”无效。知道为什么会这样吗?
    • 如果Employee.groups 无效则需要通过关系表加入。您可以在 *-items.xml 中查找所需关系的名称。据我了解locName代表用户组的本地化名称
    【解决方案2】:

    对于此报告,它需要加入 PrincipalGroupRelation,因为与用户组和员工没有直接关系。

    select {user_group:uid},{user_group:locname[en]},{emp.uid},{emp.name} from {Employee as emp JOIN PrincipalGroupRelation as group_rel ON
    {group_rel:source}={emp:pk} JOIN UserGroup as user_group ON {user_group:pk}={group_rel:target} } where {user_group.uid}='customersupportagentgroup'
    

    【讨论】:

      猜你喜欢
      • 2020-07-27
      • 2020-09-12
      • 1970-01-01
      • 2019-05-13
      • 1970-01-01
      • 1970-01-01
      • 2018-09-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多