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.

Easy-peasy!


A new way to debug payroll postings

Here is one more useful tweak. Program RPCIP_DOCUMENT_ANALYSE shows a report with all payroll postings analytics, filters. This is the unique and most convenient way to see posting runs in ALV report.

It’s a MUST have program.


Easy way to mass change any field in SAP

There is an easy way to change any screen field you see on the screen. SE16N.. Joke..

We can create LSMW with the transaction we want to use to change specific field. Let’s say we want to change some field in PA30 or PP02. First of all we need to point the system to a specific record. So let’s enter exact date into begda and endda to allow system to choose exactly that record. Click on Copy button so it would fill all fields with data from the database record. Change one field you wanted to change.

And here is a trick. When you return from LSMW recording to Edit recording screen there will be a set of fields you saw on the screen. Delete all of them except that one you want to change (and have changed). It means system will change only one field, not all fields with some values from a file.

It took me 10 minutes to record this LSMW, thus it’s pretty convenient way to do mass changes.

LSMS Delete Screen Field

LSMS Delete Screen Field


SAP Query Reporting Switches

Hello.

I believe you’ve had some experience with SAP Query Reporting. It’s a powerful tool when you know how to use it and utilize its all features and functionality. It’s not just about SAP InfoSets and Ad-Hoc reports, but more about powerful tool to create flexible reports in MS Excel format.

Frequently we meet issues with Queries when there are empty cells, missed rows, double rows and etc. There is a good explanation why this happens. If you look into the code SAP generates for every InfoSet and then for every Query, there are some provide loops and unions. To manage the logic SAP uses to generate code for report there are some useful switches.

Here is an old document from SAP explaining when and how to use these switches.

SAP HR QUERY GENERATOR SWITCHES


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


How to send custom infotype over SAP ALE

There is a number of infotypes in SAP which are local to some country. SAP doesn’t provide any standard solution to send these country-specific or custom infotypes over ALE, cause standard IDOC contains only international infotypes. If you develop your infotype and want to send it over ALE there are some tips and tricks to handle. Today I want to tell you how to send custom infotype or country-specific infotype over SAP ALE. It’s going to be a long tutorial with a lot of images. More than I’d like to show you what is a short and long infotype record in terms of SAP integration and IDOC structure. And, of course, ABAP source codes will be provided for your convenience. Take a cup of coffee and join me with this unique tutorial never been shared before.

Sending short infotypes over SAP ALE

A short infotype is an infotype, the size of which fits into one IDOC segment. How to check? Open SE11 transaction, find an infotype structure which is PXXXX (XXXX – infotype code), sum all length fields. One IDOC segment can store 1000 symbols. If the infotype structure is longer than 1000 symbols it’s a long infotype and we will need to split it to send over SAP ALE. Will show later how it works.

To add custom infotype to a standard HRMD_A IDOC in WE31 transaction create a new segment to include it into IDOC and send over ALE. Naming rule is Z1PXXXX, 7 symbols. It’s done for prior 4.6C compatibility, so if you work with modern systems you can use longer names. The first three letters ‘Z1P’ is a must. To save time and avoid human mistakes typing all SE11 fields into segment manually you can create a segment from a template. In menu Segment -> Create with template choose DDIC structure and type in PXXXX, where XXXX is your infotype code. When you save segment systems checks its length to comply with 1000 IDOC segment length.

In my scenario, I’ll use country-specific infotype 0293. Here is how it looks like in segment.

New IDOC segment

New IDOC segment

 

Don’t forget to release the segment in Edit menu.

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