Updating SAP systems for customers

What does updating SAP systems mean? This question is being asked very frequently when I start SAP sales meeting with a customer. When it comes to implementation of such huge information system that affects almost all business processes in a company it’s a reasonable question what to do in case of software error or law and regulations changes. You can’t fix it like fueling your car or inflating tires. It just time that would cost you money and it’s better to be prepared.

I can confirm SAP AG issues updates regularly. For main functionality, I’d say monthly or every two months. So, to prevent you from quick decisions, I can say you’ll be safe with vendor service and timely updates. There are some rules to follow to make your life easier but we’ll cover this later. I’m more in SAP HCM area so could lose some details in update processes, so don’t judge me harshly.

Types of SAP updating

Updates are different. As a rule in IT we used to think of updates as a bug fixing in software, new legal requirements. It’s some sort of a package that’s being installed into the system and everything starts working smoothly as it supposed to work. It’s semi-true for SAP. One side it’s a package that fixes and updates something, another side is a complex process that usually involves a lot of people and takes months to accomplish. Business customers wait for one-click install, IT nerds demand months of testing, acceptance and rollback plan signed by the business owners. Why? Let’s figure it out.

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

SAP ABAP Quality

Life throws me interesting tasks. The other day I was thinking about ABAP code quality automation. There is a tool to control ABAP quality and it’s called ATC – ABAP Test Cockpit. Guess, we can setup system to verify ABAP code for quality in ABAP Code Inspector where we set rules for naming, code blocks, conventions, etc. We can ask the system to schedule code checks before any transport request moves forward to quality or production. The system will stop any transfer in case there are mistakes in code or even variables naming.


Testing ABAP Code in SAP

testing ABAP code in SAP (image owner/author is unknown)

Read More

Import LinkedIn Certificate into SAP

Many companies starting in implement different integations with interger services.

Let’s start with LinkedIn. We need to make a connection to LinkedIn API. To make SSL connection to LinkedIn we need to import certificate from LinkedIn into SAP system.

Firstly download certificate from web siteapi.linkedin.com

Read More

Decoupled infotypes

Have you seen Decoupled infotypes branch in SPRO? Opened it several times, closed and opened again. No results. Looks really complex. Couple days ago I decided to make a move and figure out what’s that.

Main thesis’ are, which I’ve found in different sources:

  • PA20/30 works with both old and new technology. PM01 transaction creates infotypes with both techs. Also it knows how to migrate infotype.
  • Main advantage is decoupled infotypes more look like classic MVC programming model, where M = Model, V – View, C – Controller. Different levels of responsibility and strong communication between levels. It’s convenient model for developers.
  • For end users it means faster interaction, more speed, new glamour features like all data in one screen, fastest ad-hoc reporting in BW way and etc. HR renewals, let’s say.
  • Some ESS/MSS services don’t work with old infotypes anymore. You need to migrate. Globally SAP advise to start migration to decoupled infotypes right away.

Generally speaking what’s decoupled infotypes? It’s a way to save all data in transparent tables instead of packing them into something else like cluster tables. Just imagine how much time do you need to extract one wage types from cluster table (load everything, unpack all internal tables, loop through them for a record) or just do one select statement on indexed table? It’s times of time!

Infotype 0130


I’ve decided to test procedures infotype 0130. It allows to restrict access to history records for some infotypes. You know that regular permission system doesn’t allow to manage access over the period. If you have access you can change record independently of its date. What if we need to restrict access in “closed periods”? Use infotype 0130.

Test procedure – subtype of 130’s infotype. Infotypes are assigned to test procedure. For example, “Time data” test procedure with 7, 2001, 2002, 2003 infotypes could restrict access to previous records. Just to avoid any changes in history.

Set AUTSW APPRO value in OOAC transaction.

The procedure itself is quite easy. It’s need to create 130 infotype with correct subtype – test procedure – for employees whom you need to restrict history data change. Let’s say it’s May 1st is entered into infotype. It means data before May couldn’t be changed for time infotypes (in case you set Time test procedure).

You’d better to use LSMW to create infotype 130.

To lock or unlock data entry in mass use RPTAPPU0 program.

Advice. To setup procedure don’t forget to add infotype 130 into P_ORGIN object in your roles. And split it by subtypes of 130 infotype. Everybody entering time data should have read access to 130 infotype. Administrator should have change access.

Positive time accouting

Positive accounting is a tricky thing. Seems to be easy – come in/go out – check in/out and everything should work fine, But.. Positive accounting is when time is registered by actual time worked in days or hours, with time events (in, out, lunch). There are special statuses in infotype 7th, special time evaluation schemas TM00, TM01. How does it work?

We’ve implemented positive accounting with biometric fingerstamps. When an employee comes he enters personnel number, swipe finger and time event is stored in SAP. 3rd party vendor collects time events, process them to avoid errors and post to SAP every 5 minutes. It’s performed with standard SAP interface PDC – PT80 transaction.

Read More

STVARV variables

Here is a deal. You can simplify users’ life with STVARV transaction. You can store variables in STVARV. Most developers are aware of this transaction while consultants are not. Convenience is in the ability to create variables, define their values and (bonus!) assign variables to fields in report variants.

Let’s say we create variable “Gross wages” where put all wage types referenced to gross income. Than we use this variable in all payroll reports in variants. Old style way is to define wage types directly in each variant in each report. In case you add even one wage type you need to adjust all variants for all reports. Nightmare!

New way is to create one variable, assign wage types and next time you need to add just one wage type to gross income you just do one change in STVARV and it works everywhere. Brilliant!


Read More

Extending renumeration statement (PE51)


Are you ready to break renumeration statement form. You can add your own fields in PE51 transaction that are lack in standard system.

You need to do three steps to add your field or table into PE51 form.

  1. Add structure definition into include RPCEDDZ9
  2. Fill that structure in include RPCEDSZ9
  3. Add that structure in PE51_CHECKTAB transaction.

Here is a note to help you with :) 320257 – HR-EDT: Print of customer-specific data and infotypes

And some examples: http://scn.sap.com/docs/DOC-40350

Standard payroll posting variant

Did you know that deleting “SAP” posting variant (V_T52E2 view) is a cause of system dumps? SAP support confirmed that.

Don’t ever delete this variant, just copy to yours and use it.