What is SAP Smart Forms?

SAP Smart Forms is introduced in SAP Basis Release 4.6C as the tool for creating and maintaining forms. 
SAP Smart Forms allow you to execute simple modifications to the form and in the form logic by using simple graphical tools; in 90% of all cases, this won't include any programming effort. Thus, a power user without any programming knowledge can configure forms with data from an SAP System for the relevant business processes.
To print a form, you need a program for data retrieval and a Smart Form that contains the entire from logic. As data retrieval and form logic are separated, you must only adapt the Smart Form if changes to the form logic are necessary. The application program passes the data via a function module interface to the Smart Form. When activating the Smart Form, the system automatically generates a function module. At run time, the system processes this function module. 
You can insert static and dynamic tables. This includes line feeds in individual table cells, triggering events for table headings and subtotals, and sorting data before output.
You can check individual nodes as well as the entire form and find any existing errors in the tree structure. The data flow analysis checks whether all fields (variables) have a defined value at the moment they are displayed. 
SAP Smart Forms allow you to include graphics, which you can display either as part of the form or as background graphics. You use background graphics to copy the layout of an existing (scanned) form or to lend forms a company-specific look. During printout, you can suppress the background graphic, if desired. 
Key Benefits of SAP Smart Forms:
SAP Smart Forms allows you to reduce considerably the implementation costs of solutions since forms can be adjusted in minimum time.You design a form using the graphical Form Painter and the graphical Table Painter. The form logic is represented by a hierarchy structure (tree structure) that consists of individual nodes, such as nodes for global settings, nodes for texts, nodes for output tables, or nodes for graphics
To make changes, use Drag & Drop, Copy & Paste, and select different attributes.
These actions do not include writing of coding lines or using a Script language.
Using your form description maintained in the Form Builder, Smart Forms generates a function module that encapsulates layout, content and form logic. So you do not need a group of function modules to print a form, but only one.
For Web publishing, the system provides a generated XML output of the processed form.
Smart Forms provides a data stream called XML for Smart Forms (XSF) to allow the use of 3rd party printing tools. XSF passes form content from R/3 to an external product without passing any layout information about the Smart Form.

SAP provides a conversion for SAPscript documents to SMARTforms.
This is basically a function module, called FB_MIGRATE_FORM. You can start this function module by hand (via SE37), or create a small ABAP which migrates all SAPscript forms automatically.
You can also do this one-by-one in transaction SMARTFORMS, under
Utilities -> Migrate SAPscript form.
You could also write a small batch program calling transaction SMARTFORMS and running the migration tool.
Smart forms is very similar to SAP scripts . This is also a tool which is extensively used to creat layouts and then a separate print program is created. This print program is used to create the output internal table which ibn turn is thrown to the smart form where the field values are displayed .
In the print program mentioned below output internal table is created by populating certain fields from database tables into it . Once the output internal table is ready , then the function module SSF_FUNCTION_MODULE_NAME is called . Here , in the import parameters , the name of the smartform is given . The output of this function module is the name of another function module .
Within a form you can use the field string SFSY with its system fields. During form processing the system replaces these fields with the corresponding values. The field values come from the SAP System or are results of the processing. 
System fields of Smart Forms
Displays the date. You determine the display format in the user master record.
Displays the time of day in the form HH:MM:SS.
Inserts the number of the current print page into the text. You determine the format of the page number (for example, Arabic, numeric) in the page node.
Displays the total number of pages for the currently processed form. This allows you to include texts such as'Page x of y' into your output.
Contains the total page number of all forms in the currently processed print request.
Contains the name of the current window (string in the Window field)
Contains the name of the current page (string in the Page field)
Is set to 'X' after a page break (either automatic [Page 7] or command-controlled [Page 46])
Is set as soon as processing of the main window on the current page ends
Contains the name of the raised exception. You must trigger your own exceptions, which you defined in the form interface, using the user_exception macro (syntax: user_exception ).

Additional Fonts for your SMARTFORMS
You can create additional fonts and style with transaction SMARTSTYLES
This can then be define in the paragraph and character formats, which you can then be assign to texts and fields in the Smart Form.


  1. Is it possible to create in output a word template with SmartForms ?


  2. nice work ...... very helpful to summarize ... thanks

  3. Is there a list of all Smartforms available in SAP ERP??

  4. how to use two diffrent smartforms in a single abap report ,can anybody help me with example.
    thanks and regards...
    manish manohar

  5. good material including basics ....
    make a glance ..

  6. very nice system fields are very useful for interview......thank u very much.............

  7. I am getting training in ABAP, I have well command on smartforms, I want to practice with real time work task in smartforms, can you concise me real time project task in smart form.