Hi There,

               I have recently performed a Support Pack stack upgrade on a standalone java system and would like to share my learning and errors faced(and resolutions too 😉 ).

Just to brief about the system details:

System : SAP Enterprise Portal (NW 7.0 Ehp1)

Current level : SPS 10

Target level : SPS16

Tools used for upgrade : SUM 1.0 SP12 (for SPS upgrade) , MOPZ( for stack file generation)

From my experience working on this activity below are steps(say checklist) I could come up with to perform the SPS upgrade with SUM tool on Java system.

Please feel free comment on these steps if I am missing anything.

  • Preparation
    • Disk space and hardware checks: Check the available disk space on your server before you start the activity, you need space for SUM tool and additional space to take backup of usr\sap\<SID> backup after pre-processing phase and before execution phase.  Needless to say you need space to store your software dump of files downloaded using stack.xml file. ( Use MOPZ to generate this)
    • If you are working for the first time with SUM tool, please go through the central note for your version of SUM tool, for SUM 1.0 SP12  please refer to SAP note 1981278
    • Install Maintenance certificate using visual admin/ NWA depending on your current version of the NW
    • Take a complete DB backup and file system backup before you start the activity, you might need this to restore the system in case of any issues during later stages.


     Sounds like we are good to start the activity 😎

Lessons “Earned”:

     That looks so easy, isn’t it? Well, a good planning always helps to complete the activity with less hurdles. Below are the lessons I learned from this activity and I am interested to share:

  1. According to me generating the stack.xml from MOPZ is critical for running any activity using SUM tool. So please be patient while you are working on this step.
  2. Issue while starting the SUM : When you want to go on a long drive, the least thing you want to happen is a starting trouble with your car 😥 . I faced an issue here where my SUM tool doesn’t want to start as the default HTTP sever port ( Port#4239 ) was already occupied by different process. If you have similar issue, follow the below steps :
    • This is for windows server :Open command prompt and run the command netstat -a and this would list the ports occupied on your server. Look for a port number not used currently and use this to start your HTTPserver for SUM tool.
    • To change the port number you need to modify the sdtserver.xml in SUM directory
    • Find <HTTPPort>    4239 in sdtserver.xml and replace the port 4239 with the available port number
    • This should allow you to run the SUM tool now.
  3. The next error, I faced was during post processing phase, which says

The deployment of the portal has failed.

For more information, see the following log file <Location till SUM directory>\sdt\log\SUM\COLLECT-PORTAL-IMPORT-RESULTS_01.LOG

refer to SAP note 1130469.

          Resolution was available from previous discussion on SCN post: Reference NW BI-JAVA 7.01 SP6 deployment failed with error main_rules.ept

     4. Finally the upgrade was completed and the system was released to business for testing and users were facing run-time exceptions while logging to the portal. We checked the default trace from NWA with filter on ‘userid‘  and found the below exception.


java.lang.NoClassDefFoundError: com/sap/portal/pcm/iviewserver/NewIVSObjectDescriptor

————————- Loader Info ————————-

ClassLoader name: [com.sapportals.portal.prt.util.ApplicationClassLoader@cc032d6]

Parent loader name: [sap.com/com.sap.portal.ivs.systemlandscapeservice]


not registered!




The error occurred while trying to load “com.sap.portal.pcm.system.SystemDescriptor”.

at com.sap.engine.frame.core.load.ReferencedLoader.loadClass(ReferencedLoader.java:401)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:303)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:219)

at com.sapportals.portal.prt.core.broker.PortalServiceItem.__createServiceInstance(PortalServiceItem.java:730)

at com.sapportals.portal.prt.core.broker.PortalServiceItem.getServiceInstance(PortalServiceItem.java:543)

at com.sapportals.portal.prt.core.service.ServiceManager.get(ServiceManager.java:185)

at com.sapportals.portal.prt.runtime.Portal$RuntimeResources.getService(Portal.java:153)

at com.sapportals.portal.appintegrator.accessor.system.AbstractSystemAcessor.resolveAlias(AbstractSystemAcessor.java:186)

at com.sapportals.portal.appintegrator.accessor.system.SystemAccessorFactory.getSystemAccessor(SystemAccessorFactory.java:56)

at com.sapportals.portal.appintegrator.layer.AbstractIntegrationLayer.getLocalOrRemote(AbstractIntegrationLayer.java:539)

at com.sapportals.portal.appintegrator.layer.TopLayerSwitch.mustRedirectToProducer(TopLayerSwitch.java:101)

at com.sapportals.portal.appintegrator.layer.TopLayerSwitch.getNextLayer(TopLayerSwitch.java:72)

at com.sapportals.portal.appintegrator.LayerProcessor.getNextLayer(LayerProcessor.java:273)

at com.sapportals.portal.appintegrator.LayerProcessor.processActionPass(LayerProcessor.java:169)

