Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member

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:

  1. How to work with the NetWeaver Developer Studio 7.31 (NWDS) for deploying and un-deploying any SAP or third party java component.
  2. 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.

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.

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

  1. your java hostname,
  2. Java system instance number like you give in your URL(http://<hostname or IP>:5NN00) here NN is instance number.
  3. Add to Domain: I select from drop down value "Default"

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

You will get below screen, Select "Deploy View" and click on OK.

Now click on External Deployable Archives, you will see options with radio button on right side.

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)

Right click on "External Deployable Archives" and click on Add

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.

After selecting and clicking on Open button we can see those entries below "External Deployable Archives"

Again you can right click on "External Deployable Archives". Now you can see the deploy option, click on the Deploy.

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.)

Personally I prefer to give password manually everytime, so I uncheck the tick like below screenshot. Its your choice.

If everything is fine the deployment will start and you can click on right-bottom to view details of deployment.

including "progress view" from my another deployment just to show.

The time taken varies based on the number of components and their type. When it is finished you can see the details.

  1. 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

  1. 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

  1. 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

  1. 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

  1. 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

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 :wink:

Lets get the undeploy View.

Click on Window -> Show View -> Other

You will get below screen, Select "Undeploy View" and click on OK.

As we have seen in earlier discussion we need to put the hostname, instance and domain.

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.

It will prompt for Java Admin User ID and password

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.

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.

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.

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.

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.

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 :smile:

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

13 Comments
Labels in this area