Tag > segredo
Supported by
Supported by Inetum

Edit standard programs without a key

images/thumbnail.jpg - Thumbnail

Here we are again facing a dilemma: hide something because it is dangerous and someone can do bad things using this information or teach it because it would be condescending to presume the readers are not responsible enough to know it. Dictatorships usually go for the first: burning books, censorship, etc. Abapinho like to believe that its readers are responsible people and deserve the right to know.

Thus, here it is. No, it’s not a user manual on how to enrich uranium nor a formula for homemade nitroglycerin. But it’s something similar: a trick that allows you to change standard objects without the need for a key.

Edit transport requests even if they don't let you

images/thumbnail.jpg - Thumbnail

As we all know, system adminstrators are very bad, cold blooded and cruel people. To prove it you just need to read the Bastard Operator from Hell.

We, ABAP programmers, are hopeless victims in the hands of these evil creatures.

But not always do we have to be smashed under their hairy fingers.

SALV consistency report

images/thumbnail.jpg - Thumbnail

Sometimes a SALV has inconsistencies which can go unnoticed. For example, if its structure has an amount field which doesn’t have an associated currency field:

The transaction who wanted to call another and couldn't

images/thumbnail.jpg - Thumbnail

John created transaction ZFB01 and associated it with program ZFB01 which, after doing some stuff, does a CALL TRANSACTION on FB01. Then came his friend Mike and ran transaction ZFB01.

He managed to start running it because he had permissions to do it. But half way through he got an error because he doesn’t have permissions to run transaction FB01.

Both John and Mike knew that the system administrators would never ever give Mike permission to run FB01.

Local $PACKAGES

images/thumbnail.jpg - Thumbnail

Any object created in SAP must belong to a package.

Until recently, whenever I needed to create a program for a quick test I’d put it in the $TMP package. This way I was sure that it would never be transported to another system.

But sometimes I have the need to create stuff in the development system which, even though it should never be transported, should stay there forever. For example, development tools like ZSAPLINK and abapGit. But if we put everything under package $TMP it will soon be a big mess.

DDIC structure key

images/thumbnail.jpg - Thumbnail

Today when I want to create a SALV I always create a DDIC structure with the data elements already set to show the texts I need. This avoids the need for code to manipulate the field catalog.

APPEND STRUCTURES do more stuff than I thought

images/thumbnail.jpg - Thumbnail

During all my ABAPian life I was convinced that APPEND STRUCTURES had one single purpose: to add new extra fields to an existing standard table.

But I recently learned that they let you do two more things after all:

I call you and you call me

images/thumbnail.jpg - Thumbnail

You you call a function via RFC you need to provide the RFC DESTINATION for the remote system:

CALL FUNCTION ZSNEEZED
  DESTINATION sistema_longe_daqui.

What if, for some reason, the function running in the remote system needs to call a function in the original system? How would you do it?

Add parameters to standard methods and functions

images/thumbnail.jpg - Thumbnail

We are all aware of SAP implicit enhancements which allow you to add code to the top or bottom of any block of standard code (methods, functions, etc). We’ve all used it to make a change to a BAPI or other standard piece of code.

But only recently did I find that you can also use these implicit enhancements to add parameters to standard methods and functions.

Program the program programming

images/thumbnail.jpg - Thumbnail

One of the few things that separates us humans from all the other animals is our ability to think about thoughts.

A sparrow may think I’m scared, I’ll say chirp chirp chirp and, as a direct consequence, whoever stands close to it will hear chirp chirp chirp.

SAP can take selfies!

images/thumbnail.jpg - Thumbnail

I just found out that SAP can take selfies. I still don’t see why one would need it. But that’s understandable because I never really understood the need for selfies anyway.

Here’s how SAP can take a selfie:

Limitar execução em background ou foreground

images/thumbnail.jpg - Thumbnail

You’ve developed a report which you know will take over 12 hours to run. So you don’t want anyone to try to run it in foreground. I’ll show you a way to make sure it doesn’t happen.

How to sabotage standard texts

images/thumbnail.jpg - Thumbnail

Some times I don’t like the names SAP gave to things. So I change them.

For example, one day I was very angry and thought all customers were parasites.

So I did the following:

How to avoid timeout when running a program

images/thumbnail.jpg - Thumbnail

Usually SAP systems have a predefined time limit for running a program interactively. If the program takes longer to run than that you’ll get a runtime execution error. A dump.

SE16H - Aggregate data without using Excel

images/thumbnail.jpg - Thumbnail

A long time ago transaction SE17 was used to look at database tables content. They quickly felt ashamed and decided to improve it, creating SE16. When ALV was invented, SE16N was released (although until today many people still use SE16, go figure!).

Today I present you SE16H.