Always use message classes in exception classes.

images/thumbnail.jpg - Thumbnail

Exception classes let you state multiple texts describing the different possible errors that they can represent.

However, there exists an option to associate it with a message class (SE91). This allows texts to be defined as classic SE91 messages instead of being defined directly in the exception class. And it has advantages.

Mathematics problem

images/thumbnail.jpg - Thumbnail

Do you know the difference between a mystery and an enigma puzzle? An enigma puzzle is known to have a solution, but with a mystery you don’t know if there is solution.

Do you agree with this? 5 * 3 / 10 = ( 5 * 3 ) / 10 = 5 * ( 3 / 10 ) = 1.5

If you don’t, you should agree because it is a mathematical fact.

Now let’s do some experiments.

The ABAP editor has a good memory

images/thumbnail.jpg - Thumbnail

Select a word in the ABAP editor and choose CTRL-C. Then select another word and choose CTRL-C again. Then another word and so on. You have copied words several times to the clipboard. Experience and common sense tells us that if you choose CTRL-V you can only paste the last word you copied to the clipboard. But that is not quite right. You may not be aware of it, but the ABAP editor has a good memory.

Compare a table across two systems

images/thumbnail.jpg - Thumbnail

The SCMP transaction compares the content of a table across two systems. It is very useful, especially for parameterization tables.

It is very easy to use. It allows for the pre-selection of the registers and fields to compare. It also allows you to only display the differences, which is convenient for tables with lots of data. I don’t think any more explaining is required. Ite et videte.

This tip recently appeared in the ex SAPtricks blog and I think it is so useful that I have reposted it here, in case you haven’t already seen it.

SELECT... ...ORDER BY PRIMARY KEY

images/thumbnail.jpg - Thumbnail

Although I have been using ABAP since 1998, I learn new features or options every week, and sometimes even new commands. It’s hard to believe.

Today, I’ll share a little SQL option that I recently discovered.

SELECT * FROM T001
INTO TABLE T_T001
ORDER BY PRIMARY KEY.

I have known SELECT, FROM, INTO, TABLE and even ORDER BY for a long time. I just didn’t know of PRIMARY KEY.

It orders the internal table by its key. Convenient.

Function to create cartoons

images/thumbnail.jpg - Thumbnail

Cartoons always look good in a report. In a SAPGui that is boredom in blue, the more colours and cartoons there are the better it is. Luís Rocha showed me a very convenient function to fill up a report with icons.

SELECT comparing 2 fields of the same table

images/thumbnail.jpg - Thumbnail

This tip is simple and quick, but I bet 200.482 Portuguese escudos that few know it.

Syntax error when returning tables of a method

images/thumbnail.jpg - Thumbnail

When you create a return parameter in a method of a class that is a TABLE TYPE based on a type declared in the class proper, an error sometimes pops up that says:

“Type of RETURNING parameters must be fully specified.”

Steal data from a SALV

images/thumbnail.jpg - Thumbnail

A friend of a friend of a friend said that a friend of his knew a friend who explained to him in a shady club bar in the docks area of Lisbon how to steal data from a SALV.

/HS Command

images/thumbnail.jpg - Thumbnail

Most functionals, and even the hardcore functionals, knows that in order to start debugging an ABAP program, we use the /H command. But few programmers, even the hardcode programmers, will know the purpose of the /HS command.