IBM Support

When applying Hot Fix to specified <NEWInstallationDir>, 'createnewruntime' target fails in class ApiRequestDispatcher

Troubleshooting


Problem

When applying Hot Fix to specified , 'createnewruntime' target fails in class ApiRequestDispatcher

Symptom

Since Sterling introduced the concept of the Runtime directory, (Yantra 7.7 and Sterling Supply Chain Applications 7.9 and beyond), the standard Hot Fix Installation intructions (Hot_Fix_Installation.txt) that is supplied with each Hot Fix mentions the following step:

Change to <temp_folder> and run the following command
ant -f Applications/Foundation/bin/HFInstall.xml createnewruntime
This command will copy the necessary folders from <YANTRA_HOME> to the specified <NEWInstallationDir> directory and the Hot Fix will be installed on this new directory.
A new Runtime will then be generated in the <NEWInstallationDir> directory itself.

Should the <NEWInstallationDir> already contain a Runtime folder (perhaps because the <NEWInstallationDir> is used as a common Hot Fix holding location), Runtime should be deleted in its entirety before running the

ant -f Applications/Foundation/bin/HFInstall.xml createnewruntime

command from Hot_Fix_Installation.txt.

In SSCAP 7.9 in particular, if Runtime already exists under <NEWInstallationDir>, you may receive a build error similar to the following:

...
[javac] /opt/yantra/yantra79/Applications/Foundation/tmp_rtmerge/src/com/yantra/interop/ services/api/ApiRequestDispatcher.java:23: com.yantra.interop.services.api.ApiRequestDispatcher is not abstract and does not override abstract method manageDataSecurityGroup(com.yantra.yfs.japi.YFSEnvironment,org.w3c.dom.Document) in com.yantra.api.ycp.security.manageDataSecurityGroup
[javac] public class ApiRequestDispatcher implements YIFApi {
[javac] ^
[javac] Note: Some input files use or override a deprecated API.
[javac] Note: Recompile with -deprecation for details.
[javac] 1 error
[if] Error in class net.sf.antcontrib.logic.IfTask
[antcall] Exiting /opt/yantra/yantra79/Applications/Foundation/bin/buildRT.xml.
[ant] Exiting /opt/yantra/yantra79/Applications/Foundation/bin/buildRT.xml.

BUILD FAILED
/opt/yantra/tmp/hf/Applications/Foundation/bin/HFInstall.xml:256: The following error occurred while executing this line:
/opt/yantra/yantra79/Applications/Foundation/bin/buildRT.xml:142: The following error occurred while executing this line:
/opt/yantra/yantra79/Applications/Foundation/bin/buildRT.xml:225: Compile failed; see the compiler error output for details.
at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.jav a:539)
at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:384)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
at org.apache.tools.ant.Task.perform(Task.java:364)
at org.apache.tools.ant.Target.execute(Target.java:341)
at org.apache.tools.ant.Target.performTasks(Target.java:369)
...

-----
PART: Platform-Installation 7.9 Platform

Cause

Resolving The Problem

This is due to a change with the implementation of the manageDataSecurityGroup API that occured in a 7.9 Hot Fix. Since it is now part of the YIFApi implementation, during the Runtime merge into which a Runtime already exists, it is referring to the old implementation and not considering the new one.

Hence, it is necessary to remove the existing <NEWInstallationDir>/Runtime and then generate a new Runtime folder via the ant call.

[{"Product":{"code":"SS6PEW","label":"IBM Sterling Order Management"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Component":"Not Applicable","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Historical Number

PRI49784

Product Synonym

[<p><b>]Fact[</b><p>];

Document Information

Modified date:
16 June 2018

UID

swg21534893