Getting an SAP job

The most popular SAP-related question I see is some variant on “How do I get into SAP?” The promise of a rich career with the world’s largest enterprise applications company attracts a lot of interest from university graduates, IT professionals seeking to switch fields and consultants eager for recurring engagements.

Rather than offering specific advice, because evryone’s position is different, I’d suggest that you educate yourself about the various business and technical contexts in which SAP operates. The more you learn, the more you’ll learn which part of SAP appeals to you, or even whether SAP is right for you in the first place. It’s an investment that may get you into the SAP door, and it will keep paying off, as you will get into the habit of staying up to date with SAP developments.

An excellent resource to help you build your SAP intelligence is SearchSAP, who have an excellent catalog of podcasts containing valuable advice and direction for SAP job seekers. If you don’t have the time to listen to them immediately, download them and listen to them on a commute to work or on a plane. Some notable recent podcasts for SAP job seekers:

  • SAP and SOA: Want to know how SOA is changing the SAP careers field? Listen to SAP expert Rabi Jay explain how SOA is changing SAP’s product set and rewarding particular skills over others.
  • The SAP skills shortage: What it means for you. The good news for SAP job seekers is that SAP demand is higher than qualified supply. Some areas of SAP are more open than others. In this podcast, David Foote explains which SAP areas are paying the most and which areas are not as hot.
  • SAP explains its certification program: SAP offers three levels of certification. Learn what the levels are, why SAP thinks certification is important for hiring managers and why getting certified by SAP partners instead of by SAP may be pointless.
  • How can ABAP developers survive in a NetWeaver era?: ABAP is SAP’s proprietary development language, but recent moves towards SOA (particularly in NetWeaver) have offset the once-unchallengeable status of ABAP. Developers should listen to this podcast to learn how to polish their skills for the SAP jobs of tomorrow.

Another extremely good resource is the SAP Developer Network. This is designed for practicing SAPers, so the Getting Started link is about getting started in the Software Devloper Network, but some usefull posts include:

  • Trial Versions of SAP Software: How to obtain and install the free trial versions of SAP software. The best news is that these will run in Virtual machines, so you can install several different versions (Linux, Windows, DB2, maxdb) and experiement.
  • SDN Subscriptions. SDN subscriptions offer on-line convenience, lower-cost, term-based access to the educational content, SAP software and the related services, designed for peopel and organisations who know they need SAP knowledge, but don’t have access to (or can’t afford) full time class room training and consulting.

2 ways to Measure Exact Throughput of a TCP IP network

One of the sizing issues with an SAP system that doesn’t receive due consideration is the network capability; not just speed, but throughput. It’s always usefull to know what your Network is capable of, especially if you have lots of data to move (Support Packs / Support Stacks and so on). But how do we find out?

NetCPS (a single executable file) is rather simplistic, with no fancy features as the author (credits to Jarle Aase) says. It pumps 100MB of generated data (without accessing the HDD which could mess with the final result) and then displays the result in form of average speed stated in both KB/s and MB/s. You can also get source code if you’d like to do some further tinkering with it, or port it. Everything you need to know is on the webpage or available by using -help switch.

Another, more sophisticated, tool (without being too big) is Iperf (a single executable, with source available on the same page). Settings are changed by use of various switches.

For example, the image above shows the port used is changed to 1234, amount of sent data set to 200 MB, interval of reports set to 2 seconds for better accuracy and report format set to MBytes. The usual -help switch brings up further instructions for changing the many additional switches and settings available with this tool


SAP Certification Changes and SAP Careers

On a recent SearchSAP podcast, SAP explains the new certification options that are available. There’s also some detail coming to light on the SAP Certification site.

The original level of SAP certification is now called the “Associate” level, aimed at inexperenced practitioners. SAP is also rolling out the “Professional” level certification for people with more extensive project experience with system integration, and applying the “Associate” skills against the Customer requirements. This is a more rigorous certification program, where project experience will be mandataory, so may carry more weight with Customers and therefore employers. Most of these certifications are available now.

