Skip to main content

PK in item models in Hybris


While working with model, the property of modelservice amazes me is, if you search an item with PK, you’ll get the result. If the item is search in HMC or backoffice, while returning the search result, it also gives the type code. How is this possible? All the items are stored in single DB table? In that case also, how come when a deleted item is searched, it returns the type code? See the screen shot below where item is deleted and item search returns type code

Fig – 1: Searching item (System-Types-Items)
 
     Fig 2: The PK is appended with Type code defined in items.xml

PK is generated with the following combination.
  • ·       Type code
  •       Time stamp (create time)

If you make the PK in binary number and take last 14 digit and convert back to decimal and you’ll get the type code.
Consider the example I have. PK is 8842394501143. If I convert in Binary, it comes as
0000000000000000000010000000101011000111110010001000000000010111 (64 bit presentation).
Now, take out last 14 digit and comes as 00000000010111. Convert it in decimal and you’ll get the typecode (23). The 43rd bit represent if the PK is counter based (if the value is 1 which is in this example) or UUID based (if the value is 0).

Comments

  1. Pk In Item Models In Hybris >>>>> Download Now

    >>>>> Download Full

    Pk In Item Models In Hybris >>>>> Download LINK

    >>>>> Download Now

    Pk In Item Models In Hybris >>>>> Download Full

    >>>>> Download LINK Jx

    ReplyDelete

Post a Comment

Popular posts from this blog

Hybris Beanshell and Groovy script example

While doing support, we need to check some of the scenario and their result in the production server. The beanshell and groovy script comes very handy on this. Below are the few example of how I used/using it in my various project. This is very handy to test your data as well 1.        Check the log: Sometimes getting server access is very painful in the enterprise landscape. However, person joined in the project is required to work as soon as they inducted in the project. In this scenario, below groovy script is very useful.   Please note, run these in the rollback mode unless and until the otherwise is required. a.        The application is running from the container. For the POC, it was running in the tomcat server (tomcat/bin). To know the exact directory, run the below script in groovy console println "pwd".execute().text Below will be printed in the output tab /usr/sap/hybris/bin/platform/tomcat/bin ...

SonarCube and Hybris integration

There are some issues reported for SonarCube 6.7 integration with Hybris. The recommended version is Sonar 6.4 or less. For Sonar 6.4, there is no need to build the database. Please follow the below steps to use sonarcube with Hybris. For the POC, we have used Hybris 6.4.0.2 and sonar 6.4. Sonar Cube configuration 1.        Download sonar 6.4 and install/unzip. 2.        For the POC, we have used Embedded Database (default). But multiple database is supported. Access management can also be implemented. However, for the simplicity purpose, it is not used for the POC 3.        The java properties can be set at the sonar.properties file (not used in our case). Example of the property is sonar.web.javaOpts=-Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError which can be enabled in the sonar.properties file under conf folder of the installed folder. 4.      ...

Beanshell/Groovy example - Change Local.properties permanently using script

Sometimes we need to change some of values defined for properties key in local.properties/project.properties. There are three ways to do it Update via HAC Update Local.properties Update using beanshell/groovy script If we use the first process, after server re-start, changes will go. So, the value will remain in the system memory till the server got re-started. Here, will give an example how to change local.properties and changes remain even after rebuild. Run the below script in the HAC script tab with "commit" on. import org.apache.commons.configuration.PropertiesConfiguration; import java.io.File; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; //The new value to be stored in the key/value pair in local.properties. String changedValue = "NEW_VALUE"; //Key name in the local.properties String propertyName = "test.properties.value"; PropertiesConfiguration config = new PropertiesConfiguratio...