When describing Abap development matters in detail, there are topics which don't actually belong anywhere, or they would relate to many other articles. AbapcadabrA Cookies is where stand-alone articles find their home. Until a better home if offered to them of course...
There are more than 1000 icons in SAP, which can be used for menu's in screens or on reports. To get an overview of these Icons, report
SHOWICON can be used. Have you been peeking at the output of this report in the past ? AbapcadabrA holds an alternative to the
SHOWICON which will help you selecting the right Icons
Everybody knows the "*" acts as a wildcard value in SAP's data entry fields. Did you also know that the "+" character does the same thing, but just for a single character ? It's common knowledge which is used in all modules and the *-character is probably the most used keyboard button - except for most alphabet keys. So how do you find the "*" value itself ? Anyone ?
SAP functionality can be called/started via transaction codes and reports. The main transaction codes also live in SAP's menu,s but when you want a short-cut to certain functionality, use the transaction code. They are listed in table
TSTC which can be viewed with transaction code
SE16N or similar).
Many of the settings on how the system opterates are setup in a parameter file, very high level and with very interesting values. Check out report
RSPARAM to list all values. Would you like to know how long your program can run before a
TIME_OUT occurs ?
Timer, clock, animations, automatic refresh, trigger - just some hype words that would help you find this article. If you want to refresh something or you want to ensure a certain task is not on the screen for too long - you will have to wonder: Business Application Relevant ? If it is: here's how
Having your Abap coding operate all over the world could mean some adaptions need to be done. There is a Unicode check setup available as transaction
UCCHECK - Check a Program Set for Syntax Errors in Unicode Environment. The transaction operates as code inspector, checking the health of your ABAP developments. Unicode matters become important when talking to the outside world, so the interface side of developments is outlined here.
There is a nice way to pimp up a comment block, given that Abap coding (any coding) is often shown in a mono-spaced font, for Obvious reasons. Personalize your coding with an easy to implement tekst-based super font. In fact, there's over 100 such fonts available.
Business relevant documents can be changed, and changes may need to be traced. SAP has Change Documents to cater for this, a document in itself which hold the change log of another document. The setup can be applied to existing SAP objects, documents, but also custom build ones. Here's how.
You must have heard of the system log, which keeps track of a wide variety of things that have happened on the system. Transaction
SM21 reveals the system log, which will hold information about dumps, failed login attempts or even debugger change actions in which the variable that was changed is outlined. Want to make your own mark ?
There is a standard SAP report that can be used to download a report or module pool with it's includes and screens. It's a report that is part of the SAP workbench and it's ready for you to use. Report
REPTRAN - Report and module pool transporter, can be a great help in sharing developments and comparing versions of reports for different systems.
So which user-ID's have developer access on your system ? To be a developer an access key needs to be obtained from SAP, and table
DEVACCESS lists the users with such key.
This is rather uncommon: but it is used in HR for transaction
PA30 to hide or show screen fields controlled via customizing. In effect a list of fields that is available on the screen (dynpro) is made available in a customizing table (
T588M) and from there the system can hide fields or make them readonly. A special statement is available for this.
You may not realize it, but you have used the GOS toolbar on SAP's standard documents already. GOS or Generic Object Services is a suite of functionality that allows the end user to add / maintain attachments. It's the button that can be found just to the left of the application title. A personal note can be added to the document, as can attachments. It is even possible to have the system add an attachment document, when .e.g. the shopping cart was created for a web site through which the attachment was uploaded.
There is a very easy way te refer to an internet or intranet site from an Abap: call function
OPEN_BROWSER and pass the URL to it. Check the coding within while you are at it - it too holds interesting functionality.
You are likely to be using CTRL-X and CTRL-Y all day long, copy and paste texts or other objects using the windows clipboard. Reading this clipboard and setting it's content can be done with function modules
CLPB_EXPORT. Texts only.
SAP sessions can become part of a development solution, though this is not a common thing. Session control is a subject that should be controlled by the overall system and not from your specific development. Having said that - there are means to control sessions from an Abap development.
You want to give your end user the option to start a new session: think again. Starting a new session is a standard option on every menu and can even be done with SHIFT-*, so you don't need to do that anywhere else. Or should your new session start a specific transaction ? Here's how:
Recording sessions is backed by quite a bit of tooling, which can be confusing. That's a petty, because the tooling is available to you or your end user, it works and it has enormous potential. A brief article on how it all associates to each other. What's
SM35 relation to
Your end user needs to log on and make himself known. But there is also terminal information on where the user is. Check out function module
TH_USER_INFO, which will return a terminal ID as well as session information. C-call to
ThUsrInfo. But that's not all the
TH_* modules have to offer. Check out function group
THFB for MANY more interesting function modules.
There is a statement which will help you get rid of duplicate entries from an internal table - and it may be good to know which entry is actually removed, the original one or the actual duplicate ? It's the duplicate of course, however, you do have control...