There is also a third level of certification on the way also, called the “Master” level, designed for the Project or Team Leader with 10 years or more experience. These should be available from the 4th quarter 2008 onwards. Some other key points to takeaway:

  • if you’re going to invest in certification, invest in SAP’s own three-tiered certification offering, which is the only official, SAP-recognized certification offering in the marketplace. Lots of third parties currently offer SAP ‘certification,’ but SAP is going to be more aggressive about regulating these kinds of claims.
  • Certification is most important at the early stages of an SAP career, but fades in importance later on. It is in response to this that SAP offers a ‘master’ tier of certification to recognize and reward senior-level consultants and their experience.
  • SAP’s certification seeks to encourage and enable lifelong learning. It is part of the process of becoming a better SAP consultant. Thus, certification is not an end but a means.
  • There are plans to enable a social network, providing personalised training paths and discounts based on your existing and planned certifications.

Some sample questions are already available on the levels, certification focus areas, and exam preparation.pages, including

Depending on where you are located, and at what stage you are at in your career, you may be wondering if SAP Certification is worth spending time and money on anyway. In the BASIS field particularly, the arguments revolve around SAP specific skills versus real life experience, especially nowadays where there is so much more to maintaiing SAP systems than just the SAP systems themselves. The article does have a useful comment from John Reed, the SearchSap Careers Expert. I’ve pulled some extracts from John’s comment:

Back in the 1990s, it was possible to land an SAP job with “certification only” because there weren’t enough experienced consultants, and “Big Six firms” on large project sites were able to field teams with plenty of junior-level consultants who did not have any hands-on SAP experience other than their classroom certifications.

And there are fewer “big bang” type implementations where companies just open the floodgates and hire hundreds of consultants regardless of experience level. As a result, even though the SAP consulting market is very healthy, the power of SAP certification to land that all-important first project has diminished over the years, and I don’t expect that power to return.

Sometimes I have found that SAP hypes its own certification, but often, I find that it’s the job seekers themselves who latch onto certification and hype it for themselves.
…..many aspiring SAP professionals view certification as the easy (if expensive) way to open a door into the SAP field that is not always easy to open.

how many SAP jobs require certification? The answer is: only a small percentage. Project references are so much more important,

I think knowing how to make your current skills appealing to SAP customers and their IT departments may be more important. One good exercise is to review current SAP jobs on sites like SearchSAP.com and see what kinds of skills are required.

The key to breaking into SAP remains hard work, good overall technical and business skills, and savvy self-marketing.

Some of his comments resonate with me and my career. I had general Mainframe Systems Programming (DOS and MVS, CICS and a mixture of Databases) experience, but also Windows PC programming experience, when I applied for a job at an SAP R/2 site that was looking for a Capacity Planner. I was able to leverage my mainframe skills (JCL, CICS, Assembler, and DB2) into a Job with the R/2 BASIS group. A couple of years later, I applied for a job with an outsourcing company with a strong SAP Practice, on the condition that I was to be transitioned into R/3 BASIS. This was back when the 3.x releases of SAP were being implemented.


Network tools for BASIS Administrators

Depending on how advanced the rest of your IT organisation is, you may need to be the jack of all trades. In fact, sometimes it feels as if anything that a Developer or End User doesn’t understand automatically becomes the property of the BASIS Administrator. Typicaly, these can include anything to do with the infrastructure between the users desktop and the SAP application.

An example I’ve been currently working on is a network issue where a user can access the Portal from one machine but not another. I used to use separate tools to do my network monitoring and debugging (yes, there are people responsible for this, but I have won a lot of good will by providing as much data as possible), but these days ….

Net Tools 2008 has been described as The Swiss army tool for network administrators everywhere. It is a very versatile tool, and
just like any tool it can be used for good or evil. What this means is that you may find the site blocked at work.

Available functions, usefull for both the desktop and Windows Servers, include

An FTP Client for quick file transfers,
Monitor system up status with Monitor Host IP,
Mass file renamer, to rename a whole bunch of log files,
Bandwidth Monitor.

