Copyright 2025 - BV TallVision IT

The page number and the number of pages are probably the most common system variables that are available in your smartform, but there are many more available to you - in SFSY

System parameters or variables for Smartforms are directly available from the SFSY structure:

Page &SFSY-PAGE& of &SFSY-FORMPAGES&

Check out the fields on structure SFSY in SE11 and get counting.

You've set up your Smartform, you used something like Page &SFSY-PAGE(C)& of &SFSY-FORMPAGES(C)& and the output is "Page 1 of 1" on every page... Double click on the "Page" node and check the properties. It should indicate "Increase counter".

Wouldn't it be great if Smartform output could contain click-link or hyperlink texts that would take the end user to some web site in his/her own browser ? It can be done ! This is an example where a Smartform is composed with a reference text, URL references are prepared before the Smartform is produced, then the output is transformed into a PDF file (on the presentation server) with working alias links. 

A brief introduction to the editor of Smartforms. The most relevant components are described. A SmartForm (like a SapScript form) consists of Pages (usually the "first" and "next", sometimes also a "last") which consists of windows. Each window has it's location (placement) on the end result. One of the windows is the more prominent one, as it can "roll" - that is, the contents of this window builds up and when the end of the window is reached, the next page (again with a MAIN window) is prepared.

When you compose your Smartform (or Sapscript form) you will be setting fields in a &SOMEFIELD& form, for which a wide variety of formatting options is available. Check them out: Note that the options are filled in just before the closing &-character, and options can be combined.

Your Smartform (or Sapscript) should potentially be made available in more than one language. When you are setting up your Smartform, make sure you know about how translations work. In a nutshell: 

When developing your form, you will fill in text elements which will have actual text. Text elements that contain text (in a language) can be translated. When the form is composed in an alternative language, it will try to pick up in the translated version of each text element in your form. So: do your thing, put actual texts on the form and finish it (in a certain language). Then work up a translation, in the Standard Translation Environment, transaction SE63.

The system uses SapScript forms (which is more often than not the case for FI) and a name change or company website reference or such needs to be applied. How should this be done ? Do you need to browse through each form and look up existing references ? This article describes what I did to check over 100 Sapscript forms / in automated fashion. 

Adobe has had forms as their business for a long time - and the adobe form is integrated and available from within SAP, with it's own transaction code and all. It's not as elaborate as the Adobe Interactive Form, but it covers all main functionality from the Smartform. Printed on paper or as .PDF file. 

In effect, the SmartForm is triggered by calling it's processing function module, a system-generated function module for which the name needs to be looked up. Also explains what OTF is about. The SmartForm parameters or Interface parameters need to be passed in the function module call.

Check out one of SAP´s demo Smartforms with a brief description of the AbapcadabrA author... Start transaction SMARTFORMS and enter SPPFDEMO_BOOK. This is our example Smartform - with guided tour:

You can assume the company you will be producing Smartforms for has a company-wide agreements for the font family and size to be used. Set them up in a Style which can be applied to your Smartforms...

A simple report that will download the SapScript Graphic or BDS (Business Documents Service) image to a local .bmp file. All graphics would need to be uploaded from e.g. a .bmp file but the original is often lost. Transaction SE78 does not provide the download functionality, so this development tool report does. 

Sapscript is the predecessor of Smartforms. But they are still around and require changes every now ant then. Thus: Sapscript in a nutshell:

Transaction SE71 can be used to maintain a Sapscript form. When you are about to create a new form, you should create a Smartform, but surely enough you will have some reason to work with Sapscript (e.g. change a SAP standard form like MEDRUCK).

You can call a routine in any program from a Sapscript window element, using the PERFORM ... ENDPERFORM statements. How does this work ? Read on...