Hybris之外的PK代

2020-09-10 10:31发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我处于一种必须从开源系统(例如SpringBoot)生成PK的情况下,Hybris可以将其识别为User Typecode。 我要通过Hybris的PK生成逻辑。

以防万一有人曾经做过并且可以帮助我。 非常感谢:)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我处于一种必须从开源系统(例如SpringBoot)生成PK的情况下,Hybris可以将其识别为User Typecode。 我要通过Hybris的PK生成逻辑。

以防万一有人曾经做过并且可以帮助我。 非常感谢:)

付费偷看设置
发送
2条回答
三十六小时_GS
1楼-- · 2020-09-10 11:18

谢谢。 我正在创建自己的自定义类,以生成基于计数器的PK,这已被Hybris识别。 我正在创建PK系列并将其存储在缓存中,以供第三方用于创建任何类型的记录,这些记录也将由Hybris上的站点识别。

Tong__Ming
2楼-- · 2020-09-10 11:12

您可以使用以下功能来执行此操作。 这是在OracleSql中完成的

 创建或替换函数getPk(pnTypeCode整数,计数器编号)返回编号为
      p1编号:= 17592186044416;  -十六进制100000000000
      p2 number:= 281474976710656;  -十六进制1000000000000
      p3 number:= 8796093022207;  -十六进制7FFFFFFFFFF
      p4编号:= 8796093022208;  -十六进制80000000000
     
      counterAndTypeCode号;
 
      upperWithoutBit43数字;
 
      lowerWithoutBit43数字;
 
      rawPKBits编号;
 
      函数bitor(数字x,数字y)返回数字为
     
        开始
     
          return(x + y-bitand(x,y));
     
        结束;
    开始
 
      counterAndTypeCode:=计数器* power(2,15)+ pnTypeCode;
 
      upperWithoutBit43:= bitand(counterAndTypeCode,-p4)* 2;
 
      lowerWithoutBit43:= bitand(counterAndTypeCode,p3);
 
      rawPKBits:= bitor(bitor(uporWithoutBit43,p4),lowerWithoutBit43);
 
      返回rawPKBits;
 
    结束;
 

  

然后,要获取PK,请执行以下操作

getPK(1,(从numberseries中选择currentValue,其中serieskey ='pk_1'))

1是您要创建PK的类型的类型代码。 pk_1应该相同(例如:将pk_4用于客户,员工或用户)

可以从维护/部署中直接获取类型代码

一周热门 更多>