Another tool that I’ve feard of is eToolz which is a collection of network and Internet tools that provides a graphical interface for several common commands. This includes ping, tracert, DNS lookups, http headers, default ports, etcetera. This seems more directedt to someone who who supports web sites, but after all thats what the Portal is …


Upgrade to SAP ECC 6.0

I’m posting these links for myself and anyone else who may be required to lead or assist in an upgrade to ECC6.  They point to blog entries the SAP Developer Network, which is an SAP sponsored and developed community site for all things SAP.

How To Tackle Upgrades to SAP ERP 6.0
This blog addresses frequently asked questions about the upgrade to SAP ERP 6.0, asked by customers at user group events, projects, and other occasions.  Mar. 20, 2008

How To Tackle an Upgrade (2): Technical Upgrade
In this blog, Martin Riedel, Senior Vice President and head of the SAP Global Upgrade Office, addresses frequently asked questions from customers about upgrading to SAP ERP 6.0. The questions have been gathered at user group events, on projects, and during the course of other occasions. Part 2 focuses on the technical upgrade.  Mar. 31, 2008

How To Tackle an Upgrade: Implementing Functional Enhancements
The second phase of the upgrade approach is to implement functional enhancementes. This blog post gives an overview of this phase and explains how crucial project management is. Apr. 13, 2008

How To Tackle an Upgrade (4): Implementing Strategic Enhancements
Part 4 of this blog describes how an upgrade to SAP ERP 6.0 provides the perfect basis for enabling your IT landscape for enterprise service oriented architecture (SOA) and what’s in it for you.  Apr. 28, 2008

How To Tackle an Upgrade (5): Upgrade Services for the Planning Phase
This blog post describes which services can assist you in the planning phase of your upgrade project to SAP ERP 6.0 May. 13, 2008

How to Tackle an Upgrade (6): Enhancement Packages for SAP ERP
Part 6 of this blog series focuses on some of the most frequently asked customer questions regarding enhancement packages, support packages, and upgrades.  May. 20, 2008

SAP Upgrades (7): Customers’ Experiences and Pain Points – What about Yours?
Part 7 of this blog gives you an insight into customer feedback data about SAP upgrades: What are the main challenges and pain points when planning and performing an upgrade?  Jun. 21, 2008

SAP Upgrades: When Should my Organization Convert to Unicode?
Part 8 of this blog answers one of the most frequently asked customer questions: When upgrading to SAP ERP 6.0, do we have to convert to Unicode?  Jul. 5, 2008


SAP Event Processing

An SAP event is a “flag” that is created by using transaction SM62 View and Maintain Background Events. The commonest use of Events is to trigger jobs. Events can be triggered from the Operating System or from within SAP - either within ABAP programs and Function modules or from Transaction SM64.

Create an Event in transaction SM62. Select the Maintain radio button next to User Event Names and execute. This will present tyou with the Edit User Events screen. You can add change or delete user events from here.

To use this Event as a trigger, create a job via transaction SM36. You specify the Event that will trigger this job using the Start Condition button. On the Start Condition screen, select option AFTER EVENT. The After Event fields will open for input. Fill these in and Save.

Definng SAP Batch Job Start Condfitions

You can see which jobs are waiting for events by looking at table BTCEVTJOB (via transaction SE16). This is the system’s way of keeping track of which jobs are in the queue waiting for an event to occur. The EVENTID column contains those Events that will submit a Job. You should see several System Events here.

A listing of the BTCEVTJOB table

Now, once the event is triggered this newly created job will execute. The event can be triggered via transaction SM64 or from the Operating System (see below).

To get the event triggered from the Operating System, log into the <sid>adm user id (at the Operating System level) level and go to directory /usr/sap/<sid>/SYS/exe/run. Note that in the Unix / Linux implementations, there is an alias ‘cdexe’ that will get you there as well. Run the SAPEVT executable as follows :

sapevt <event_name> -t pf=<instance_profile_directory_and_name> nr=<sys_number>

Example:

sapevt roberts_test -t pf=/usr/sap/DEV/SYS/profile/DEV_DVEBMGS00_server001 nr=00

