SMART FORMS
02-Sep-09 Kaavian Systems
What are SMARTFORMS ?
Successor of SAP Script
Tool for the maintenance of forms on which application data from the
SAP system can be output
Used to create and maintain forms of mass printing
As output medium smart form supports printer , fax , e-mail or
Internet ( XML Output )
02-Sep-09 Kaavian Systems 2
SAP Script Vs Smart Forms
Multiple page formats are possible in smart forms which is not
the case in SAP Scripts.
Possible to have Smart forms without a main window.
Labels cannot be created in smart forms
Routines can be written in Smart forms.
Smart forms generates a function module when activated
FUNCTION
/1BCDWD/SF00000001
DATA: %INPUT
TYPE SSFCOMPIN
%RESULT TYPE SSFR
02-Sep-09 Kaavian Systems 3
Advantages
Creating and maintaining forms requires half the time of SAP Script.
Adapting forms without any programming knowledge due to entirely
graphical user interface.
Web publishing using the generated XML output.
Smart forms execute faster than Sap Script.
02-Sep-09 Kaavian Systems 4
Smart Form Architecture
02-Sep-09 Kaavian Systems 5
Form Builder
Selected node
Attributes
Navigation tree Form Painter
(of selected node)
02-Sep-09 Kaavian Systems 6
Tools
Form Painter
Table Painter
PC Editor
Navigation tree
02-Sep-09 Kaavian Systems 7
Form Painter
Used to design the layout of the smart form.
Similar to graphical painter in SAP Scripts.
Can place a scanned graphics into the background of the design area.
Auto scrolling when moving windows.
02-Sep-09 Kaavian Systems 8
Form Painter
Toolbar
Personal settings
zooming
Ruler with size of grid
selected window ruler
etc.
Windows for text
and graphics
02-Sep-09 Kaavian Systems 9
Table Painter
Drawing lines and columns
Inserting, cutting, copying and
deleting lines
Deleting cells
Changing cell size and moving
cell separator lines
Splitting cells
Select table patterns
Headers , footers
Sorting
Display output after sort levels
02-Sep-09 Kaavian Systems 10
PC Editor
PC Editor allows following functions:
− Enter , delete , select, cut and copy texts
− Assign paragraph and character formats
− Include , change , delete fields
02-Sep-09 Kaavian Systems 11
PC Editor
02-Sep-09 Kaavian Systems 12
Navigation Tree
02-Sep-09 Kaavian Systems 13
Global Settings
Form Attributes
Form Interfaces
Global Definition
02-Sep-09 Kaavian Systems 14
Form Attributes
Here we set the print settings like :
Page Format ( Eg : DINA4 , DINA3 etc)
Character per inch
Lines per inch
Style (smart style)
Flag for XSF output
02-Sep-09 Kaavian Systems 15
Form Attributes
02-Sep-09 Kaavian Systems 16
Form Interface
Used to pass data to the form.
We can define import and export parameters , tables and
exceptions.
02-Sep-09 Kaavian Systems 17
Global Definition
Applies to the entire form.
We can initialize the global data before we start processing the start
page.
Within the form routines we cannot access any global data unless we
explicitly pass them to the form routine interface.
02-Sep-09 Kaavian Systems 18
Structure of a Form
The form is similar to the layout and contains the following :
Pages
Windows
Addresses
Graphics
Tables
Templates
Data and text contents
02-Sep-09 Kaavian Systems 19
Pages
You can determine the page layout and the sequence of pages with
different structures.
Page layout includes the page format.
Individual pages of the form differ in their structure.
We specify the next page to make the page sequence clear.
For recursive output call the same page repeatedly.
02-Sep-09 Kaavian Systems 20
Windows
Main Window
You can display text and data , which covers several pages.
Can define only one window in a form as main window.
Must have the same width on each page , but can differ in height.
A page without main window must not call itself as next page,
since this would trigger an endless loop.
02-Sep-09 Kaavian Systems 21
Windows
Secondary Window : For output with fixed length
Final Window : Special secondary window for output of
information that is not available until the
end of form processing.
Copies Window : Special secondary window for making pages
as copy or original.
02-Sep-09 Kaavian Systems 22
Text and Data in a Form
Enter text in an editor.
Data can be character, strings, or numbers.
To display text and data in table format use tables or templates.
For format - Use paragraph & character formats
02-Sep-09 Kaavian Systems 23
Creating Smart Forms
Retrieve the application data
Describe your form
Pass the application data to the form
02-Sep-09 Kaavian Systems 24
Form Logic
Control the flow of the form output.
Smart form is described by a set of nodes.
Nodes are processed from top to bottom.
02-Sep-09 Kaavian Systems 25
Form Logic
First node is the root node
02-Sep-09 Kaavian Systems 26
Nodes
Page Command
Window Loop
Text Alternative
Graphics Folder
Template Complex Selection
Table Program lines
02-Sep-09 Kaavian Systems 27
Node Types
G loba l S ettings First Kind of Node and its sub-nodes
G lobal Definitions
Form Attributes
Second Kind of Node and its sub-nodes
Form Interfa ce
Pag es an d W indow s
O utp ut Areas Elem en tary N od es Table O utp ut Flow Co ntrol O ther Nod es
Page T ext T em p late Com m and Fo ld er
W in dow G raphic T ab le Loop Co m plex Section
Add ress Alternative Program Lin es
02-Sep-09 Kaavian Systems 28
Node Types
Output Area
Node type Description Possible direct
successors
Page A page of the form. Direct successors of this node can Window, graphic,
be placed directly on the page. address
Window Output area on a page. There are main windows and All except window and
subwindows. page nodes
Elementary nodes (Without successors)
Node type Description
Text You use this node to print any texts (and table contents), except addresses.
Graphic You use this node to position graphics in the form. To include background graphics, use
node type Page .
Address You use this node to include an address. The system reads the address data directly from
the database tables and formats them for print output.
Node type Description Possible direct successors
Table output Template Output of a table containing All except window, page, table,
static data and template nodes
Table Output of a table containing As with template node
application data
02-Sep-09 Kaavian Systems 29
Node Types
Node type Description Possible direct successors
Command Executes special commands (next page, (no successor)
paragraph numbering, printer control)
Loop Processes successor node repeatedly. All except window and page nodes
Alternative Branches depending on condition. Direct successors are automatically the nodes TRUE and
FALSE. The direct successors of these are all nodes except
window and page nodes.
Other Nodes
Node type Description Possible direct successors
Folder Combines successor nodes to All except window and page nodes
logical groups
Complex section Combines all attributes of the node All except window and page nodes
types template, table, loop, folder
Program lines Executes ABAP program code (for (no successors)
example, conversion routines).
02-Sep-09 Kaavian Systems 30
Table and Template Nodes
Template nodes are used for printing data on pre-defined
forms like flight tickets or tax forms.
Table nodes are used to process and print internal tables.
Layout Only at Runtime Layout Fixed
Size Size
02-Sep-09 Kaavian Systems 3131
Flow Control Nodes
02-Sep-09 Kaavian Systems 32
Attributes of the Node Types
The following tab pages are used in common by several node types
The node types table , template , loop, folder, and complex
selection share a different tab in the place of General attributes.
02-Sep-09 Kaavian Systems 33
Style Builder
T-Code SMARTSTYLES
A smart style contains
Header data containing the default values of a smart
style.
Paragraph formats including indents and spacing , font
attributes, tabs, and outline numbering.
Character formats including effects ( super script,
subscript) , bar code and font attributes.
Colors & underlines for paragraph or character
format.
02-Sep-09 Kaavian Systems 34
Style Builder
02-Sep-09 Kaavian Systems 35
Integrating the Smart Form into the Application
You trigger the form printing by calling only two function
modules.
The first module uses the name of the form to determine the name
of the generated function module.
The name of the generated function module is unique only with
one system.
Function module SSF_Function_Module_Name returns the name
of the generated function module.
02-Sep-09 Kaavian Systems 36
Generated Function Module
02-Sep-09 Kaavian Systems 37
THANK YOU
02-Sep-09 Kaavian Systems