at com.sapportals.portal.appintegrator.AbstractIntegratorComponent.doActionPass(AbstractIntegratorComponent.java:68)

at com.sapportals.portal.appintegrator.AbstractIntegratorComponent.doOnPOMReady(AbstractIntegratorComponent.java:54)

at com.sapportals.portal.prt.component.AbstractPortalComponent.handleEvent(AbstractPortalComponent.java:396)

at com.sapportals.portal.prt.pom.ComponentNode.handleEvent(ComponentNode.java:249)

at com.sapportals.portal.prt.pom.PortalNode.fireEventOnNode(PortalNode.java:368)

at com.sapportals.portal.prt.pom.PortalNode.processEventQueue(PortalNode.java:799)

at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:652)

at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:249)

at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:557)

at java.security.AccessController.doPrivileged(Native Method)

at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:430)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1064)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)

at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:104)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:176)

Now, that feels scary 😯 to understand Java Language. To summarize, this exception means the java could not see its SLD running, that was what I understood and apparently it is true. SLD on Java portal was not running post SPS upgrade with the below error:

Server misconfiguration. Please set profile parameter BufferInstances to false when running a multi-node cluster.

Now that’s more like the language I speak 😆 .  Straight forward answer for the issue, set the parameter ‘bufferinstances’ to ‘false’ when you have more than one node.

refer to section 2  on Post Installation Guide SLD of SAP NW 2004s (http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/652b1f46-0a01-0010-25ae-e7cb07b55414?QuickLink=index&…)

SLD->administration->Profile->Section:ObjectManager->Set ‘BufferInstance’ to ‘false’

Now start SLD and restart Java engine on the portal.

… and like every story this is a happy ending.

Thanks for reading this blog, I hope this would have been useful to you.

Feel free to comment your views on the this post and any suggestions/learning from your experience.

To report this post you need to login first.


You must be Logged on to comment or reply to a post.

  1. Andy Silvey

    Hi Pradeep,

    a nice story and I am glad you solved the problem.

    I think, on of the addictions of SAP Basis work is the psychological lows when things don’t work and the psychological highs when you solve the problems.

    Enjoy your journey, one of the things I haven’t from being a SAP Basis is, patience and persistence, we must be patient with every challenge, and we must never give up.

    Best regards,


    1. Ashwani Vishwdewa

      Hi Andy,

      Patient is the key to success in SAP, Once you start searching for the errors you will start understanding some new concepts.



  2. Saurabh Sharma

    Indeed, I totally agree with Reagan instead of modifying the port number in sdtserver.xml, better to speficy the port number when asked by SUM tool during startup .

  3. Pradeep Kotikalapudi Post author

    Thanks Reagan and Saurabh, I don’t recall getting this option to specify the port for HTTP.

    I follow the below steps to access SUM tool,

    * Start DSUservice.bat from server level

    * Once the service is running fine, I will use the URL(http://hostname:http_port/) to access SUM, where I will be able to specify the TCP port.

    Please confirm you start the tool using a different method.

  4. Ashutosh Chaturvedi

    Hi Pradeep,

    SAP Basis is like a EPIC(Mahabharata/Ramayana) the more you dig it , more you understand it.

    Great blog, I learn something new from you. Keep up the good work and also let us know about your work through your blogs. 🙂

    With Regards

    Ashutosh Chaturvedi

  5. Ashwani Vishwdewa

    Hey Pradeep,

    Great Blog Man, Keep going…..

    Can please tell me, when does this modification step comes, I have to update SAP netweaver  7.3 sps 5 to sps 12 by SUM tool, I am working on SUM tool for the first time.



      1. Ashwani Vishwdewa

        Hi Pradeep,

        Thanks for the reply, When you do SPS upgrade older objects got replaced by the newer objects like in ABAP sps upgrade, So in ABAP we reach to SPAU and SPDD modification Phase.

        Same way in JAVA SPS upgrade, When does this Phase comes.

        And I have downloaded the SPS 12 for SAP Netweaver 7.3, MOPZ is not showing SPS 12 to its latest Patch level, it is only showing the Base version of SPS 12, so is there any method to download to latest patch level.

        Best Regards,


        1. Pradeep Kotikalapudi Post author

          Hi Ashwani,

          The deployment of Java components works in different way from the ABAP Support pack implementation. Java components are deployed using SDM concept and usually we do not see the SPAU and SPDD on JAVA side. One reason could be that there were not much Java developments in our environment, but I will surely check on this and will reply back.

          Regarding the downloading of SPS12, selecting the stack level from MOPZ is the easiest way to do it. This allows MOPZ to compare your SAP system to target level and include all the required components automatically. I would like to know what are you referring to Base version of SPS12, to be able to answer this further.

          Sorry for the delay in response.


Leave a Reply