This will raise the event, and cause the job scheduled within SAP to execute. Once the job has executed the SAP event that was in the table BTCEVTJOB will disappear.

Every time a Background Job is run, an entry is created in table TBTCO. This contains entries such as JOBNAME, EVENTID, EVENTPARM, JOBCLASS etc. This means that once you’ve found your job name in this table (using SE16) you can double click on its entry and see that it was executed via an event.


Operating System TP / TMS / CTS unconditional modes

The TMS / CTS functions are  a front end to the TP commands at the operating system level. If you use the operating system commands, you face the challenge of replicating the options available via the SAP GUI front end.  These options are controlled by using the Unconditional mode. An example of how to use these is shown below. 

host:prdadm 2> tp import L6BK162625 PA1  U client=100
This is tp version 340.16.38 (release 640)
This is R3trans version 6.13 (release 640 - 07.01.08 - 14:25:00).
2EETW000 T5QTM table class is ‘C’. Entries are only imported to client ‘000′.
2EETW000 T5QTX table class is ‘C’. Entries are only imported to client ‘000′.
R3trans finished (0008).
tp finished with return code: 8
meaning:
  A tool used by tp produced errors
host:prdadm 3> tp addtobuffer  L6BK162625 PA1
This is tp version 340.16.38 (release 640)
Addtobuffer successful for L6BK162625
tp finished with return code: 0
meaning:
  Everything OK
host:prdadm 4> tp import L6BK162625 PA1  U128 client=100
This is tp version 340.16.38 (release 640)
This is R3trans version 6.13 (release 640 - 07.01.08 - 14:25:00).
R3trans finished (0000).
tp finished with return code: 0
meaning:
  Everything OK
host:prdadm 5>

The U stands for unconditional force, similar to the options that you can select when importing via the SAP GUI.

0: Overtaker - change requests can be imported without deleting it from the buffer. Usually, this is followed sooner or later by an import using unconditional mode 1 to import another transport in the correct sequence.

1: Import the transport again.

2: Allow transport to overwrite SAP or System originals.

3: Allow transport to overwrite system-dependant objects.

5: Allow transport to contain source systems other than the integration system (usually used only when importing into Development or Consolidation system).

6: Allow transport to overwrite objects in unconfirmed repairs.

8: Allow transport to ignore limitations caused by the table classification (see the example above).

9: Allow transport to ignore that the system is locked for this kind of transport.

 

Remember that the location to run the tp addtobuffer and / or tp import from is operating system dependent:
(Windows): \\$(SAPTRANSHOST)\sapmnt\trans\bin
(UNIX): /usr/sap/trans/bin


Generate SAP Installation Key

For any SAP install except the Trial Editions available from SDN (and Solution Manager itself), you need to obtain a Installation/Upgrade Key (sometimes known as the ‘magic number’) from a Solution Manager system.  Usually, you should get this from the Solution Manager system that will be used for managing changes, software diagnostics etc for you installation.  However, note that you do not have to use any particular Solution Manager system, to get the the installation up and running.

Procedure

On the SAP Solution Manager System :

1. Call the System Landscape Maintenance (transaction SMSY) in your Solution Manager system.

2. Create your SAP System in the system landschape:

a. Select the landscape component Systems, and choose Create New System, in the context menu.

b. Enter the system ID as the system, in the following dialog box.

c. Choose the product (i.e. SAP ECC), and the product version (i.e. SAP ECC 5.0 or higher), from the possible entries help, and Save.

d. Complete the system data, as far as possible.

e. Save your entries.

3. Generate the key:

a. Choose System Landscape ® Other Object….

b. Set the System flag, and choose the system which is to be installed or upgraded, from the possible entries help. If you have created a system in the SAP Solution Manager, in the previous step, choose it.

c. Choose Generate Installation/Upgrade Key.

d. Enter the required data and choose Generate Key.

The system displays the key.

Installation/upgrade tool

Specify this key in the installation or upgrade tool when requested.  This is (usually) the last step of the ‘Check Parameters phase’, immediately prior to the start of the ‘Execute Service’ phase.

clip_image002


Mastering SAP Technology 2008 Conference

