SAP NetWeaver Newbie

How to Install HANA Studio

HANA Studio is an important administrative and IDE tool to manage SAP HANA.

Where to get the HANA Studio Software?

You can download  HANA  studio from (requires S-user with download authorization)

Select Support Packages & Patches and Browse Download Catalog



Now traverse through the following links:

  • SAP NetWeaver and complementary products
  • Entry by Component
  • HANA Studio
Depending on your PC's operating system, choose one of the four links.


Download one of the SAR files (the revision should either match or exceed the HANA Database Server revision).


To extract the SAR file, you need SAPCAR executable.

Extract HANA Studio SAR File

Go to the folder where you downloaded  the HANA studio SAR file and SAPCAR.EXE, and run the following command

SAPCAR.EXE -xvf IMC_STUDIO2_<Revision>_<Patch>_<Material>.SAR

where IMC_STUDIO2_<Revision>_<Patch>_<Material>.SAR is the SAR file you downloaded.

The SAR file will be extracted to SAP_HANA_STUDIO folder.


Install HANA Studio

Run hdbsetup.exe file from SAP_HANA_STUDIO folder.


Choose the location where you want the HANA Studio to be installed.

Location where you want the HANA Studio to be installed

Select which features you want to use based on your role. I am installing all the features.

Select HANA Studio features

Select HANA Studio features

Depending on the features you are installing the appropriate components are installed. Running Equinox P2 Director took about 5-10 minutes on my computer.

HANA Studio installation progress

Finally you get a confirmation that the install was successful.

HANA Studio installation completion

As I chose the HANA Studio to start up after installation, I get to see the first run right away.

You will be prompted to choose the workspace used by eclipse. I tend to have all my application profiles inside one folder (for portability reasons), so I changed the default location to my preference.

HANA Studio workspace

A master password is set on the first run. If you need to recover the password at a later point, you will need to answer a few questions. At this step, define what the questions and the answers should be.

HANA Studio master password

HANA Studio master password

Now we are all set to use HANA Studio and connect it with the HANA applicance/database.

HANA Studio administrative console

Block ads and malware sites by using hosts file on router

I browse the web using multiple devices and adding ad-blocker or ad blocking host files to all the devices is a boring thing to do and sometimes it is not possible without jail breaking the device.

I have an old wireless router (TP-Link TL-WR740N v4) and I am using it to test out DD-WRT's ability to use a custom host file on it.

What is DD-WRT?

DD-WRT is a third-party firmware that works for a huge number of wireless routers from a variety of manufacturers. The community of DD-WRT users have created a great list of resources, which makes it easy to understand and use.

You can check this database to find out if your router is supported.

Check DD-WRT database to see if your router is supported

My router is supported!

Download and Install the Firmware

The next step would be to download the firmware suitable to your router. The downloads can be made from

Stable releases were last updated in 2008. I will be using beta firmware. I have selected a firmware version which is known to work without issues on my router (thanks to testing and suggestions from the community)

DD-WRT beta firmware for TP-Link

factory-to-ddwrt.bin is compatible with the router.

Backup TP-Link router's current configurations from (log in as admin/admin if you are using default credentials) > System Tools > Backup & Restore.

To install the new firmware, go to System Tools >  Firmware Upgrade

Select the file downloaded and click on Upgrade.

TP-Link firmware upgrade

TP-Link firmware upgrade - router restart

TP-Link firmware upgrade success

Log in to DD-WRT Control Panel

The SSID will be dd-wrt. Connect you computer to the new SSID.
The control panel of DD-WRT is accessible from
The default password is admin/admin. You will be prompted to change the default user name and password.

Change default user id and password

Set SSID and wireless access security

DD-WRT wireless SSID setting

DD-WRT wireless security

You will have to reconnect to the new SSID after applying the new settings.

Maintain your internet connection user ID and password from Setup > Basic Setup > WAN Setup

Connect DD-WRT to internet

We need the internet connection to download hosts file from

Enable SSH

We will log on to the router using PuTTY. Before we can do that, we will need SSH services running on the router.

Go to Services > Services and scroll down to Secure Shell section.

