SAP LSMW Translation Rules

In our previous posts, we’ve learned basic rules with LSMW. Today we need to clarify one the most important technique in data migration in SAP projects. We know how to use different migration tools like BAPI, IDOC, flat files, complex files, batch input. But all these are useless if we can’t convert data on the fly. This is a great advantage of Legacy Workbench in SAP is to able to convert data with integrated translation rules.

So, the translation rules are used when we need to map one value in the incoming file to any other value which is to store in SAP. It could be just simple text concatenation, substitutions or even complex ABAP logic with a lot of functional module calls retrieving some data out of the system.

SAP LSMW transformation rules

Read More


How to run any functional module with input data from text file

We all know SAP Legacy System Migration Workbench (LSMW) pretty well. We use it in 99% data migration projects, or when we need to do some mass changes in the live system and standard PA70 doesn’t work well because of its limits. Some geek guys like myself dig deeper and use function modules instead of writing ABAP code to make any mass changes. There is a great advantage – you don’t need a Developer license to run the functional module. Open SE37 transaction, select module and run it with some parameters. Today I want to share with you my research how to run any functional module with a dataset from a text file. Just couple clicks and you have a VERY powerful tool to do almost everything in SAP. And, one more advantage, running functional modules directly is much faster, than using batch inputs.

Yes, here comes eCATT to the scene. It’s that flexible that we can use not only for testing purpose but to run mass operations. It has its own script language which could help us to analyze FM output and build a chain of FM calls to accomplish something complex.

Read More


It took me 15 years to learn how to create Enterprise Structure in SAP ERP

It’s really sad to realize that it took me 15 years to learn this very simple technic to create Enterprise Structure in SAP. I used to work in international companies with huge business units, personnel areas, and personnel subareas lists. It was a nightmare to create a bunch of new enterprise structure objects like personnel areas or subareas. Hit that check button, wait a whole life, hit copy, die and recover and go through a dozen of silly SAP questions with useless confirmations. It is sad. Until now.

There is an undocumented feature to make our life much easier. It saves hours, literally. Basically, we need is to copy personnel areas with the same attributes, tax settings, work schedules, and etc. In my old life, I was doing this one by one what sounds crazy today in 21 century.  There are two things I’ve found recently and I want to share one of these with you today.

So. We need to copy enterprise structure objects which are a different story from PPOME transaction where we cope organizational units. We’re about personnel areas and subareas which is a customizing and performed in SAP IMG.

I believe you remember this screen where we start to establish a company in SAP, like SAP architects define the global rules, i.e. business units, plants, purchasing companies and much more. In one bank we wrote a tricky LSMW project to do copy-paste human-like activity to copy couple hundred personnel areas because bank expanded its presence. It was a really bad solution but it worked in 2006th.

Create enterprise structure in SAP

Create personnel area in SAP

Read More


Payroll period close organizer

In SAP ERP there is an interesting tool look similar to our PUST or Payroll Control Center, which allows to build period close workflow, organize people, duties, and timing. In SAP HR module we only have old-style PUST and modern Payroll Control Center. But both are local to HR only and has no connection with FI, CO, and overall period close process. What if use ERP approach to build our own payroll period close organizer? We have a bunch of activities to do like fill timesheets, move people, fire/hire, enter bonuses, do reporting – all of these require some time and need to be aligned in a sequence cause they are cross dependable on each other.

Ideally, HR activities are the part of overall period close workflow. Why can’t we be a leaf in a whole process tree and clearly understand what and when is going to happen? The system will remind, ping and kick us to process, managers will be notified of any delays and all dependencies are resolved. Sounds like a dream, isn’t it?

Read More


How to delete a personnel number completely?

There is a well-known program to delete a personnel number RPUDELPN (Delete Personnel Numbers Completely) and RPUDEL20 (Delete Payroll Results). They can delete payroll results and personnel number. Let me introduce you RPUDELPP  program which has some benefits when you need to delete a personnel number in SAP completely with one click.

Destruction of Personnel Numbers in Live Systems

Destruction of Personnel Numbers in Live Systems

Read More


3 ways to plan an organizational chart effectively

Don’t say you’ve never heard SAP HCM can do an organizational assignment or organizational chart planning. It definitely can with a bunch of tools. Let me show three effective ways how to plan organizational chart and one bonus!

First way without any settings

You can enter all changes with a future start date. It’s very easy! Open PPOME transaction, change the Key date and start entering new organizational chart, move organizational units, positions. The only thing you can’t do is to move people to avoid data inconsistency in the future. So, you change org structure to a planned one with the future date. Meantime all standard and custom reports work well, so you can print your orgchart and show to the boss or sign. If additional corrections needed you just make these and reprint org structure. In case it was not approved, you run standard programs to delete all future records and your current structure remains the same. Zero issue approach. One disadvantage – you can’t use Personnel Cost Planning module in SAP HCM to automate the budjet process.

Read More


Run time evaluation in parallel

There is an easy way to run time evaluation in parallel. Standard PT60 doesn’t know anything about it and you need to wait a long time everytime you run payroll for all your employees.

A long time ago SAP developed this program, that nobody knows about – RPCS0000 to schedule background time evaluation in parallel.

The program allows reducing runtime evaluation in parallel in background split by a group of personnel numbers. It dramatically reduces runtime for the whole company, particularly when you have thousands of employees.

Run SAP Time Evaluation in Parallel

Run SAP Time Evaluation in Parallel


How delete payroll run in 1 single step

Do you know how to delete payroll run in SAP? Seems to be easy, just open PU01 transaction and hit ‘Delete’ button. Basically, yes. But usually no.

When preDME and payroll postings were made there is no way to delete payroll run from payroll cluster. But there is a trick to do it with just one single step.

Read More


Mass document printing in SAP

Here is a secret way how you can save thousands of dollars on print form development.

Printing Documents

Here is an issue. Customer needs to print hundreds of the same form documents for employees. Like notices, orders or whatever.

First of all we need to create basic SAP Query report. For example I’ve created this one that includes name and company. For real doc you’ll possible need many other fields like amount from infotype 0015, address from sixth and etc. All this you can extract from the system with standard fields within SAP Query or create additional fields in Customizing.

Read More


ABAP Unit Test

And don’t tell me I’m a bore. ABAP unit test worth it!

Here how it was. Once I told you about Test Driven Development methodology, but today I decided to try it in practice how it works in SAP. I created basic OData Service and decided to test it automatically.

Now I want to test it automatically. Earlier I told about SECATT. Today let’s talk about Unit testing. It such a thing which is developed in ABAP and allows to test logic inside of a program. It does not simulate user input but verifies internal procedures, methods, functions for a supposed result. For example, it should always save correct data but never allows to save incorrect data. To implement we create two methods – positive result test and negative result test.

Read More