SAP Commerce 2205 is released and we already have 2nd patch for 2205 from SAP. The support for SAP Commerce 1905,2005,2011 and 2105 is ending in 2023 and it is always recommended to run the SAP Commerce on the latest version to have good support from SAP on PROD.
Usually, upgrade topics should be a very simple topic but can be complicated considering the changes that come with the new version of JAVA, Spring, and other tools & solutions on which SAP Commerce is built-on.
In this blog post, I will walk you through simple and necessary steps to migrate successfully to SAP Commerce 2205. This blog should also help you if you are already using Datahub and SCPI integration with SAP CAR and S4 HANA. I have also collected necessary links for quick references for developers to take advantage of to fix their build issues while migrating the code from the lower version to 2205.
Steps for Migration :
NOTE: Before you perform below the upgrade steps, make sure to backup your Database
- Download the latest version with the latest patch of SAP Commerce from the below link: https://launchpad.support.sap.com/#/softwarecenter/search/SAP%2520Commerce%25202205
- Tools you might require as prerequisites for 2205:
Software / Platform Supported Versions Java (SAP JAVA /JDK) 17 (https://sap.github.io/SapMachine/) Tomcat 8.5.78 (Same as 2005 / 2011 / 2105) Database MySQL 8.0 SAP HANA HANA 2.0 Oracle 19c Microsoft SQL Server 2017 SOLR 8.11.2 - Set Apache Ant and Create Required Directories
. ./setantenv.sh
ant clean all
- Config folder:
- Copy your custom local.properties and localextensions.xml into this folder
- local.properties
- make sure you have checked your tomcat.generaloptions property. If possible use the same value from OOTB which can be found under platform/project.properties and append your custom -D properties end of this line
- if you are using any tenant-specific properties files, make sure you copied these properties also under the config folder
- localextensions.xml
- Check for any vendor-specific extensions that are not usually developed or maintained by you or also it’s not an OOTB extension as part of the commerce package.
- local.properties
- Copy your custom local.properties and localextensions.xml into this folder
- Custom folder:
- Copy all your custom extensions to this folder
- Delete if there are any generated extensions like yb2bacceleratorstorefront
- DB Driver Update:
- Download mysql-connector-java-8.0.11.jar (or higher version) and place it in ${HYBRIS_BIN_DIR}/platform/lib/dbdriver.
- Note: If you are using other databases, please check the Third-Party Compatibility here and download a specific jar
- Download mysql-connector-java-8.0.11.jar (or higher version) and place it in ${HYBRIS_BIN_DIR}/platform/lib/dbdriver.
- Update SAP Commerce License Attribute to your hybris configuration (Optional).
- Command line at Platform folder
./license.sh -temp CPS_MYS
- Command line at Platform folder
- This step is only applicable for the projects that are using Integration Package Extensions: (Optional)
- Download the CX COMMERCE INT EXT PACK 2205 from below URL https://launchpad.support.sap.com/#/softwarecenter/search/SAP%2520Commerce%25202205
- Copy all the extensions from this downloaded package to your project installation module package ( /hybris/bin/modules )
- Verify integration extension from the below modules:
- sap-framework-core (SAP Integration)
- sap-reuse-services (SAP CAR)
- sap-retail-integration (SAP Retail OOA)
- sap-customer (SAP Datahub Integration)
- scpi-order-management-system (SCPI)
- scpi (SCPI Integration)
- Start hybris server:
ant clean all
./hybrisserver.sh - Run Update system:
- Login to HAC and make sure you select OOTB extensions that were impacted by upgrades such as :
- backoffice
- smartedit
- platformbackoffice
- basecommercebackoffice
- backofficesolrsearch
- ruleengine
- ruleengineservices
- solrfacetsearch
- searchservices
- promotions
- commerceservices
- commercefacades
- promotionengineservices
- promotionsbackoffice
- promotionenginebackoffice
- NOTE: During this step make sure you have deselected your custom patch extension or initialdata extension on a higher environments
- Login to HAC and make sure you select OOTB extensions that were impacted by upgrades such as :
- Clear Cache
- HAC → Monitoring → Cache
- Execute Cleanup of Orphaned Types
- HAC → Maintenance → Cleanup → Clear all orphaned types
- Reset Backoffice Configuration:
- Press F4 to use Application Orchestrator
- Select Reset Everything
- Run all the custom Impex using the patch extension of your project
- ReRun ant clean all and start the server (./hybrisserver.sh).
- This step is only applicable for the projects that are using Datahub Integrations: (Optional)
- Download the latest patch for Datahub (CX DATAHUB 2205) from the below link: https://launchpad.support.sap.com/#/softwarecenter/search/CX%2520DATAHUB%25202205%2520SP00
- Deploy this updated package on your DH server
- Start your DH using Auto Init Configuration
- datahub.autoInitMode=”create-drop”
- After the DH server is up and running, make sure you have run the Synchronization
- Login to Backoffice
- Open Administration Cockpit
- Select SAP Administration Configuration
- You need to click on “Send to DH” icon (Sync Button next to delete icon)
Now you have migrated to 2205 and should be able to enjoy the new Backoffice 2205 along with other new features 🙂
Developer Notes:
Developers need to check for the packages and classes that are updated with new required beans and methods. The following steps and references will help the developer to migrate the code to the latest SAP Commerce 2205.
- Mockito & Groovy Update: https://help.sap.com/docs/SAP_COMMERCE/a74589c3a81a4a95bf51d87258c0ab15/277f145325a4409b975f6e2af91b7401.html?locale=en-US
- Build Error / Hybris server start error on any specific class/bean
- Look for beans that are generating errors:
- 2105-2205: https://help.sap.com/docs/SAP_COMMERCE/a74589c3a81a4a95bf51d87258c0ab15/c955fc334bc8483fb5c7ed8fd7caa221.html?locale=en-US#spring-framework-changes
- 2011-2105: https://help.sap.com/docs/SAP_COMMERCE/a74589c3a81a4a95bf51d87258c0ab15/c955fc334bc8483fb5c7ed8fd7caa221.html?locale=en-US&version=2105&q=defaultFacetSort#spring-framework-changes
- Look for class/package that is generating an error. Find the module in API Compatibility Report
- Check for Deprecated classes
- B2C Accelerator: https://help.sap.com/docs/SAP_COMMERCE/a74589c3a81a4a95bf51d87258c0ab15/bbac567ceb144102b67dffbf9a6616a6.html?locale=en-US#deprecated-classes
- B2B Accelerator: https://help.sap.com/docs/SAP_COMMERCE/a74589c3a81a4a95bf51d87258c0ab15/69c0d5d94a5942b3a56326003b323613.html?locale=en-US#deprecated-classes
- Check for Removed Classes
- Check for Updated Classes
- Look for beans that are generating errors:
- Check for smartedit required extensions and jars (npninstall)
- If you don’t use smartedit and get error related to npn, then check your localextensions.xml file and remove below extensions:
- cmsbackoffice
- cmssmartedit
- cmssmarteditwebservices
- cmswebservices
- npmancillary
- permissionswebservices
- previewwebservices
- smartedit
- smarteditaddon
- smartedittools
- smarteditwebservices
- Using smartedit for the first time, then you need to check you have whitelisted https://registry.npmjs.org/ on your onprem system.
- If you don’t use smartedit and get error related to npn, then check your localextensions.xml file and remove below extensions:
- JVM related ERROR during server startup
- Use tomcat OOTB specific properties in your local.properties
- Platform ->project.properties looks for (tomcat.generaloptions)
- Append your custom properties to end of tomcat.generaloptions (local.properties)
- Use tomcat OOTB specific properties in your local.properties
- Log4j 1.x Library Removed:
- Look for properties in your local.properties and remove/comment properties that start with log4j.logger.
- You could also find which property to be removed by using log4j.deprecated.properties.print in your local.properties. This will print all the log4j properties that are deprecated in 2205.
- DataModel Update (item.xml)
Module ADDED/REMOVED/UPDATED Datamodel commerce-services/commerceservices ADDED FutureStock commerce-services/commerceservices UPDATED StoreFrontCustomerProcess backoffice-framework/backoffice ADDED Theme backoffice-framework/backoffice ADDED BackofficeObjectSpecialCollection - OOTB Properties Update:
Below is the list of only selected properties that are commonly used and worth checking.Module File name ADDED/REMOVED/UPDATED Property platform project.propeties UPDATED tomcat.generaloptions ADDED media.is.root.folder.removable ADDED metrics.cronJobsRunning.cache.ttl.mslog4j.deprecated.properties.warn ADDED log4j.deprecated.properties.print ADDED maven.download.sources ADDED login.token.url.enabled ADDED sonar.additionalModule.<moduleName>.path ADDED flexiblesearch.cacheDomain.readOnlyCacheDomain.ttl ADDED flexiblesearch.datasource.readonly.cacheDomain advance.properties ADDED sqlserver.enableLimitSupportForSQLServer2012 UPDATED db.connectionerrorcheckingjdbcconnectionpool.maytestagain ADDED db.pool.connectRetries UPDATED standalone.javaoptions (tomcat.generaloptions) UPDATED standalone.jdkmodulesexports (tomcat.generaloptions) UPDATED synctimestamp.query.removal.optimisation UPDATED props.removal.optimisation UPDATED relations.partof.suppressRemoveOnJalo ADDED oracle.use.lower.indexes ADDED cronjob.enableRepeat ADDED ant.javascript.engine.classpath backoffice-framework/backoffice project.properties REMOVED backoffice.cockpitng.global.click.tracking.enabled ADDED backoffice.fulltext.search.strategy commerce-services/commerceservices project.properties ADDED commerceservices.commercecartmergemethodhook.enabled ADDED commerceservices.cartCalculation.resetDeliveryCost.enabled smartedit project.properties ADDED smartedit.mediaUploadDefaultFolder RENAMED smartedit.validImageMimeTypeCodes tosmartedit.validFileMimeTypeCodes ADDED smartedit.smartedittools.config NOTE: This list doesn’t contain all the properties that SAP Commerce has removed or created
- Commerce – Extensions Removed :
- secureportaladdon
- ondemandsampledata
- ondemandcommon
- cistax
- cispayment
- cisclienttest
- cisclient
- cisavs
- Integration – Extension Removed :
- sapbillinginvoiceaddon
- sapbillinginvoicefacades
- sapbillinginvoiceocc
- sapbillinginvoiceocctests
- sapbillinginvoiceservices
NOTE: Please check the extensions that are removed from 2205 here.
List of changes before you migrate to 2205 :
- Platform (core)
- Integration API
- Configurable Bundle
- Promotion
- B2B Accelerator
Note: If you are migrating from 2011, then its worth checking the following links:
- Platform (core)
- Commerce OCC APIs
- Integration APIs
- Backoffice Framework
- SmartEdit
[SOLVED] : Issue for 2205
- NullPointerException on sapppspricing SAP Commerce 2205
- ConcurrentModificationException in HAC when executing project data
- Smartedit installation is failing without a clear cause
- Cloud Hot Folder Extensions for SAP Commerce Cloud versions
- How to fix CORS issue in Spartacus using Commerce 2105
- Order is failing after CCv2 Upgrade from 2108 to 2205
- Unable to disable admin account
- Can’t Export Excel in Backoffice more than the allowed limit
- The rootcauseanalysis extension does not generate logs and traces
Hope this has helped you to speed up your migration to the latest SAP Commerce version 2205.
Stay tuned for more solutions. 🙂
If you have any feedback or suggestions, please feel free to add a comment below.