How to read SAP system short dumps

Well, pretty easy. Google it, search for SAP notes, dive into already dead SAP SCN/SDN forum, take a gallon of coffee, sprinkle it with a debugger, learn ABAP and turn off social networks. Then it would take you only 5 minutes to read the system dump and fix the issue. Sounds easy, huh? Sometimes it’s quicker to read the dump then to open a ticket with a developer and wait until it’s resolved.

In real life, we have we could have two situations: recent dumps and old ones. The difference is in timing. If we ran into something and a short dump occurred, we can dive into a debugger right away and see the issue. If it’s old, it could be taught to understand what was the real cause of it. Usually, a dump occurs when user inputs something not expected by the system, like his name instead of a salary amount. In the first scenario just click on the debugger icon and the system opens a new window, where we can do some investigation. Otherwise open transaction ST22 and find your short dump which is usually under your name, but not necessarily. 

Here is the dump from my SAP system from HR module.

Many strange letters here, but here is the trick. The system dump could happen in the customer program (read your developer did a bad job) or SAP namespace. The easy way to distinguish is to look into the object names like if they start with Y or Z. these could be field names, class names, program names, routines, etc. If it falls into the customer namespace, then it’s much easier to fix cause we have a developer on board and can fix this. Otherwise, we need to search for SAP notes or support packages or even file a ticket with SAP Global Support and let them investigate our system. 

If you’re a consultant, not a developer, stay with me and I’ll show how to read system dumps. Developers won’t find anything new here.

The first and most obvious is to read what’s written on the first page of the system short dump (who called it short when it’s a huge long read?). IN 90% the issue is right here and self-explanatory, like a value, doesn’t fit the field, wrong field or there is no active version of a program. Don’t close the window, read it! It could be a memory shortage and all you need is to restart the transaction (let’s say you ran a huge report). That’s easy! Or there is a broken network connection to other servers which will be back shortly. 

The next case is when it happened to our in-house development. We need to understand what code caused the dump. To figure this out let’s scroll down a little to see the exact ABAP statement and row line in ‘Information on where terminated’ and ‘Source Code Extract’ sections. Have a look.

For example, here the system shows something broken on line 7. In plain English it says some value in P_NAME variable is missed, so the system doesn’t know how to proceed. If we have no clue why is that, let’s open the code, throw a breakpoint at the beginning of this routine and rerun the transaction. The system will stop there and step-by-step we’ll go over the code watching where this variable is filled. Why is it empty? Maybe the system reads some customing tables with some key and there is no value inside? A good point to open that table in SM30 and review configuration.

If you scroll down to the ‘Chosen Variables’ section, there are variable values shown at the moment. Maybe something is, issued or has a wrong value there and it’s telling us the cause? A developer was expecting a user to input date on 10/10/2020 format, not 101020, let’s say. 

In ‘Active Calls/Events’ section we see the stack – what routines, classes had been called before we reached the outage point. If it’s a background program where the dump occurred, we can see the root cause. 

Rarely we can see system dumps caused by kernel or system packages. If we installed something new in the system and it’s not compatible with the current configuration. Therefore we go straight to SAP Notes and search for it. It’s a high chance the issue was already resolved and all you need is to install a new SAP note with SNOTE transaction. This is a good reason why it’s not recommended to install the most recent patches, but the most recent minus one – somebody has already met that issue before you. 

If it’s completely unusual and you’ve tried everything and it didn’t work, try to look into ‘How to correct the error’ section. They either say how to fix the issue or provide you with a set of keywords you should use to google or search in SAP Support Portal. It really helps.

The last resort. If nothing works, call the developer. They know how to dive very deeply and find the very root cause. Or open a ticket with SAP global Support. It’s free of charge. 

Absence quotas in concurrent employment in SAP HR

8 hours in debugger and I became pretty familiar with SAP concurrent employment and absence quotas in this functionality. While it was introduced really a long time ago, there are a few sources of documentation. Let’s dive into it right away.

We have global employee who temporary assigned to another country or company. We want for any reason to maintain his overall vacation time and track absences taking into account absence quotas from both assignments.

Idea is to have absence quotas for two (or more) concurrent employments (or assignments) and use one absence on any assignment to deduct time from these shared quotas.

