Hybris之外的PK代

2020-09-10 10:31发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我处于一种必须从开源系统(例如S...

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

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


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

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

2条回答
Tong__Ming
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用于客户,员工或用户)

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

一周热门 更多>