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


SAP Change Pointers in 4 steps

Today we will talk about SAP change pointers. Change pointers are that thing, which registers all object changes, which you need to send over ALE to other SAP or non-SAP system. For example, you have changed SAP HR infotype (let’s say infotype number 0002), the system records these changes internally, creates change pointer object. Then according to your ALE settings it sends updated record immediately or based on the scheduled job. So it sends only that one 0002 infotype record, not every record, not the whole bunch of infotypes. It saves a lot of time, increases SAP performance and decreases network load. Very convenient and smart in other words. There are just four steps to configure SAP change pointers for HCM or any other SAP ECC (Enterprise Central Component) module.

You can set up change pointers very easily with these 4 steps

  1. How to activate change pointers in SAP? With transaction code BD61 SAP activates change pointers across the whole system. It’s a best practice to activate change pointers only in these systems you have and manage data (like test or quality system and a production system).
    Activate Change Pointers in bd61

    Activate Change Pointers in BD61 transaction

  2. BD50 transaction activates change pointers for specific message type (or object). For SAP HCM it would be HRMD_A.
    Activate Change Pointers for HRMD_A IDOC

    Activate Change Pointers for HRMD_A IDOC

  3. Schedule RBDMIDOC program periodically to send IDOCs (the outcome of the change pointer) over ALE integration layer. The program reads change pointers tables, creates IDOCs with changed data and pushes them to ALE layer.
    RBDMIDOC

    RBDMIDOC

  4. It’s recommended to clean change pointers tables periodically. You can do this manually in BD22 transaction or automatically with RBDCPCLR program scheduled.

If you want to track specific fields, I mean, when a specific field in infotype is changed, then in SE11 in ABAP Dictionary select needed data element, switch to ‘Further characteristics’ and tick ‘Change document’ checkbox. Now changing this field in any infotype will cause a new change pointer and data change sending through ALE. Configuring change pointers is a one step in a whole SAP ALE configuration procedure.

Don’t forget to setup the whole SAP ALE landscape to send change pointers over. You can find step-by-step SAP ALE configuration guide in my other post here: 


Payroll report with custom filters (11 techniques)

How would you solve a task where you need to find all employees with negative taxes? The wage type in payroll report should be shown as negative as there was a retro calculation. We don’t want to list every single person in the report, only people with negative taxes should be shown. This would cut the number of rows in the tax report we’re working on to do data adjustments.

Saying in tech language, we need to run  select * from rt where lgart = ? and betrg < 0. This trivial task to run a very simple payroll report with any custom filters on wage type values is almost impossible in SAP Payroll module.

Let’s think what we can offer to our Payroll customers and end-users.

11 techniques to build SAP payroll report with custom filter

  1. Standard wage type report. We can run the report and then filter values in ALV variant. it’s a waste of time and resources as SAP needs to go through every employee, extract all the data, bring it to us and only then we can filter. In case of millions of rows, it’s almost impossible to do in ALV screen.
  2. Create a technical payslip in PE51 transaction. It’s layout would look like CSV (Comma Separated Values) file with an employee number, wage type, period, value. We can easily download this file and convert to MS Excel. It’s a little better than the previous solution.
  3. Manually run SAP BI extractor in RSA3 transaction. The one cons here is the same as in bullet one – there is no way to filter wage type by value until you get ALV output.
  4. Use 4** payroll infotypes for reporting. These are virtual infotypes SAP creates base on Payroll Result Table. We can utilize these infotypes in SAP Query and setup filters there. It is time-consuming cause it converts cluster results to the infotype records for every single payroll period.
  5. PU12 transaction to export data out of SAP HR module. It downloads data to external TXT or CSV file which could be easily processed in Excel.
  6. DEvelop your own ABAP payroll report. Boring.
  7. Develop correction payroll schema and analyze needed wage type there. If it’s negative, save it’s value in some custom technical wage type. Then we can use standard payroll wage types report to review negative values.
  8. Develop eCATT script to run several SAP functional modules to extract and analyze data from the payroll cluster. Output data in some format like SAP spool.
  9. Call payroll BAPIs to extract data from SAP into MS Excel. This could be coded in Visual Basic to get access to SAP system. SAP logon is required and it works only on MS Windows platform.
  10. Declusterize payroll cluster (or move to HANA). Thus all payroll tables will be just plain tables which could be accessed with SE16 transaction.
  11. Run BI reports to analyze anything. BI is intended for this task.

My fantasy has ended here. I’ve not found any standard way to download a list of employees who have wage type amount value under some conditions like more, less or between.

So, is there a standard way to solve this task? Share and let’s find this out!


Working with OS level from SAP

We have a task – manage OS level requests from SAP job scheduling tool (SM36 transaction). You know, there are a lot of tools to perform OS level tasks, that are built into OS or some 3rd party tools, which support command line access.

For example, I’ve created a simple executable file with just one command:

echo “SAP running” >> sap.log

We want to run this script from OS level locally on the server where SAP is running. Then, remotely, where no SAP system is installed.

Read More


Data conversion in SAP ALE

Some time ago we discussed SAP ALE, what it is, how it works. Here is the link. Today I want to share with you how we can change data on-fly when we need to do some conversion during the integration process.