We setup absence quotas like normal single assignment. But there are some differencies:

  1. When setup absence code, which would consume quotas from different assignments, we tick checkbox to say system – use absence quotas from multiple assignments, not just the current one. V_T554S-ABSTYP_SHARED_CE
  2. When setup absence quota tick the same checkbox, but do it on both (or all) assignments you want absence to withdraw days or hours. V_T556A-QUOTA_SHARED_CE
  3. When setup absence quota deduction rule there is a new checkbox, which allows to prioretize current assignment or use quotas from other assignments first. ?556R-QTTPR_CE.

This all is obvious and has good explanation in help to these IMG settings or checkboxes themselves. Now, some undocumented magic.

  1. If you assign employee within one country, the standard would work just fine. But in case of different countries you need to change concurrent assignment grouping. You change SAQD vaiable in V_T7CCE_GPASGM view to XNON. This key says the system to track all assignments from all countries like one. 
  2. The worst news are there should be the same absence quota code for all assignments. You can’t use 01 in India and 10 in the USA. Codes should be identical, otherwise system will not see quotas at other locations.

Saying all this would allow to use one absence code on any assignment to deduct multiple quotas over different assignments.

Filter data in SAP LSMW

There is an easy but hidden way to filter data in SAP LSMW projects when you deal with large data sets. Besides ABAP technics there is a standard SAP feature to enable additional selection screen fields with filters like we get used to seeing in any SAP report. 

When we set up the source structure in our LSMW project, there is a small field we usually don’t pay attention to. It’s called the ‘Selection parameter for Import/Convert Data’.

This parameter automatically creates a selection screen parameter with filter capability in loading and converting steps in LSMW project.

Who does this job? Normally SAP Functional consultant builds the LSMW project but somebody like SAP HRIS Analyst loads data periodically. So if you’re from HRIS, let your colleagues know this feature because it could save you a lot of time!

Position Management Business Scenarios

Basically, position exists in the organizational chart while it’s approved in Headcount Budget. Max number of positions limits number of full time employees we could hire. One position can hold no more than 100% occupancy, so two part-time employees could hold the same position like 30% + 70% or 50% + 50%.

Vacant position initiates the search for Recruitment.

Obsolete position locks any changes to the position.

ScenarioPosition StatusRecruitmentReporting
Headcount Budget was approvedPosition to be vacant (IT1007)Search to be initiatedShown as vacant
Employee was moved/terminated and we need immediate substitutionPosition to be vacant (IT1007)Search to be initiatedShown as vacant
Employee was moved/terminate and we have not decided on the positionPosition to be on hold (IT1007)No employee search performedShown as occupied
Employee was moved/terminate and we don’t need substitution in some futurePosition to be obsolete (IT1014)No employee search performedShown as obsolete
Employee will be terminated and we need to initiate search in advancePosition to be vacant (IT1007) even if occupiedSearch to be initiatedShown as vacant
Position was created by an errorPosition to be deleted (IT1000)No employee search performedIs not shown
Job at specific location/position is eliminatedPosition to be delimited (IT1000)No employee search performedIs not shown
Division is obsoletePosition to be delimited (IT1000)No employee search performedIs not shown
Division/Position is obsolete and it’s occupied with employee on leavePosition to be obsolete (IT1014) and delimited (IT1000) once employee is back and moved/terminatedNo employee search performedShown as obsolete and then not shown

How to become a SAP consultant

Let me split this question into two parts. On the one side there are students or business users who want to start or change their career into SAP. On the other side consultants who want to grow and become better for themselves and market. Except first several steps the remaining approach is the same and there let’s be honest to each other, there is no easy way how to become a SAP consultant. Don’t get me wrong, it doesn’t mean it’s impossible, but like any other profession it takes time (from my experience it’s about 5 years). Let’s dive into it. 

First of all you need to understand consulting is a tough profession. You must deal with people everyday. You must travel to different cities or countries. And the most important you must learn something new everyday. If you are up to this, than follow me and see what applies to you. Sometimes you need to not only to learn but to keep your sap certification up to date. 

So, what does SAP consultants do? They consult other people, companies in either way: how to change business processes or how to implement a new IT system like SAP. Ideally you should do both – these people are SAP functional architects, cause they know how to change business to make it better and support these changes with IT system.

