Using Google Chrome?

Download my
free Chrome Extension, Power Notes Searcher, to make searching for and evaluating SAP notes, much easier.

Monday, June 25, 2012

R/3 to ECC - Benefits of not upgrading anything?

This is a question that will probably be asked by many IT persons over the coming months, as SAP draws to a close support for the SAP R/3 4.7 system.
(see the SAP production availability matrix
Whilst upgrading to ECC will mean a SAP supported system, what other options are out there?
Let's look at just a few so that you may have some ideas that you maybe hadn't considered.

- Stay where you are and pay for extended support.
This is an interesting option.  Let's face it, if you use SAP as a basic product e.g. for accounting or sales transactions, then exactly what else will you need from a product in the future?  Why not save the upgrade costs and simply pay for extended support, and keep paying each time it expires.
Whilst the initial support costs may be known, the future costs are not and SAP could hike these.  Also, there may be a fairly straight upgrade path to a newer product at the moment, but in the future you may have to follow that path, plus the additional paths and intricacies of upgrades to later versions in order to reach something more modern (UNICODE anyone!).
Things like OS support may bite you eventually, and those of you on HP-UX Itanium are already seeing what happens to non-x86 based operating systems when companies like Oracle decide to stop supporting you.  Your future upgrade path could involve skill-sets no longer available/costly, or even more lengthy processes because you're moving from older hardware.
On the positive side, the future could hold hope in the form of faster systems, smarter tools and cheaper processes that could make future upgrades/migrations faster and cheaper than doing it now.  A big database in the future may not be so big in relational terms.

- Stay where you are and don't pay for extended support.
You will loose all access to standard SAP support sites and tools, plus you will not benefit from any DB updates or DB vendor support.
This could be very problematic if your business needs to apply SAP legal patches for changes to HR related functions within the SAP modules.
I'm not entirely sure if you will still be able to request SCCR keys for modifying SAP objects or even be able to develop your own ABAP code in your own system.  Maybe someone can let me know on that one.
Some of the words in Oracle Database support contracts state that you may have to back-pay for support if you decide to re-enable support at a later date.  I'm not sure if SAP would be the same.
You would potentially suffer during external audits if additional security related legislation comes along (SOX for example) and you are not able to apply the updates/functionality to provide that security.

There are some common issues with both options above.  These mainly centre around the IT resources that are supporting those systems.  Nobody likes to stay still in IT.  Not unless they are happy in the knowledge that retirement is looming and they just need to keep rolling in the meantime.
The constant need to keep abreast of the latest technical enhancements/changes is one of the most difficult aspects of the IT profession.
However, with the advent of off-shore IT resources, it should be possible to secure long-term support resources even if you can't secure them on-shore.  Having said that, I don't yet know of any off-shore company that has a high retention level.  Maybe this is coming...

In summary, there are some cost advantages in the short term for not upgrading an SAP system.  But unfortunately those costs may hit you in the end in some form or another.

Monday, June 18, 2012

SAP - Oracle on VMware

Whilst researching the whole Oracle on VMware thing recently, I found a great number of articles on the subject.  Here's a collection of the links I found most helpful whilst getting to know the principles of virtualisation all the way through to publicly available information on the performance of Oracle on the VMware vSphere platform.

Hardware Abstraction Layer definition (

Wikipedia definition (,
VMware’s definition (,
VMware’s definition (

Intel VT-x Instruction Sets (

VMware ESX and ESXi:
What does ESX stand for (,
Comparing ESX with ESXi (,
ESXi v5.0 released (,
ESXi architecture white paper (

VMware vSphere:
Product offerings (,
Support (,
Kits (,
What’s new in v5 (,
Supported guest OS (,
VMware Oracle support policy (,
VMware HCL (,
vSphere Licensing and cost (,
Forrester Report - Total Economic Impact Of VMware vSphere Virtualizing Mission-Critical Oracle Databases (,
Oracle on VMware vSpehere 4 Essential Deployment Tips (,

RedHat Certifies Linux on VMware (

Microsoft will support Windows on VMware (, (

Support Oracle RDBMS, Linux on VMware (,
Oracle Linux same as RHEL (,
Oracle licensing (, (,
Oracle License & Service Agreement (,
Oracle Processor Core Factor Table (,
Oracle VM Tolly Group report (
Running Oracle Production Databases on VMware (

Tolly Group (

Running SAP on VMWare (,
TCO and ROI of running SAP on VMWare (,
SAP Note: 1122387 – Linux: SAP Support in virtualized environments (,
SAP Note: 1122388 – Linux: VMware vSphere Configuration guidelines (,
SAP Note: 1492000 – General Support Statement for Virtual Environments (,
SAP Insider – 3 common misconceptions (

Monday, June 11, 2012

Make Show a List Of Labels By Title Only

NOTE: I have since stopped using feed2js as blogged about below.  I'm writing a new post on how to do this using the Google Feeds API.

Do you use for your blogging?
One of the short comings of is the categorisation of posts.  Also known as tagging or labeling.
There is no neat way in that you can list all posts by a specific label.  The standard method produces a massive page listing all the contents of all the pages containing your selected label.
This is not very helpful if you're looking for something and it's also very slow to load.

After spending much time looking for a solution I found feed2js.  A Google Code project that allows you to embed an RSS feed into a web page using JavaScript.

Here's an example I've been using on my blog since day one:
Not only is it just what I need, but I've managed to program it so that it can dynamically take a parameter on the end of the URL and display any specified label.
Example:   will only display pages containing the "Musing" label.

Want to see how it works?
Here's the code:

<div dir="ltr" style="text-align: left;" trbidi="on">
<script type="text/javascript">
var mylabel='<MyDefaultLabel>';
var key='label';
var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
var qs = regex.exec(window.location.href);
if(qs != null)
   mylabel = qs[1];
var cssStr = ".rss-title {visibility: hidden; margin: 0em; border: 0px; font-size: 1;} .rss-box {margin: 0em; border: 0px;}";
var style = document.createElement("style");
style.setAttribute("type", "text/css");
if(style.styleSheet){// IE
style.styleSheet.cssText = cssStr;
} else {// w3c
var cssText = document.createTextNode(cssStr);
document.write ('<h2>All Posts For Label: ', mylabel, '</h2>');
document.write('<script src="<BLOGURL>%2Ffeeds%2Fposts%2Fdefault%2F-%2F', mylabel, '&amp;desc=100&amp;date=y&amp;utf=y" type="text/javascript"><\/script>');
// -->
Thanks to <a href=""></a>

Copy and paste the code (as text without formatting) into a new Page in your blog (not a Post!, a Page).  Call the new Page all-blog-posts.html
In the code (in "HTML" mode when editing the page) change the line containing "<MyDefaultLabel>" to be your default label name (case sensitive).
You should also change the text "<BLOGURL>" to be your blog's URL without the "http://" bit.
By default the code is set to display 100 characters of each entry under it's title.  You change the number 100 to be 0 for none or a larger/smaller number.
You can also choose to remove the "Thanks" line, but it's nice to give recognition for hard work.

Now you can call the all-blog-posts.html page from anywhere in your blog (or outside your blog) and just append the label name (case sensitive) after the page URL plus a question mark and the text "label".

Restarting SAP During Online BRBackup

If your online BRBackup has been started from outside of SAP (e.g. by an enterprise scheduling tool perhaps), then you can safely restart the SAP application without affecting the backup.

Simply use the “stopsap r3” command option to bring down only the SAP application and leave the database running.

If the backup was scheduled within SAP (e.g. through DB13), then you are not advised to do this since SAP will be waiting for the BRBackup return code.

Wednesday, June 06, 2012

Self Extracting tar Archive UNIX

There's a very old post here
which shows how to create an executable script with an embedded tar file, which will effectively auto-extract once executed at the command prompt.
Very neat indeed!

NOTE: when accessing the URL, you need to cancel the password prompts multiple times.

Saturday, June 02, 2012

SAP Statistics & DBSTATC

As I've blogged about before, SAP recommend that you disable the Oracle stats gathering job in Oracle 10g databases, and use their own job controlled through DB13 (or DB13c).

The reason for this, is that some of the SAP database tables have specific requirements when it comes to statistics gathering.  These tables are registered in the SAP table DBSTATC.
This table controls which tables should have statistics collected (active or not active) and the method used to collect the stats (estimate or full).
All other tables not in DBSTATC, will have their stats collected using the default BRConnect settings.

If you have custom "Z" tables, you can insert your own entry into the DBSTATC table if you know for sure that your table has specific requirements.

You can use transaction DB20 to check the status of statistics on tables.

When BRConnect runs, you will see in the log file how many tables have stats gathered using the default setting, vs those that are in DBSTATC.

Entries in DBSTATC which are disabled (should have not stats gathered) will register in BRConnect's DBCHECK log as having harmful statistics if those tables are found to have statistics on them.  You can then use BR*Tools to remove the harmful statistics, but you should attempt to work out why you have got statistics on a table that you shouldn't, otherwise they may re-appear.

You need to be aware that SAP provide a specific SAP note, 403704 that contains updates/revisions for entries in DBSTATC.  It may be worth reviewing this note once a year, as you may find some performance benefit from updated statistics, or removal of statistics on tables.

Take a look at Tom Cenens' blog for additional information on this subject:

SAP help for BRConnect: