Purpose
The purpose of this document is to list all the undeployment options available to undeploy .SDA (Software deployment Archive) and similar files on SAP J2EE servers Netweaver release: 7.1/7.2/7.3 and the upcoming 7.4 version. For a similar knowledge base article for the deployment of these components, check SAP KBA document : http://service.sap.com/sap/support/notes/1715441.
In earlier SAP releases (version 6.40 and 7.00) the Software Deployment manager (SDM) tool could have been easily used for this. However, it has depreciated in the latter releases.
Option 1
The best option to use is the J2EE TELNET "UNDEPLOY" command.
1) Open telnet connection and run the below commands:
> lsc (to list the available server nodes)
> jump <server node> (usually jump 0)
> add deploy
> undeploy -h (to get the command syntax and all the available options. For more information, check http://wiki.sdn.sap.com/wiki/display/TechTSG/(JSTSG)(Telnet)DeployController+Commands
For example: >undeploy name=com.sap.pct.mdm.tech.wizards vendor=sap.com name= on_undeploy_error=stop
If you wish to undeploy multiple SDAs , use the "list" option to supply an XML file as argument. Here is the syntax to run that command from telnet:
undeploy list=D:\usr\sap\UndeployItems.xml
on_undeploy_error=skip_depending on_prerequisite_error=skip_depending
******************* ******************* ******************* **** ******
The XML file has to be EXACTLY in the below format (including the case and spaces)
<Components>
<DevelopmentComponentLine vendor="sap.com" name="MyApp"/>
<DevelopmentComponentLine vendor="sap.com" name="MyService"/>
</Components>
******************* ******************* ******************* **** ******
NOTE: This will not calculate the dependencies though. If the operation fails, the logs will give you an idea on the dependency involved and then you can make a call on whether you wish to undeploy them in that order as well. Once all the SDAs related to the SCA are removed, then the "undeploy_empty_sca" command can be used to delete the empty SCA from the server.
This is extremely useful in cases where the SCA in question has many SDAs, like the GP-CORE SCA that has more than 102 deployed components and undeploying one by one can be a cumbersome affair.
Option 2
The Netweaver Developer Studio undeploy view can also be used to this purpose. Firstly navigate to NWDS -> window -> preferences and maintain the j2ee server details:
Now open the undeploy view by clicking on Window -> show view -> other
and select the undeploy view:
Once this is done, you can select the DC components that are part of the SCAs that need to be undeployed. It is also possible to select the whole SCA file using this technique:
Also do check: http://help.sap.com/saphelp_nwce10/helpdata/en/44/70655c200812d2e10000000a422035/frameset.htm
Option 3
The guiconsole.bat in the location /usr/sap/<SID>/J<nr>/j2ee/console is a script that will inturn open the telnet application and you can commence undeployment as mentioned in option 1.
Option 4
ANT scripts can be used for undeployment of SDAs. For more information on this, check: http://help.sap.com/saphelp_nwce711/helpdata/en/46/150746f21914dce10000000a155369/content.htm.
NOTE: Undeployment as such is not supported and should be used only in cases where the SAP Basis admin is well versed with the system landscape and the repercussions of this activity very well. If unknowingly a component is deployed, the best option would be to restore the system to the previous state it was before the deployment was triggered. Hence, you should always take a full offline backup before commencing deployment.