I’ve just got home from this years Mastering SAP Technologies conference.  Over 50 presentations and 4 workshops in the three formal days, plus a useful SAP Community Day / ‘unconference’ on the Sunday immediately prior to the conference.  As usual at these things, the informal networking was as much fun as the rest of the conference  (thanks to Microsoft for sponsoring the drinks on Sunday night).  One of the highlights was meeting and talking to Thomas Jung and Peter McNulty from SAP Labs in Paolo Alto, USA.  There was a lot to learn, and I was impressed by how willing people in general (not just the presenters,  SAP staff or vendor staff) were to share their experiences.

 

Mike Nicholls (talking) and myself (in one of THOSE shirts) facilitated one of the SDN BOF sessions – this one was tentatively titled “Portals implementation technical how to”. 

 

Most of the people who sat in on this did not have an SAP portal at all, and were only considering it because they wanted to implement ESS / MSS. 

 

This lead to some people discussing how it was theoretically possible to run ESS or MSS (or write your own equivalent) without the SAP portal.  However, Mike did a good job of explaining exactly how impractical it was.

 

It was here that I was struck by how underutilised the SAP portal was in most sites (in Australia at least), with little or no use of Collaboration, Knowledge Management etc.


 

The conference itself was kicked off on Monday morning by a brief keynote from Ishmael Ghalinin (of Intalio of BPMS fame) about living online, a technique called office 2.0.  He manages his life through such online tools as Google Docs and Salesforce.com, and in fact, the computer he was presenting with was one that he’d borrowed for the morning. The obvious flaw turned up when he announced that he was leaving immediately to catch a fligh tfrom Brisbane to the US – the direct Qantas flight giving him approximately 13 hours of no connectivity.

 

Process Integration and Enterprise SOA

Track A (of 5 tracks) was devoted to XI / PI and SOA presentations.  One of the more interesting presentations on day 1 came from this track, from Benjamin Salter of Valero.  He spoke of taming the Enterprise SOA tangle.  The key points, as Mr Salter summarised them were:

Enterprise SOA is a  way of thinking -A design paradigm grounded in reusability. Not a “thing”.
It is an evolution. Existing systems don’t change overnight (but we can evolve),
Enterprise SOA requires participation. It is not a spectator sport! It affects all areas of the organization.

 

Upgrades – Planning, Preparation and Implementation

Track B focused on upgrades and the issues associated with them.  A couple of organisations shared their experiences, but the most useful one to me was the “Implementing Solution Manager” presentation from Dion Ellison.  Having done installed Solution manager recently myself for a customer, it was interesting to see what differences there were between our philosophies.  I had only installed it for some very simple Solution Monitoring.  Dion’s customer had also installed Change Management and Test Management.

 

User Interface – Adobe, NW CE, Portal, etc

Track C focused on the current and new user interfaces.

On day one, Thomas Jung provided a very comprehensive roadmap of SAP’s future UI Strategy.  The key takeaway was that the major tool for presenting data to the client is to be WebDynpro.  The decision about whether you perform your developments in ABAP or JAVA should be based on what skills you have in house, and of course which particular usage type you are developing for (for example, Portals don’t have an ABAP engine, while PI systems have both).

The other takeaway is that whether content was presented via HTML rendering (i.e. browser of your choice) or the new NetWeaver Business Client would be determined at runtime.  The big difference between the two is that a browser will expect HTML and Javascript, as it currently does, with the attendant data transfer size and rendering issues that come with highly structured generated code. On the other hand, the Business Client will accept a smaller file in an XML like format. 

On Day two, Mike Nicholls presented on what we could expect from the next major release of the SAP portal. The key takeaways here were that your portal admin and content management skills are still valid, SAP have redesigned the architecture, providing a more robust platform for the portal, and that the end users probably wouldn’t notice the difference.  As part of the redesign, the Portal will run in a SAP J2EE 5 supplied JVM, similar to the one provided as part of the NetWeaver 7.1 Composition Environment Java EE Trial Version.   We will loose the concept of a J2EE Dispatcher (and therefore the  Visual Administrator tool).