Enable SSHd  and set a port. I am using the default SSH port 22.

Activate SSH on DD-WRT

Apply settings.

Now you can log on to the router using the following settings and root user (admin is the default password)

PuTTY connection to DD-WRT

PuTTY connection to DD-WRT

Use ad-blocking hosts file

We will store the hosts file as /tmp/sowchosts and use the 0 hosts files from There are a lot of websites that maintain ad-blocking hosts files. I find this one easy to remember and use.

Maintain "addn-hosts=/tmp/sowchosts" as Additional DNSMasq Options under Services > Services > DNSMasq

Additional hosts file on DD-WRT DNSMasq

This setting tells the router to use an additional hosts file at a specific location.

From the PuTTY connection, run the following command:
wget -qO /tmp/sowchosts && stopservice dnsmasq && startservice dnsmasq

This command downloads the hosts file and places it on the desired location. If the download is successful, it will stop and start the dnsmasq service.

Set the following cron job by maintaining "0 1 * * * root wget -qO /tmp/sowchosts && stopservice dnsmasq && startservice dnsmasq" under Administration > Management > Cron.

DD-WRT setting a cron job

The router I am using doesn't allow me to operate anywhere other than /tmp folder. But the contents of /tmp are removed (and defaults are recreated) after a router restart.

With the cron job, I'll be re-downloading the hosts file which gets lost on router restart. Plus the hosts file on is updated regularly, so I get to have the updated one on the router.

Make sure the DNS settings on the devices first use (router) and then other DNS servers ( for example)

There are a lot more powerful features that I can test and use to my benefit. Getting rid of pop-ups was my priority as iOS devices did not have good options to prevent the endless pop-ups and pop-unders.

iOS Apps for the IT crowd

Here  are some apps for the IT people who spend time planning, implementing, supporting, losing sleep and losing their work-life balance.

Balanced - Get more out of life

Balanced is a motivational/productivity app that prioritizes and even suggests activities.

The interface is beautiful. Very helpful app if you need reminders to do things that you plan to do. A lot of the options seem similar to Demetri Martin's "If I" special where he did a personal goal sheet.

the entire idea of balancing my life with helpful reminders is right up my alley  Balanced is a motivational/productivity app that prioritizes and even suggests activities.

The App is currently available for free on App Store (used to be $1.99).

If you like this, I recommend 30/30 (free) to chop up the tasks you chose to take on. You can use a technique like the pomodoro technique or set your own multiple timers with it.

Duet Display - Turn your iPad, iPhone or iPod touch into additional display

Duet increases your personal productivity by extending your computer screen (Mac and Windows) to your iPhone/iPad/iPod Touch.

Duet Turn your iPad, iPhone or iPod touch into additional display   

Duet requires a cable to be connected. If you are looking for a wireless option you may try iDisplay ($9.99). However, Duet beats iDisplay in speed and usage. I haven't used it yet, but Air Display 3 ($14.99) also comes highly recommended.

At the moment Duet is priced at $15.99. It is also occasionally on sale (I got it for $10)

Microsoft Remote Desktop - Remotely connect to your PC

MRD allows you to connect to your windows desktop or windows server remotely and securely.

Microsoft Remote Desktop

The best place to find the resources you are already familiar with is your PC. Connect remotely to access your PC.

FAQ about this app is available here.

Check out Jump Desktop ($ 14.99) and Citrix Receiver (Free) if MRD does not help you.

This app is available for free.

Fing - Network Scanner

Fing is an amazing network discovery tool that does DNS lookups, traceroutes, and port scans. Even does WOL which is fun at home.

Network scanner app  Free Network scanner app - Fing

This app is available for free and lot better than most paid ones.

RSA SecurID - Ditch the keyfob

With RSA SecurID, get the token on your phone instead of having to carry the keyfob. Makes it lot more convenient.


This app is free.

LastPass - Password Vault

LastPass is a godsend for all those passwords you don't remember. Syncs with other devices and desktops/laptops.

LastPass - Password Vault  LastPass - Password Vault

A free app.

Calendars 5 - Event and Task Manager