There are functional and technical consultants. Functional are these boys and girls who know business, not IT. They understand legal reporting, business requirements, best practices in specific areas. Technical people are these nerds, who install, support, update IT part of SAP implementation. In 99% cases you can’t be both. And the worst news are you can’t switch modules (areas) because just one module would take you 5 years to learn to be a good SAP consultant. 

Step 1. Find a business area

It’s really important. Some people are good in communications, others in math, third in coding, etc. It’s about what you like to do most, because once you in, be ready to stay there at least 5 years. Yes, it takes minimum 5 years to learn just one modules, one functional area in SAP. 

Idea is to stick with something general and then become more specific over the years. General I mean finances, sales and distributions, controlling, human resources, material management, logistics, etc. It’s a good idea to do some preliminary research what this business area is, what do people do there, how it looks like.

Read More

Tutorial to setup SAP Work Schedules in HR module

SAP HR Time Management (SAP PT module) starts with work schedule rule configuration. You know there are positive and negative accounting rules in SAP, but both rely on work schedules – time intervals when an employee has to work. In other HR software, it named shifts, in SAP it is daily work schedules. Work Schedule rules are another story. These terms mess people, who have just started working with SAP time management. I decided to spend some time and explain you in details what is this. We will go through main steps in time management configuration one by one. And today we start with work schedules, sap time management infotypes, which use work schedules, and how to generate work schedule.

Where to start

You have three options where to learn time management functionality:

  1. Go to SAP courses
  2. Read this topic
  3. Take my personal classes
  4. Watch my youtube channel

Made up your mind and come back. Today we talk about work schedules in SAP HCM. This is the most descriptive explanation how it should work, real-world examples. best practices. Just read it, understand it, re-read again. Let’s begin.

Read More

What you need to know about time management in SAP

Let me clarify, that time management is a very-very wide topic to discus. In my 15 years experience 90% of payroll consultants were not aware that time management is tightly coupled with payroll. They were not aware about time schemas and thought time is only absences and attendances appearing in their payroll logic. 

Well, it’s true and false the same time. We all understand time management is important to pay payroll when it’s paid based on hours worked. But we need time to calculate efficiency, track performance, do some analytics. There are a lot of areas where we need time in real life and SAP helps us. Did you know time could be transferred to Plant Maintenance or Controlling? Even project system module uses time hours. 

Basically we can split time management in three general topics or areas, name it.

First is work schedules and attendance management. Here we build work schedules for our employees, we track their attendances and absences. We account time quotas for vacations or allowed overtimes. It’s all look like maintaining data infotypes in odd PA30 transaction. There are few settings, nothing really complicated. Most complicated parts I’d say are to set data entry interfaces like PDC, PTMW, PP60, CATS, Fiori and others.On today market a lot of positions for time management consultant in SAP associated with this type of settings – just infotypes and interfaces, simple absence counting rules and leave quotas. It’s simple guys. With respect to time accounting.

Read More

Easy way to see your access permissions

Do you know there is an easy way to see your access permissions in SAP? Sometimes you can find out even more what lazy security administrators forgot to cut out. 

All you need is to open one specific transaction, expand all the shown data and download the list to the MS Excel. Open it there, sort and remove duplicates to make it easy-looking. 

And here we go, SU56 allows you to see all your permissions with a user you logged in. It reads security buffer and shows all objects and security field values.

Don’t thank me, just share and subscribe! 

New extension for SE16N transaction

I’m quite sure very few of you know about this brilliant extension to an old SE16N transaction we used to work with almost daily.

Today we have a new solution, mostly developed for HANA database, but it still works and brought some new features to the classic ERP on old-way databases. 

Meet SE16H instead of SE16N. It has number of unique features like presort order on the selection screen, text tables to read field descriptions, building JOIN tables on-fly. 

Play with it and find it more convenient than old granny SE16N.

How to find all SAP HR Tables

There is an easy way to find ALL SAP HR Tables in the system. Any SAP object is assigned to so-called Package. Once we know the package name we can list all objects inside of it. If you’re curious enough you can find a lot of interesting tables, views and moreover programs which are not listed anywhere in official sources.

Open SE80 transaction, choose ‘Repository Browser’ on the left side. Then choose ‘Package’ in the dropdown list below and enter ‘HR’. Hit ‘Enter’ and you’ll see all packages and subpackages in a hierarchy. Expand whichever you want to the lower level and you’ll find everything there.