Usually, we need conversion in heterogeneous landscapes, where different systems presented with miscellaneous settings, types, architectures. Let’s say you want to include a new SAP ERP during company acquisition into your landscape. There will be another business unites codes or personnel numbers, which differ from your present system. Or you want to send some flag depending on your conditions in the source system. Here data conversion rules come into place.

When you do SAP ALE configuration, you usually use IDOC conversion rules. So to start with conversions, have a look at these three IMG paths. Run SALE transaction and scroll down to our menu.

Read More


Just STOP using SAP HCM like a calculator or how to run SAP HCM

Today we’ll talk about you, business. You’ve already purchased the most expensive calculator in the world named SAP. Why SAP – it was your decision. Why calculator – you’ve never used it another way. I’m 100% confident you don’t use most of the SAP HCM benefits, and in 99% you even don’t know of them. You’re not curious enough, your consulting company was not experienced enough – it doesn’t matter. Here we have the result – calculator, not even MS Excel. Below I’ll tell you some functionality businesses all over the world usually don’t utilize and then lose money, confidence, the pace of changes today in the digital world. I intentionally don’t take into account so-called extended functionality like talent management, recruiting, performance management, learning solutions. Business usually pays attention to the face, frontend, interfaces than to the logic, extensibility, integration, and reporting. They don’t like SAP interfaces which were before SuccessFactors. They buy other solutions, pay much money for integration and support and blame poor SAP for all their bad.

Want to notice everything being said below is free of charge, is not licensed, you’ve already paid for this. All you need is to implement and use these SAP HCM features.

Read More


How SAP ALE works

What is SAP ALE?

SAP ALE – Application Link Enabling – data exchange technology, developed by SAP AG. It’s a technology because it has a set of tools, protocols, formats which allow exchanging data in real-time or offline between SAP or non-SAP systems. It’s a huge layer of settings, functionality, and opportunities which we rarely use. Let’s have a look at this stack and short SAP ALE configuration guide.

SAP ALE communication stack

CPIC – Common Programming Interface for Communication – low level communication protocol. You can read further here https://www-01.ibm.com/software/network/commserver/windows/library/cpic.htm
RFC – Remote Function Call – high level communication protocol to call remote functions
tRFC (transaction RFC) / qRFC (queued RFC) / aRFC (asynchronous RFC) / sRFC (synchronous RFC) – a way to deliver messages to the receiver with confirmation
IDOC – Intermediate DOCument / BAPI (Business Application Programming Interface) – message format
EDI – Electronic Data Interchange – data exchange procedure between SAP-nonSAP systems. International standard by chance.
ALE – Application Link Enabling – data exchange procedure between SAP-SAP.

Here is what I suggest you to discuss.

The CORE of SAP integration in SAP ALE layer

RFC – Remote Function Call, is a mechanism to call functions remotely. The idea is simple and works this way. We know some functionality exists on the remote server. ‘Hey, server, I know you have this function, I know the parameters. I want you to run it on my behalf but on your side Here is my authorization. Give me the result.’ Server spins hard drives and once it makes sure I’m not a little theft, it runs the requested function with my login.  Any other program can run the same function on that same server locally. A checkbox in SE37 transaction makes the difference if it could be run remotely.

Read More


SAP BUILD and a new reality for functional consultants

I like to embellish events when it comes to SAP, business, and future, but usually, it comes true in a while. Everything goes simple and complex simultaneously. Business rules go to ease, underlying systems and mechanisms go to complexity. I’m looking at SAP SuccessFactors and wondering how business discards their on-premise strong and robust solutions for SAP SF, which is that simple, like a child and adult. It’s not about reliability, user experiences, but more about processes, that business know-how, and best practices which make you unique on the market. The lyrics are over. The trend to SF dictates new rules for classic SAP consultants and developers. There is almost no ABAP, custom reports, SmartForms, and user-exits. New functional paradigm is to become a technical support and developer guy in a one person, who supports already made up decision by vendor, and develops extentions for business customers. Open-source techniques came to SAP world in terms on clouds, Angular, WebIDE, Splash, Build, jScript, jQuery, REST, LESS, etc. These are the commons we need to learn to be able to serve customers.

I spent some hours to understand my future and here is what I see. This is a microprototype for my microunderstanding what I was trying to say in the paragraph above.

Read More


Setup data audit in SAP HCM with couple clicks

Hello, my friends.

I’m quite confident you have met this situation quite a lot when somebody has changed something and there is no trace. SAP data audit in SAP HCM can help you a lot with this. HR data audit will track all data changes made by end-users to help you easily find what had happened. As an experienced professional I personally setup data audition the first-day end-users start working with the system. Right after HR data migration is over.

Setup data audit for organizational management objects (Organization Chart)

Customizing is performed in T77CDOC_CUST view

To view data use report RHCDOC_DISPLAY

Setup data audit for employee management objects

Customizing is performed in views:

V_T585A – include infotype into audit

V_T585B – include specific fields into audit

V_T585C – define field groups for audit. There is a checkbox to define storage period. It allows defining for what reason we store data changes history. If it’s ‘L’ then this information works best for audit and Long-term storage. If ‘S’ – short-term – SAP recommends using this data to transfer to other systems. Some sort of IDOC, frankly speaking, but very cheap and lazy.

Audit data can be viewed in the RPUAUD00_PNPCE report.

If you want to develop your own change doc use transaction SCDO.

Detailed explanation could be found at http://help.sap.com