SAP Smartforms: search & debug coding inside your smartform

One of the general rules to SAP Smartforms is to put as less coding as possible inside a SAP Smartform. ABAP coding is allowed but should only be used for formatting purposes.

But of course, as we all know, rules are ment to be broken 🙂 and some people create Smartforms with tons of coding lines inside Smartforms which are a real pain to debug sometimes.

But the following tip could help you someday to search for coding used inside a Smartform.

Step 1:
Launch the transaction SMARTFORMS and enter the name of your SAP Smartform followed by a click on Display or Change button

Step 2:
Now in the menu go to Environment -> and click on Function Module Name + copy the content of the resulting popup.
Should be something similar to this: /1BCDWB/SF00000005

Step 3:
Start SE38 in a new session, and paste the previous content in the program field

Step 4:
Just before the 'S' of SF00000005 add an 'L' and at the end add 'F01'.
It should look like this: /1BCDWB/LSF00000005F01

Now click 'Display' on the SE38 transaction.

I welcome you now inside the generated include for your Smartform :). This include contains all ABAP coding and conditions which can be searched upon inside the Smartform.

For example if you put a condition on a node you can search for the variable that you used for this condition and you can set a breakpoint on it to check it in a debugging during an output.
Or if you have programmed some logic you can search for it and set a breakpoint on it so that you can debug your Smartform.

Best regards,
The Coolest Dolphin.


SAP Smartforms debugging Program Lines startpoint

In include LSTXBCFDC (accessible via SE38) do a search for:
* callback
and set breakpoint at
perform (p_callprog) in program (p_callform). "(line 258)
Now when performing output of smartform and arriving at breakpoint continue 1 step and you will arrive in the Smartform generated coding where you can search (CTRL-F) for a specific coding, thus allowing you to set breakpoints in Program Lines throughout the Smartform.

Very usefull for debugging Program Lines inside a Smartform.

Best regards,
The Coolest Dolphin.


Hi all,

I’m using a backup-script (DOS batch-file) which I run at the end of the month to backup my knowledge documents for my work. For this I use the command line version of WinRAR (which comes automatically with a graphic install of WinRAR).

The batch-file itself contains the following lines:
1) The rar-executable call:

  • which for ‘a’ adds the files
  • -p adds a chosen password (no space between -p and your password)
  • -r recursively (for deep nested file structures)
  • the destination WinRAR-filename
  • source location (recursively !)

rar.exe a -p<INSERT PASSWORD HERE> -r backup.rar D:\Data\Backups\DATA\*.*

2) Perform actions on the resulting filename:
for /f "tokens=1-5 delims=: " %%p in ("%time%") do set time="%%pu%%q"
for /f "tokens=1-5 delims=/ " %%d in ("%date%") do rename "backup.rar" "backup_%%f-%%e-%%d_%time%.rar"

Which then results in the following unique WinRAR-filename:

Of course you can use a freeware scheduling utility to auto execute this script at the end of each month.
Eg. Freebyte Task Scheduler (just googled this! Did not test this myself but it should do the job)

Comments of remarks let me know!

Best regards,
The Coolest Dolphin.



Apparently Adobe’s Creative Suite 2 is freely available for everyone’s download.
See Adobe Creative Suite 2.

If you search for licensing details you find (after some searching!) the following information:

Effective December 13 2012, Adobe disabled the activation server for Creative Suite 2 products and Acrobat 7 because of a technical glitch. These products were released over seven years ago and do not run on many modern operating systems. But to ensure that any customers activating those old versions can continue to use their software, Adobe issued a serial number directly to those customers. While it could be interpreted as Adobe giving away software for free, Adobe did it to help its customers.

But on the download page there is no mention of any of this licensing requirement whatsoever. In my humble opinion this compares to a free giveaway of Adobe’s CS2 suite!

Additional to this, normally every Adobe download is protected via Adobe’s authentication mechanism but these downloads are directly downloadable with no protection, redirect or other digital protected distribution method.

In the Adobe’s forums some poster asked the right questions but no answer was provided yet.
His/her questions were:

  • It is not free, it was just posted for people who already have a license and can no longer use the activation servers (which were decomissioned).
    Where is that stated on the downloadpage? http://www.adobe.com/downloads/cs2_downloads/index.html
  • Why is that page accessible for everyone without an adobe ID?
  • Why Can the content be directly downloaded without even going to the downloadpage without any form of ID authentication.
  • Why is the EULA not customized for this?
  • Why is there still no notification on the download page?
  • Why am I able to register it and it shows up in my “My Adobe”?
  • Why have the users who have registerd this with their full and valid adress and email information not received any mail about this?
  • Why is the forum the only communication channel to about this? When and Where will be the official statement? Will this be outside the forum. If not, why not use the website homepage and email adresses of the registered users?

See the post in question.

For the Mac users be aware that the downloads are PowerPC cpu comptabile only!
Window users can use these software without any problems.

Direct links & serial numbers:
Adobe Creative Suite 2

Anyway download immediately I say while this lasts 🙂

Best regards,
The Coolest Dolphin.

*** UPDATE ***
Meanwhile Adobe added a disclaimer stating that you need a legal license for this software:

Adobe has disabled the activation server for CS2 products, including Acrobat 7, because of a technical issue. These products were released more than seven years ago, do not run on many modern operating systems, and are no longer supported.

Adobe strongly advises against running unsupported and outdated software. The serial numbers below should only be used by customers who legitimately purchased CS2 or Acrobat 7 and need to maintain their current use of these products.

But still the question remains why Adobe allowed anyone to download this CS2 version? Normally every Adobe official software download is put behind an authentication wall via license check and is not openly available for download.



Just discovered there is a mass download (to XML) program in SAP for all smartforms in the system:

RFRECPSFTLXML - Utility: Mass Download (.XML) of Smart Forms
RFRECPSFTLGEN - Utility: Mass Generation of Smart Forms

I’m not sure why I’m mentioning the second program but this was also in this package. Perhaps it might come in handy someday…

Best regards,
The Coolest Dolphin.


Inspired by the up- and download-utility to XML for ABAP classes from Sergey Korolev (link) I extracted parts of the coding and reworked these into a new program which allows me to save the source code of methods from a SAP class into a plain text file instead of an XML-file.
The output text-file has all the methods parameters, exceptions and source code listed.

I just needed such a utility for documentation purposes.

Use it however you want…
Spread it wherever you want…
Modify it as you please…

Download here:

Best regards,

**** UPDATE 16/01/2014 ****
I’ve noticed that the downloaded source code by this download utility is limited to lines with 72 characters.
All coding beyond 72 characters is/was lost.
After a debugging session in the SAP ABAP editor, since the editor displays the coding >72 characters also, I’ve extracted this coding and inserted this in the download utility.
You can find the update here: YRS_CLASS_DOWNLOAD_TXT_UPDATE.



The following coding will replace certain characters (‘/’, ‘\’, ‘?’, ‘%’, ‘:’, ‘|’, ‘<‘, ‘>’, ‘*’, ‘”‘) by an underscore.
I needed this because I’m writing files on a UNIX system based on a spooltitle but this UNIX-system does not allow certain characters in the filename.

l_destination = <spool>-rqtitle.
* Replace characters that can cause problems for file creation
l_destination = replace( val = l_destination regex = '[\/\\\?\%\:\|\\<\>\*\"]' with = '\_' occ = 0 ).

If occ contains the value 0, all found locations are replaced.
If occ is positive, occurrences are counted from the left; if occ is negative, occurrences are counted from the right.
The values 1 and 2 therefore mean the first and second occurrence, for example. Similarly, the values -1 and -2 mean the last and second last occurrence.

The default value for occ is 1.

This might be helpfull to you someday :).

Best regards,
The Coolest Dolphin.


Hi, below you will find a way in ABAP to dynamically format a local phone number into an international format. If necessary modify it to your requirements and leave a comment if you find this usefull.
I’ve extracted this from a function module, hence the importing variables (im_).

DATA: l_telnumber TYPE adr2-tel_number.
DATA: lwa_t005k TYPE t005k.

* Assign original phone number to local variable
l_telnumber = im_telnumber.

* You can apply additional formatting to phone number here
* In my case I receive the incomming phone number like this: '02/xxx xx xx'

* Get country dialing code information from t005k
IF NOT im_country_code IS INITIAL.
CLEAR: lwa_t005k.
INTO lwa_t005k
WHERE land1 EQ im_country_code.

* When country is found
IF sy-subrc EQ 0.

* Remove prefix defined in country dialing code information
SHIFT l_telnumber LEFT DELETING LEADING lwa_t005k-telefrm.

* Compose international phone number, | | stands for space
ex_telnumber_formatted = '+' && lwa_t005k-telefto && | | && l_telnumber.


* The returning result will be: '+32 2/xxx xx xx'

Best regards,
The Coolest Dolphin.


For olt times sake I would like to bring up these alternatives for CTRL-C & CTRL-V.
Perhaps some day this may come up usefull 🙂

CTRL-C => alternative is CTRL-INSERT
CTRL-V => alternative is SHIFT-INSERT

Best regards,
The Coolest Dolphin.


I was looking for a good (freeware) SnagIt alternative which adds the same sexy shadow-border to the grabbed object that SnagIt does when grabbing screencontent. With this I mean the following:

Example of grabbed content with shadow

Example of grabbed content with shadow

This screenshot was taken using HardCopy. For this to work you have to first record a macro where you
use the Hard Shadow-option in the menu. This macro you can attach to a screengrabbing-action automatically so every time you take a screenshot this shadow is automatically added. Of course various other operations are possible (watermark, auto convert to black and white, etc…). This list is too long to mention.

You can also put arrows, lines, boxes (filled or empty), circles, etc on your grabbed screencontent:

Example placing arrows onto grabbed screencontent

Example placing arrows onto grabbed screencontent

Also image batch processing is possible. The list goes on and on…

Allthough the UI of the program seems a bit outdated it’s the long list of possibilities that you have with this program that mathers. Definately worth having it in your toolkit in my humble opinion.
(thanks Hans D. for showing me this nice utility btw)

Click here to download HardCopy.

And here is the feature list of everything HardCopy can do.

Best regards,
The Coolest Dolphin.