As usual, this blog is not for geniuses or Basis gurus! Most of the time I like to write for people like me who learns by doing and some time looking at others works.
In this blog, my focus will be on two things:
- How to work with the NetWeaver Developer Studio 7.31 (NWDS) for deploying and un-deploying any SAP or third party java component.
- How to play with SCA, SDA & jar files where to look for the required class.
...of-course with help of lots of screenshots, fun starts now!
I think I am not re-telling what is present at the link below
SAP NetWeaver Developer Studio 7.1 Overview
SAP has this habbit to take out people from their comfort zone, some time for good and some time for ....... anyway.
It will not be fair to compare SDM and NWDS. Later is much versatile tool, I have seen PI guys working with NWDS instead of their old ways from SXMB_IFR then ESR or IB.
![0.png]()
This is just an example, that NWDS is not just for us(Basis). Lets see how we can use this tool:
NWDS can be downloaded from service market place, unzip it and its ready to work. Double click on executable, it will first ask for a directory location, you can provide the location or let it select the default one, its upto you.
![]()
<<If you want to view screenshot clearly then you need to click on each of the screenshot so that they can open in actual size, otherwise some of them are not clearly readable.>>
Here is the first screen. Click on Windows the preferences.
![1.png]()
You will get screen like below select SAP AS Java, if you have older version, find something similar to that.
On right side you can find Add button. Click on it, you will get another pop-up window seeking
- your java hostname,
- Java system instance number like you give in your URL(http://<hostname or IP>:5NN00) here NN is instance number.
- Add to Domain: I select from drop down value "Default"
![2.png]()
When you click on OK you may be able to view one entry like below for your Java system ID. If you are not able to see any entry, don't worry click OK because sometime I get the entry and sometime I don't see any entry, but in both cases it works as expected.
Now again click on Window -> Show View -> Other
![3a.png]()
You will get below screen, Select "Deploy View" and click on OK.
![4.png]()
![5.png]()
Now click on External Deployable Archives, you will see options with radio button on right side.
![6.png]()
Selecting the option "Update deployed archives with any version"
By this option you can over-write the java component of present version with any version you want.
(For example with SAP or someone else suggestion you upgraded certain components but it didn't worked as expected so you want to revert it back. Additionally I have used this options to deploy com.sap.aii.af.axisprovider component several times)
![7.png]()
Right click on "External Deployable Archives" and click on Add
![8.png]()
you can browse to the SCA or SDA files where you have stored them on to your system from where you have started NWDS. You can select more than one component at a time.
![9.png]()
After selecting and clicking on Open button we can see those entries below "External Deployable Archives"
![10.png]()
Again you can right click on "External Deployable Archives". Now you can see the deploy option, click on the Deploy.
![11.png]()
It will prompt for your Java system admin and password, unless you have not selected the option "Store username and password in secure storage"
(Based on the type of your system it could be j2ee_admin or administrator or any other user with similar authorization.)
![12.png]()
Personally I prefer to give password manually everytime, so I uncheck the tick like below screenshot. Its your choice.
![13.png]()
If everything is fine the deployment will start and you can click on right-bottom to view details of deployment.
![14.png]()
including "progress view" from my another deployment just to show.
![14a.png]()
The time taken varies based on the number of components and their type. When it is finished you can see the details.
![14.png]()
- File:C:\Users\ahmadi\Desktop\AS1\AJAXRUNTIME07P_7-10008281.SCA
Name:AJAX-RUNTIME
Vendor:sap.com
Location:SAP AG
Version:1000.7.30.7.7.20130709001200
Deploy status:Success
Version:LOWER
- File:C:\Users\ahmadi\Desktop\AS1\ENGINEAPI07P_21-10007921.SCA
Name:ENGINEAPI
Vendor:sap.com
Location:SAP AG
Version:1000.7.30.7.21.20130620213900
Deploy status:Success
Version:SAME
- File:C:\Users\ahmadi\Desktop\AS1\FRAMEWORK07P_5-10007877.SCA
Name:FRAMEWORK
Vendor:sap.com
Location:SAP AG
Version:1000.7.30.7.5.20120702074800
Deploy status:Success
Version:SAME
- File:C:\Users\ahmadi\Desktop\AS1\WDRUNTIME07P_18-10007825.SCA
Name:WD-RUNTIME
Vendor:sap.com
Location:SAP AG
Version:1000.7.30.7.18.20130715190900
Deploy status:Success
Version:LOWER
- File:C:\Users\ahmadi\Desktop\AS1\SERVERCORE07P_66-10007988.SCA
Name:SERVERCORE
Vendor:sap.com
Location:SAP AG
Version:1000.7.30.7.66.20130705014900
Deploy status:Success
Version:SAME
Result
Status:Success
![stone-line.gif]()
Now lets give a quick glance at how to un-deploy any component, though I have not done it my self yet! because there was no requirement, and I need to keep my job going too ![]()
Lets get the undeploy View.
Click on Window -> Show View -> Other
You will get below screen, Select "Undeploy View" and click on OK.
![a1.png]()
As we have seen in earlier discussion we need to put the hostname, instance and domain.
![a2.png]()
We get a view like below. Check those two groups of radio button. You need to be very sure what you are doing. If I need to undeploy any component and I am not sure if that component has dependency, I will select "If depending stop"
We can click on refresh.
![a3.png]()
It will prompt for Java Admin User ID and password
![13.png]()
based on the type of your system it could be j2ee_admin or administrator or any other user with similar authorization. Now you will be able to see all the installed components in left hand side of Undeploy View.
![a4.png]()
Select the component or sub-component and right click on that. Select "Add to Undeploy List" by doing that you'll see the component name will get added to right hand side panel along with its detail.
![a5.png]()
You can add more than one components in the "Undeploy List Panel".
Now you can see the button ("Undeploy all items in the list") as pointed in below screenshot.
When all set, click on the button to undeploy the component.
![a6.png]()
![stone-line.gif]()
In this last section, lets discuss the structure of SCA, SDA and jar file.
Recently I was working with com.sap.aii.af.axisproviderlib.sda file, because there was requirement to deploy some missing components in PI related to Axisprovider. Below is the screenshot.
![b1.png]()
In your PI System you can get this screen by this URL
http://<PI Hostname>:5<NN>00/XIAxisAdapter/MessageServlet
This will also give you suggestion from where to download missing jar file. Sometime you will not be able to get compatiable jar files, you don't have to find the jar file with exact same name. What is more important is getting the class file in exactly same location as it is being searched by the System.
Lets verify if the jar file is correct file or not. First you will get a zip file, you need to unzip it to get jar file. If you are downloading from net you can directly get jar file. When you find the jar file, you can make a copy of jar file and rename it to .zip file. Now use your installed zip program like winzip or any other program to see where is the desired .class file is located.
![b2.png]()
![b3.png]()
In case if you are getting .class file with exactly same name but it is placed in different path then deploying that jar file is not going to help you.
Now even if path and class name matches it does not ensures that after deploying it will resolve issue, compatibility with rest of the dependent component can only be found out after deploying them.
So it is Very Strongly suggested that you should have a backup of .sda file which you deployed earlier, so that in case after deploying the services will not come-up you can re-deploy the old file and get back the services. For any of these action you don't have to restart java.
Next question is how to pack this jar file in existing sda/sca/ear file?
Secret is; all sda, sca, ear, jar files are actually a type of zip file, you can always rename them to zip and use your local zip program on your PC. Locate the directory inside the unzipped directories where you see other jar files, place your new jar file there... and look for provider.xml file in other directory
for example in our case the jar name is commons-net-1.4.1.jar so we will add one extra line in between of others.
<jar-name>lib/commons-net-1.4.1.jar</jar-name>
In the end, zip everything back and rename it from .zip to .sda, now you are ready to deploy with NWDS.
I am not going in much details because there are already material out there on net and sdn about it. For example read this note to get some idea about it
1028961 - How to prepare axisproviderlib.sda for Adapter Framework
you can also read blog Deploying JDBC drivers in PI 7.1x Systems
After deployment you can actually go and check at OS level. Like in our case this file is external file, so you can goto
/usr/sap/<SID>/DVEBMGS<NN>/j2ee/cluster/bin/ext (ext means external)
our sda file name is com.sap.aii.af.axisproviderlib.sda
so we will find a directory named com.sap.aii.af.axisproviderlib
inside it as we put all our jars inside lib directory before zipping it back, we can find one lib directory and there we will see all the jars successfully deployed there. If you will redeploy the same .sda file after removing particular jars, then that particular jar will get deleted from OS level as well.
Now in some of your "quests" if you are looking for any class file, you know now that they will be inside some jar files, simple go to the most probable location and give this command, like I am searching for HttpClient.class I will go to /usr/sap/<SID>/DVEBMGS<NN>/j2ee/cluster/bin/ext and execute below command
find . -name "*.jar" -exec grep -Hsli HttpClient.class {} \;
.....By this I am signing off, your comments and suggestions are most appreciated ![]()
![LineSeparator.jpg]()
My other Blogs, if you have time...
What's new in SAP NetWeaver 7.3 - A Basis perspective Part-I
What's new in SAP NetWeaver 7.3 - A Basis perspective Part-II
Bye bye STRUSTSSO2: New Central Certificate Administration NW7.3
Escaping tough moments of SPAM or SAINT
SAP Software Provisioning Manager : with screenshots
Multiple/Bulk transports with tp script for Unix (AIX, Solaris, HP-UX, Linux)
Script for deleting files within a directory structure with different retention days
Holistic Basis View: BusinessObjects BI 4.0 SP 2 Installation & Configuration
How to Rename the Oracle Listener & Change Listener port for SAP
OSS1 & RFC connections SAPOSS, SAPNET_RFC, SDCC_OSS
Start/Stop SAP along with your Unix Server Start/Stop
Interrelation: SAP work process, OPS$ mechanism, oracle client & oracle shadow process
Install and configure NetWeaver PI 7.3 Decentralize Adapter part-1
Install and configure NetWeaver PI 7.3 Decentralize Adapter part-2
List of Newly added/converted Dynamic parameter in NetWeaver 7.3
Sunset for ops$ mechanism: No more supported by Oracle & Not Used by SAP
Essential Basis for SAP (ABAP, BW, Functional) Consultants Part-I
Essential Basis for SAP (ABAP, BW, Functional) Consultants Part-II
Essential Basis for SAP (ABAP, BW, Functional) Consultants Part-III
![]()