Calendar 5 is my current calendar app. I've tried Fantastical ($4.99), Sunrise (Free), Cal (Free), and more. My favorite aspect about this app is the UI, particularly the Week view.

Calendars 5 - Event and Task Manager  Calendars 5 - Event and Task Manager

It's the most useful digestible Week view that I've found--you can view your whole week at once and if you don't have too many events each day you can literally see everything. I also like the natural language event input and the universal app for iPad.

One more thing I like about Calendars 5 and Fantastical is the integration with iOS Reminders. You can add and edit reminders within these calendar apps, and they sync with the Reminders app in OS X.

It allows you to sync google calendars with your phone. And you can hide and show ones from your account whether or not you own the calendar (Apple Calendar doesn't let you do this). Tap the "menu" button on the top right corner which enables you to change between day, week, and month views. Then tap the "31" calendar icon in the top right corner.

The app is currently priced at $ 6.99 on App Store. I got it for free last year.

If you have an app recommendations or better alternatives for IT folks, leave a comment. You can watch for price drops and apps gone free on App Store.

Preventing Pop-Under Ads on Google Chrome using uBlock Origin

uBlock Origin is a great ad-blocker, using minimal resources compared to Adblock Plus.

However, simply installing it is not going to help with controlling pop-under ads. When you visit the offending website, click the bottom left button in ublock to block all popups/pop-unders.

Dealing with Common Memory-Related ABAP Short Dumps

ABAP Dumps are one of the basic means of troubleshooting system issues. Here are some commonly occurring memory related short dumps and how to deal with these dumps.

Dealing with Common Memory-Related ABAP Short Dumps

Dumps starting with TSV_TNEW_

When a work process requests for memory, the allocation is first from "Extended Memory" based on profile parameters 'roll_extension' and 'initial_size_MB' (in case of implementation variant UNIX_STD; or TOTAL_SIZE_MB in case of SHM_SEGS AIX).

If the request for memory fails, memory allocation is attempted from "Private Memory" of the work process.

If that allocation also fails, a runtime error "TSV_TNEW_PAGE_ALLOC_FAILED" error is reported.

The dump TSV_TNEW_BLOCKS_NO_ROLL_MEMORY means that the roll buffer has been exhausted.

Each transaction requires some main memory space to process application data. If the operating system cannot provide any more space, for example while initiating the memory for an internal table, the transaction is terminated and the program terminates with the error TSV_TNEW_OCCURS_NO_ROLL_MEMORY.

TSV_TNEW_OCCURS_NO_ROLL_MEMORY occurs if the first allocation to an internal table fails, while other TSV_TNEW_* dumps occur at later stage of allocation request failure.

Dealing with TSV_TNEW_* dumps

1. Check if inappropriate selection criteria has lead to a spike in the demand for memory. Advise the end user to restrict the selection criteria.

2. Check if memory intensive programs or transaction are being run in parallel. You can make that out with multiple dumps. Distribute the transactions or programs by time or application servers.

3.  Search SAP notes matching the program name or transaction, and the dump to look for known program errors. Memory leaks can cause exhaustion. ABAPers should check for possible optimizations in Z programs.

4. If selection criteria cannot be controlled or program cannot be optimized
  • Review the parameters "ztta/roll_extension" and "em/initial_size_MB" (for HP-UX and AIX UNIX_STD) or "EM/TOTAL_SIZE_MB" (for AIX SHM_SEGS). If es/implementation = map in Linux, review the parameter em/address_space_MB.
  • Apart from Extended memory parameters, the SAP parameters for ‘private memory’ "abap/heap_area_dia", "abap/heap_area_nondia" and "abap/heap_area_total" can be adapted. Heap memory can be increased temporarily (on the fly) without restarting the system by using the report RSMEMORY.
  • Check whether the parameter changes could lead to more memory demands against the OS ("sappfpar check pf=<profile>"). This program determines the storage resources required by the SAP server using the parameters that are currently set.
  • Run "memlimits -v off" (On HP-UX, it is best to execute the program when the SAP system is shut down). This program checks the limits of the available operating system storage resources.

5. If you notice TSV_TNEW_BLOCKS_NO_ROLL_MEMORY, apart from applying the above steps, check the following:
  • Call transaction ST02 > detail analysis menu > history/buffer statistics > Roll & page area
  • If the roll buffer has been exhausted, increase the size with parameter rdisp/ROLL_MAXFS, however make sure there is sufficient disk space to handle the additional size of this buffer if it writes to disk.

6. If you notice TSV_TNEW_OCCURS_NO_ROLL_MEMORY dumps, check if there are other dumps at the same time. The dumps are usually accompanied by other TSV_TNEW* dumps or SYSTEM_NO_SHM_MEMORY.

If this dump is accompanied by SYSTEM_NO_SHM_MEMORY, increase parameter abap/shared_objects_size_MB to a higher value and restart the SAP instance to take effect. Consult "Related Notes" section of SAP note 1322182 for guidance on choosing the value for certain applications.

7. If the failure occurred even though the limits on roll, extension or heap memory were NOT hit, check if you see SYSTEM_NO_ROLL error with a line similar to "Unable to fulfill request for XYZ bytes of memory space". If you see this, check the current value of ztta/max_memreq_MB. This parameter limits the amount of memory that can be allocated by a single call.

If the SOLUTION points 1, 2 and 3 are not applicable, increase ztta/max_memreq_MB. Ensure that the change does not violate this condition:
ztta/roll_extension < (4096 - ztta/max_memreq_MB) * 1024 * 1024 - 1


This error occurs if the SAP System attempts to allocate memory areas from the memory area 'HEAP'. However, this memory is exhausted, although the limit abap/heap_area_dia or abap/heap_area_nondia is not yet reached.

These profile parameters are obviously not checked against the available SWAP memory on the application server.


  1. Note the value that is given as the allocated memory under 'What happened' in the short dump, and subtract a nominal value ex: 10000000 from it.
  2. Set the system profile parameter ABAP/heap_area_nondia to this value. If the parameter ABAP/heap_area_dia is now larger than ABAP/heap_area_nondia, set this parameter to the noted value as well.
  3. Restart the SAP System.


This error occurs if the current application server no longer has sufficient shared objects memory available to store the data in a shared objects area.

This error can also occur if the shared object memory is highly fragmented. Normally, this is not a problem because the data of an area instance can be distributed to several memory blocks that do not have to be connected. However, this is not possible for some memory objects; for the index of a hash table for example. If a connecting memory block that is sufficiently large is not found for one of these objects, the termination occurs even though the accumulated free memory would be sufficiently large.

Dealing with SYSTEM_NO_SHM_MEMORY and CX_SHM_* dumps

  1. You can use transaction SHMM to analyze the current usage of shared objects memory. The "Shared Objects Memory" title element shows the amount of free and the amount of currently used shared object memory.
  2. With the analysis report RS_SHO_GET_LARGEST_MM_BLOCK, the system can display a list of the largest free memory blocks in the shared objects memory. This enables you to determine whether there is actually a high fragmentation.
  3. Regardless of the reason for the error, the problem can be fixed by increasing abap/shared_objects_size_MB in steps of double the value until the dumps stop occuring.
  4. While changing abap/shared_objects_size_MB on AIX, ensure that the condition "em/global_area_MB + abap/shared_objects_size_MB + (em/blocksize_KB / 1024) <  (ES/SHM_SEG_SIZE -1)" is not violated.
  5. Consult "Related Notes" section of SAP note 1322182 for guidance on choosing the value for certain applications.


This error occurs if the program buffer could not be created with the size specified in the profile parameter abap/buffersize (KB).

This could be because of insufficient memory/swap space on the system.

Shared Memory segment 6 (PXA –abap/buffersize) is the last one allocated, so you may not see issues with other segments.

The application server goes into the "emergency mode" and the system attempts to create the program buffer with size of 4 MB for each work process or 32 MB in the shared memory, depending on the release level or patch level of the kernel. In the emergency mode, only two work processes (w0 and w1) are started. If this attempt also fails, all work processes terminate with an initialization error.

Dealing with PXA_NO_SHARED_MEMORY dumps

  1. Check if the shared memory sizes or abap/buffersize is set to a very high value. If this is too high, try reducing the parameter values.
  2. Increase swap space (20 GB + 10 GB for each additional instance).
  3. If this problem is occuring after restart of an instance while other instances on the host server were running, restart all the instances with cleanipc.


Almost always, one of the following cases is the cause for runtime error PXA_NO_FREE_SPACE:
  1. The program buffer consists of several fragments, which are relatively small (300 to 400 MB). The smaller a fragment, the higher the probability that a PXA_NO_FREE_SPACE short dump occurs.
  2. The size of the program buffer is too small.
  3. Due to missing shared memory, the program buffer cannot be created in the size entered in the parameter abap/buffersize.

Dealing with PXA_NO_FREE_SPACE dumps

1. The program buffer is divided into several fragments to allow several change accesses to the buffer to take place in parallel.

The number of fragments is a function of program buffer size, CPU, number of work processes and type of machine.

It could happen that one of the fragments is filling up faster while the others are underused. This causes ineffective use of the program buffer.
  • Check if there are too many swaps in a fragment by debugging. Execute /h in OK field (where you type in transaction codes). Run any transaction. In Debugger menu, select the option Switch to classic debugger. Execute "dis" in OK field. Type PXAFRAG in Area and press enter.
  • To fix this, limit the number of fragments to 1 by setting the parameter abap/buffer_fragments = 1
2. Call transaction ST02. Check if displacements occur in the "Swaps" column for program buffer. Up to 10000 swaps are regarded as a normative behavior of a program buffer.
  • If there are more than 10K displacements, check the Freesp. KB and FreeDirEnt values. If both values or Freesp. KB are nearly 0, increase abap/buffersize. After increasing abap/buffersize, run "sappfpar check pf=<instanzprofil>" and apply suggestions to avoid memory issues.
  • During normal use of the program buffers, there is seldom more than 10% of the directory entries in use. If FreeDirEnt is nearly 0 (likely in BW system), increase the parmeter abap/programs.
  • By default abap/programs = abap/buffersize / 4. Set abap/programs = abap/buffersize.

3. If program memory could not be created, this dump will be accompanied by PXA_NO_SHARED_MEMORY error. Please see the section for PXA_NO_SHARED_MEMORY error.


The PXA_DESTROYED short dump is reported if the administrative data of the program buffer is destroyed.

All work processes are informed to wait for the PXA semaphore lock to be released. The administrative data of the program buffer is then initialized again - the program buffer is "logically seen" to be empty.

As the objects in the program buffer are not physically deleted, work processes can continue to work after the semaphore lock is released.

One of the reasons for PXA_DESTROYED short dump is small limit on the number of directory entried for PXA.

This is usually the case in BW systems:
In addition to ABAP programs, the PXA buffer also contains structures. When you execute BW queries, structures are created dynamically and these are released after you execute the query.

This also happens with the BW input help. If the input help is automated, for example, called in transfer rules, the number of PXA directory entries provided by default may not be sufficient.

In this case, obsolete entries are deleted by the PXA garbage collector to create space for new entries. If the garbage collection doesn't delete all the obsolete entries, it leads to an overflow of program buffer. If you have an overflow, all directory entries of the fragment in question are deleted.

Dealing with PXA_DESTROYED dumps

Call transaction ST02. Check if displacements occur in the "Swaps" column for program buffer. Up to 10000 swaps are regarded as a normative behavior of a program buffer.
  • Check if FreeDirEnt is nearly 0. If this is the case, increase the parameter abap/programs.
  • By default abap/programs = abap/buffersize / 4. Set abap/programs = abap/buffersize to eliminate the overflow in the PXA directory.
  • If FreeDirEnt is not nearly 0, the problem could be due to a kernel bug.

Email Subscription

Get every new post into your inbox by subscribing us.

Want a reason to subscribe?
1. This sitemap might convince you to subscribe.
2. We do not misuse email IDs. We respect privacy.

© 2015 sapnwnewbie. All rights reserved.