On the other hand, We are promised a Newer configuration tool,
more functions in NetWeaver Administrator,
an MMC style administration tools for non-Windows landscapes,
Some Web Dynpro portal administration screens,
newer (and IMHO hopefully more robust) version of NWDS,
and a newer way to deploy PAR files

 

Infrastructure /  BASIS / Security tracks

Track D and E presentations tended to focus on infrastructure, BASIS and Security topics. 

One of the more enlightening presentations (for me, anyway) was SAP Workloads in VMwareVi3, presented by Andre Kemp, Sr. Product Marketing Manager of VMWare Asia-Pacific.  As part of the presentation, Andre showed a live VMWare ESX server, running on two fairly old physical servers. One of the first things I noticed was how dynamic the changes in resource allocation were; up there with the Workload Management available on larger hardware / operating system combinations (such as AIX 5.x on the larger P5 series machines).  Andre showed how, under the same load, manipulation of the resources (CPU and memory allocation) altered the the percentage of utilisation on the SAP VM being altered, and on the SAP workload itself. 

In a subsequent demonstration, by Tony Garland of ABB Grain, we saw how you could manipulate the VMs so that ostensibly production hardware could be taken offline with little or no impact, and how the VMWare Disaster Recovery Systems worked, by taking a ‘running dump’ of a live system.

Tim Bohlsen gave a 30 – 40 minute over view of his 2 day workshop.  One of the concepts he introduced was Tuning for Response Time versus Tuning for Resource Utilisation.  Tuning for Response Time is when you tune your system(s) till you get sub second Dialog response times, and leave it at that.  Tuning for Resource Utilisation is when you lighten the load, either by tuning individual components of the response time more and more, or by getting rid of extraneous workloads (i.e running a job once a day instead of once an hour).  In effect, as Tim pointed out, removing 50% of the load from a system prior to adding hardware means new hardware is TWICE as valuable. In fact that leads directly to one of the three key points from his presentation -

Even without a crisis, it is always possible to determine the tuning change with the highest potential.
Well tuned system use less hardware, in many cases MUCH LESS !! You can reduce your companies costs through pro-active work.
Squeaky wheels get oiled. BUT…. Shrinking or even removing the wheel can be MUCH more effective.


SAP HR/PY Structural Authorisations

I had added a new developer to the customer’s HR/PY landscape, but they couldn’t see any of the Employee Data in the Development or QA system. According to SU01, the roles and profiles were identical to a developer who could see the data.

After hunting around my disks (because it has happened to me before !!), I found a note about Table T77UA, which has prompted this reminder to both myself and any one else who has to work with HR/PY Developers.

HR Security

HR Security comprises the General Authorisation Profiles as managed by Role Maintenance (transaction PFCG), plus Structural Profiles.  To assign Structural Profiles, you use table T77UA (User Authorizations = Assignment of Profile to User).  The Structural Authorisation’s themselves are specified in the T77PR table (Definition of Authorization Profiles).  You protect structures (or substructures) of the Organisational Chart by making relevant entries in this table.

  1. When you use both Structural and General Authorisations , a user’s Overall Profile is determined from the intersection of the two.
  2. The structural profile determines which object in the hierarchical structure the user has
    access to;
  3. The general profile determines which object data (infotype, subtype) and which type of
    authorization (Read, Write, …) the user has for these objects.
  4. The access mode for authorization objects in HR Master Data is determined in the AUTHC field (Authorization Level).

Steps to do Structural Authorisation:

  1. Use transaction OOAC (updates table T77S0) to Activate the Structural Authorisation switch
  2. Use transaction  OOSP (updates table T77PR) to Create Structural Authorisation profiles. You protect (sub)structures by making relevant entries in this table.
  3. Assign regular Role Authorisation via PFCG.
  4. Assign Structural Authorisation profile to User Id. Apparently, some releases have a report RHRPROFL0 that you can use to assign the object id. However, I use transaction SM30 to update Table - T77UA (User Authorizations = Assignment of Profile to User).
  5. Organizational Plans are created using PPOCE