SAP ABAP Smartforms

Smartforms are a new type of form of the SAP System, that appeared in SAP R/3 4.7 (R/3 4.6c had Smartforms as well, but it was not yet stable).

Following are the main advantages of Smartforms over Sapscripts:

  • Reduced development time

  • Graphical interface

  • Web Publishing (through XML file)

As in Sapscritpt, a print program and the Smartform form are needed in order to print a form. The difference with Sapscript is that in Smartforms the process logic may be inside the form. The print program only provides the information obtained from the SAP Database or other sources.

Basics

This is the Smartforms Transaction:

Smartforms Transaction

It is divided in three:

  • On the left, the Navigation Menu

  • Centered, the Maintenance Frame

  • On the left the Form Painter

The Form Painter may be activated or deactivated by pressing the button Form Painter in the menu.

Let's see what's the purpose of this objetcs:

  • Navigation Menu: you can browse the different nodes of the form

  • Maintenance Frame: here are set all the characteristics of the objects (which can be selected in the Navigation Menu)

  • Form Painter: the form layout is designed here. Yoy can create windows, graphics and other objects that can be inserted in the form

 Now, let's have a look at the types of nodes you can create:

  • Output Nodes

    • Page: a form page

    • Window: output area in a page

  • Elementary Nodes

    • Text: to show any text or table content

    • Graphic: to print graphics

    • Address: to include address data in the form

  • Output Table

    • Template: a table with static data

    • Table: table containing dynamic data

  • Flow Control

    • Command: executes special commands

    • Loop: processes the successor node repeatedly

    • Alternative: branch depending on a condition

  • Other Nodes

    • Folder: combines successor nodes in logical groups

    • Complex Section: combines all the node attributes 

    • Program Lines: execute ABAP code

The nodes will be executed from top to bottom.

Form Logic

As we mentioned before, the form logic is included in the form itself and not in the print program. This allows power users with no programming knowledge to configure new forms with data gathered in the SAP system belonging to the related process.

The print program function is only to provide information to the Smartform; so, if a modification in the form logic is necessary only the form will have to be revised.