Sap 用多个B2BUnit进行挑战

Sap 用多个B2BUnit进行挑战,sap,hybris,commerce,b2b,Sap,Hybris,Commerce,B2b,我们在进行实现时遇到了一种情况,下面是需求的顺序 一些用户(B2B客户)可以访问系统中的多个SoldTo(B2BUnit) 在开始商业旅程之前,用户必须选择一个SoldTo 选定的SoldTo然后标记为“DefaultB2BUnit” 商业旅程的其余部分(PLP、购物车、结帐和订单)基于选定的SoldTo 这里的挑战是由于“分支”限制,用户只能访问SoldTo以设置为“DefaultB2BUnit”,并且OOTB服务不允许我们获取所有已分配B2BUnit的列表,并将用户选择的一个更改为默认。 是

我们在进行实现时遇到了一种情况,下面是需求的顺序

  • 一些用户(B2B客户)可以访问系统中的多个SoldTo(B2BUnit)
  • 在开始商业旅程之前,用户必须选择一个SoldTo
  • 选定的SoldTo然后标记为“DefaultB2BUnit”
  • 商业旅程的其余部分(PLP、购物车、结帐和订单)基于选定的SoldTo
  • 这里的挑战是由于“分支”限制,用户只能访问SoldTo以设置为“DefaultB2BUnit”,并且OOTB服务不允许我们获取所有已分配B2BUnit的列表,并将用户选择的一个更改为默认。
    是否有任何服务可用,我们可以通过该服务检索分配给用户的所有SoldTo(B2BUnit),并在登录后将其设置为默认值

    您需要创建B2BUnit并将其分配给B2B客户组,然后您可以读取所有组

    请尝试以下方法:

    /**
         * Assigns a default unit for a customer who may be a member of multiple units. and modifies a branch for this
         * customers session based on the unit
         *
         * @param customer
         *           The current customer
         * @param unit
         *           A {@link B2BUnitModel} to be assigned as the default for a customer
         */
        void setCurrentUnit(B2BCustomerModel customer, B2BUnitModel unit);
    

    根据您的要求,您需要取消分支限制

    分支机构限制允许客户访问其b2b部门及其子公司在一个组织层次结构中的数据

    如果您没有b2b单元的层次结构,那么分支限制不应该相关,可以禁用

    一旦你将禁用限制,那么我认为你的要求可以很容易地实现