Physical vs logical folders

If in your report called APP1 you need to save a file in a server folder (ex.: /export/app1/) and you don’t want it to be a selection screen parameter, how do you do it?
If in your report called APP1 you need to save a file in a server folder (ex.: /export/app1/) and you don’t want it to be a selection screen parameter, how do you do it?
You’re in the editor. You type ( or [ or { or ' and SAP is dumb and doesn’t close it right away like a proper IDE would. Well, Click on the lower right corner icon which gives you access to the SAPGui options where you configure code templates. In the formatting option, activate Enable Auto Brackets and voilá, SAP will now automatically close any doors you open. I don’t see why this isn’t set by default.
If you read Abapinho you already know how much I like exception classes. But this is not the only ABAP mechanism for dealing with errors.
There is another one, called ASSERT, which should be used more often.
The other day a very strange thing happened to me. I was sending SY-TABIX as a parameter into a method. Before the call it contained 1 but, once inside, the parameter’s value was 0. Weird. o_thingalizer->very_strange_thing(sy-tabix). I was hearing “Why?! Why?!” repeatedly inside my head. But suddenly I understood it! When you send some field of the SYST as a by parameter you have to pass it by value and not by reference.
Some time ago I wrote an article explaining a way to automatically convert classic exceptions to exception classes. Today I use this technique in almost all the exception classes that I create (and I’ve even improved it, but I’ll leave that for another post).
This tip explains the exact opposite.
Sometimes, when comparing versions, several differences show up even when we did not make changes to the code. These differences may simply be a consequence of a Pretty Printer that altered code indentations. This makes comparing the versions confusing. But ABAP Workbench lets you configure the diff tool to ignore indentations and even comments. Just press F5 while there or go to the “Display Format> Settings” menu and adapt it to your needs:
When you want to use CL_GUI_ALV_GRID in a CONTAINER you must copy a standard Status GUI from another program. For example, the GUI Status “STANDARD” of the function group SALV. And then, in the screen’s PAI you do:
SET PF-STATUS ‘STANDARD’.
And thus the little standard buttons show up on your screen.
While coding, it’s always good to have ways to speed up what we’re doing. A good one is automatic generation of templates for function and method calls.
I know 3 ways to achieve this.
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.
The ABAP editor is full of functionalities yet to be discovered.
When I do CTRL-F to search for text, the option I usually choose is “Find next”.
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:
You remember having written a method some years ago which you need now. You know it had the word MALMEQUER somewhere in its name. But what now? How will you find it? You could use transaction SE24 to look at every class you worked on since then. But that would probably keep you busy for ages. Don’t do that. Try using transaction SE84 instead:
Let’s say you want to call a method for which you don’t know the parameters. What do you do?
You used to have to use the “pattern” button. Or open the class in a new window to look at the method’s parameters. But then the ABAP Editor evolved and we got auto-complete which made everything much more easy.
But there is yet another way.
When I want to search for a word in an ABAP program I usually press CTRL-F to use the normal search feature of the ABAP editor. I enter the word I want to find and then press “NEXT” to look for it.
But there is another way. And it’s not better nor worse. Just different: the incremental search.