use smart forms v2.0 toc

41
Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 1 of 1 S S m m a a r r t t F F o o r r m m s s : : A A n n O O v v e e r r v v i i e e w w

Upload: arjun-dhull

Post on 14-Oct-2014

188 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 1 of 1

SSmmaarrtt FFoorrmmss:: AAnn OOvveerrvviieeww

Page 2: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 2 of 2

1. INTRODUCTION .................................................................................................................. 4 1.1 WHAT ARE SMART FORMS?.......................................................................................................................4 1.2 HOW ARE SMART FORMS DIFFERENT FROM SAPSCRIPTS?........................................................................4 1.3 ARCHITECTURE: .......................................................................................................................................6 1.4 MAIN FEATURES OF SMART FORMS..........................................................................................................6 1.5 CREATING SMART FORMS.........................................................................................................................8

2. ABOUT FORM BUILDER: ITS COMPONENTS.............................................................. 9 2.1 BASIC TREE STRUCTURE ...........................................................................................................................9 2.2 GLOBAL SETTINGS:.................................................................................................................................10

2.2.1 Form Attributes ..............................................................................................................................10 2.2.2 Form Interface ...............................................................................................................................10 2.2.3 Global Definitions: ........................................................................................................................12

3. PAGES AND WINDOWS.................................................................................................... 15 3.1 NODE 'PAGE' .........................................................................................................................................15

3.1.1 General Attributes: ........................................................................................................................15 3.1.2 Output Options: .............................................................................................................................16 3.1.3 Background Picture: ......................................................................................................................16

3.2 WINDOWS...............................................................................................................................................17 3.2.1 General Attributes of a 'window' node:..........................................................................................17 3.2.2 Output Options: .............................................................................................................................18 3.2.3 Conditions:.....................................................................................................................................18

4. SUCCESSOR NODES OF WINDOW/PAGE.................................................................... 20 4.1 BASIC NODES..........................................................................................................................................20

4.1.1 Text.................................................................................................................................................20 4.1.2 Text Module ...................................................................................................................................22 4.1.3 Graphic ..........................................................................................................................................23 4.1.4 Address...........................................................................................................................................25

4.2 AUXILIARY NODES .................................................................................................................................25 4.2.1 Template.........................................................................................................................................26 4.2.2 Table ..............................................................................................................................................29 4.2.3 Loop ...............................................................................................................................................32 4.2.4 Complex Section.............................................................................................................................33 4.2.5 Alternative......................................................................................................................................34 4.2.6 Command .......................................................................................................................................35 4.2.7 Program Lines ...............................................................................................................................35 4.2.8 Folder.............................................................................................................................................36

5. APPENDIX A: STYLE BUILDER ..................................................................................... 37 5.1 HEADER DATA........................................................................................................................................38

5.1.1 Standard Settings ...........................................................................................................................38 5.2 PARAGRAPH FORMATS ...........................................................................................................................39

Page 3: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 3 of 3

PROLOGUEPROLOGUEPROLOGUEPROLOGUE

Metamorphosis is an improved change in structure and function of an entity. The aspect of creation and maintenance of forms in SAP has metamorphosed from SAPscripts to Smart Forms. Smart Forms has revolutionized the creation and maintenance of forms in that, the same is more user friendly and consumes unbelievably lesser time. The overview that follows is structured in such a way as to help any technical person understand the content and use the same for handling this new feature of SAP with confidence. The principal sources that have served for the preparation of this technical paper include our ever helpful SAP’s ‘F1’s and ‘F4’s , SAP 4.6C documentation on SAP Smart Forms, the fundamentals of SAPscripts that I gathered from interactions with my team leader Mr. Anupam Dutta and the results of various experiments that I am guilty of indulging in during the development of the Smart Form (Total Compensation Statement) for Nestle Project, which incidentally happens to be the first smart form development in i-SDC. This paper is introductory in nature and is first in the series of technical guides for Smart Forms. Suggestions are sought from the users so as to make the documents that shall follow better in terms of quality and content. I take this opportunity to thank my senior colleagues Mr. Samit K. Sen and Mr. Anindya Mitra for their valuable suggestions.

- Taraka Chaitanya Vyas

Page 4: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 4 of 4

1. Introduction

1.1 What are smart forms?

SAP Smart Forms are used to create and maintain forms for mass printing in SAP Systems. As output medium SAP Smart Forms support a printer, a fax, e-mail, or the Internet (by using the generated XML output).

SAP Smart Forms offer the following advantages:

• Creating and maintaining forms requiring half the time (compared to SAPscript forms)

• Adapting forms (those provided by SAP or a custom one) without any programming knowledge due to entirely graphical user interface. Thus, a functional consultant without any programming knowledge can configure forms with data from an SAP System for the relevant business processes.

• Web Publishing using the generated XML output.

SAP quotes-- "The SAP Smart Forms replace the SAPscript forms. But, SAPscript forms will also be supported in the future; you can use them without making any changes for years to come. SAPscript texts can be used in the Smart Forms. SAPscript forms can be migrated to Smart Forms."

1.2 How are Smart Forms different from SAPscripts?

! The main difference is that, the flow (viz., when, which windows/text elements are to be printed) in SAPscripts is controlled by the driver program, but in Smart Forms, the flow logic is entirely incorporated in the form itself. The driver program retrieves data from Database and sends it at one go to the Smart Form through a function module (which is

Page 5: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 5 of 5

generated when a Smart Form is activated). So, calling a smart form from a driver program boils down to calling a function module. Database tables can also be accessed from the form .

! ABAP code can be written in Smart Forms; basically they can be used as though they are function modules, in defining local variables, subroutines, etc. Thus, Smart Forms can be run by just executing the concerning function module, without being called from a driver program (thus, they can be of stand-alone type). But writing DB selection codes in a form should be avoided as, it increases over-head, especially in the case of batch printing.

! There are some more minor differences like, instead of standard texts,

text modules can be used in Smart Forms. Also, graphic object can be included directly in smart forms. These graphic objects can be maintained through the transaction, SE78. Address can be printed by just using the corresponding address number (if the central Address system is being maintained), and the format of it is automatically taken care of, based on the value given for country field.

! The system variables, which were available in SAPscripts aren't in Smart

Forms. Different set of system variables is used. (for printing date, page no., etc).

! Any field inside a smart form accepts variables, instead of just hard-coded values. For example, the name of the text module to be used, name of the graphic to be printed, etc can be determined dynamically during run-time.

! Boxes and frames can be incorporated by just clicking at few check-boxes.

! Use of 'tabs', those ubiquitous pair of commas is almost redundant in Smart Forms, as the same functionality can be better achieved by using line types inside a template or a table node.

Page 6: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 6 of 6

1.3 Architecture:

First, you have an application program, which fetches the data from the Database. A Smart Form is created, the activation of which generates a function module. DB selections can also be done inside the Smart Form. The application program calls the function module in question, which in turn submits the print job to the spool.

1.4 Main Features of Smart Forms

! Smart forms are created in a utility, 'Form Builder' which is very user-friendly compared to the environment for SAPscript creation. Form Builder comes with utilities like, Form Painter, PC editor, Line editor (which are same as that for SAPscript), table painter (this is a new addition, which is useful in creating dynamic tables, static tables/templates).

Page 7: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 7 of 7

! 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.

! For Web publishing, the system provides a generated XML output of the processed form. (This can be done through XSF option)

! Static and dynamic tables can be inserted. This includes line feeds in individual table cells, triggering events for table headings and subtotals, and sorting data before output. In SAPscripts, this was all done in the driver program, by a maze of codes.

! Check on individual nodes as well as the entire form can be done to 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.(thus avoiding hop-chop way of debugging lay-out sets, that we used to do in the case of SAPscripts)

! Graphics can be included in Smart Forms, which can be displayed either as part of the form or as background graphics. Background graphics can be used to copy the layout of an existing (scanned) form or to lend forms a company-specific look. During printout, if desired, the background graphic can be suppressed.

! SAP Smart Forms also support postage optimizing. (I haven't yet gone deeper in to this feature)

Sounds interesting, right? The way in which all the above features are incorporated will be covered in following sections.

Page 8: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 8 of 8

1.5 Creating Smart Forms

The transaction is 'SMARTFORMS' and the menu path is 'SAP menu->Tools->Form Printout->Smart Forms'. Smart form can be created by either migrating an existing SAPscript or either by copying existing smart form, apart from creating it afresh.

Testing/Running Smart Forms:

After, the Smart Form is created, it has to be activated, by which the function module for that smart form gets generated. The name of the function module generally has the following pattern, /1BCDWB/SF00000034. Name of the function module can be got from the menu path (in form builder screen), 'Environment->Function Module Name'.

Page 9: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 9 of 9

2. About Form Builder: Its components

2.1 Basic tree structure

The two basic nodes are 'Global Settings' and 'Pages and Windows'.

Two basic nodes Form Painter

Form Attributes

Page 10: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 10 of 10

2.2 Global Settings:

2.2.1 Form Attributes

2.2.2 Form Interface

This will be the interface of the function module that will be generated when this form is activated. First 9 importing parameters (which are blocked out) are provided by the system, manipulating which, output can be controlled. (viz., whether dialog box has to be displayed or not, setting output device, Facsimile parameters, spool parameters).

Importing Parameters

Page 11: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 11 of 11

The Exporting Parameters:

Exceptions:

Standard Import

Standard Export

Page 12: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 12 of 12

2.2.3 Global Definitions:

Anything defined under this, are visible inside the form.(in Initialization, Subroutines, inside the nodes)

Global Data:

Types:

Page 13: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 13 of 13

Field Symbols:

Initialization:

Define types here, which can later be used inside 'initialization' or 'Global Data' or inside any 'program lines' node.

import/export parameters defined in form interface are to be passed explicitly as 'input parameters' for these to be visible inside 'INITIALIZATION'

All those parameters whose changed values (inside INITIALIZATION) have to be reflected in rest of the form

Page 14: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 14 of 14

Form Routines:

Here, you define all your subroutines (for eg., conversion before output). These can be accessed from 'program lines' nodes.

Done with Global settings. Lets move onto the other major node of the tree structure, 'Pages and Windows'.

Page 15: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 15 of 15

3. Pages and Windows

The sub-nodes that can be created under this node are of type 'Page'. The System automatically creates the start page and a window (of type MAIN) under it. The basic concept of pages, windows and text elements remain the same (compared to SAPscripts). Also the functionality of MAIN window and sub-windows remain unchanged from SAPscripts. The following will discuss the various features of 'PAGE' node. (for creating a sub-node or subsequent node, 'right-click' on the parent node and go for 'create' on the pop-up menu, and then select the required node).

3.1 Node 'PAGE'

Each form consists of one or more pages. The first page in the tree structure is the start page (when you create a form, the start page already exists). With this page, processing of the form starts.

When you call pages repeatedly or process pages again because the main window is not filled yet, a page node creates several print pages. Various attributes of this 'page' are to be determined, the following way.

3.1.1 General Attributes:

Give the page structure, which the subsequent page should adopt

Give the format of page counters and the way in which they are to be incremented

Page 16: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 16 of 16

3.1.2 Output Options:

3.1.3 Background Picture:

You can have a Graphic Object to appear as background image of this page. (sounds kewl!!). If you select an output mode, the user will still have the choice of either displaying or suppressing it in the print preview.

Tray of the printer from which papers for printing this page are to be taken

Print mode SIMPLEX, DUPLEX, or TUMBLE DUPLEX

Name of the Graphic Object mostly, GRAPHIC

BMAP or TIFF

dynamically determined by mentioning the field e.g., &V CHROME&

to expand the fields, so that, parameters can be used

'Print preview' or 'print preview and print'

Higher the DPI, lesser the size (use original

Page 17: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 17 of 17

Now, we can define the page contents. For each page, the Form Painter shows an individual layout. Whether the page is included into the printout depends on whether it is evaluated during form processing (a page can be omitted even though it is part of the tree structure).

3.2 Windows

Creating a window:

3.2.1 General Attributes of a 'window' node:

This has to be opted for if the window is to be a main window. As in the SAPscripts, there exists only one MAIN window per Form.

Page 18: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 18 of 18

3.2.2 Output Options:

3.2.3 Conditions:

Within a Smart Form a node and all successor nodes are processed only if the respective output condition is true. A condition can either be a logical expression on field values or consist of events or position queries in the form processing. You can determine a condition as logical expression using a table control. Each line of the table control consists of a field name, a comparison operator, and a comparison value. The comparison value can itself be a field name. As comparison operators, the ABAP operators =, <>, <, >, <=, >=, CP (contains pattern) and NP (not contains pattern) are allowed. All lines of the table control are linked with the logical AND. In addition, you can use a pushbutton of the table control to insert an OR link for comparisons. In the table control, it is displayed as line with gray background. The Check function checks whether all field names that appear in the comparisons are declared in the form interface or in the global data of the form. Above features can be referred to in the following screen shot.

This has to be opted for, if you want a box to appear on the window

0- not filled at all, 100- black

Page 19: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 19 of 19

Output Options and Conditions are the same for every node.

this symbol appears if the node has a condition defined.

click here to select comparison operator

additional conditions like, node to be executed only in first page, etc can be mentioned here

Page 20: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 20 of 20

4. Successor nodes of window/page

Various nodes that are available can broadly be classified into two categories, viz.,

1. Basic nodes, whose contents are actually printed (either as a part of an output area (window) or independently as part of a page.

2. Auxiliary Nodes, which can be used to control the flow of the layout. These are basically used to incorporate the Form Logic (which in case of SAPscripts was carried out by ABAP code written in driver program).

4.1 Basic Nodes

Graphic, Address and Text fall under this category. A 'text' node can be created only as a successor of a Window node (i.e., it cannot be created directly under a page), as it needs some output area in which it has to appear. On the other hand, Graphic and Address can either be created as successor nodes of a 'window' node or they can be directly created under a 'page' node. In the former case, the address (or graphic) does not appear on the Form Painter as windows are processed only during the runtime). If defined as direct successor of 'page' node, they become visible on the layout displayed by the form painter, and thus can be placed and resized according to our needs.

4.1.1 Text

This node is used to print any texts (and table contents), except addresses. There are following text types:

1. Text Element (to enter new text in the PC editor) 2. Include Text (to include an existing SAPscript text) 3. Text Modules (to include a text module).The first two types are same as

that were in SAPscripts. Parameters and system fields can be printed inside these text nodes. (this poperty deviates very little from that of SAPscripts in that only the system fields here are different). All the fields available inside the form can be seen, by setting Field List- On.

Page 21: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 21 of 21

System fields made available are listed under the node, SFSY. The fields can be referred to as, SFSY-DATE. Another interesting feature of including fields other than by the normal way (by clicking on ‘+’ symbolled icon lying in the tool bar of a text node, and entering the field name between ampersands) is to simply drag the required field from the field list and drop them on the PC editor of the text node.

General Attributes of 'text' node:

You can append the text directly to the output of the predecessor node or start it in a new paragraph or a new line.

Page 22: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 22 of 22

4.1.2 Text Module

You use text modules to centrally store texts in the system that you frequently use in forms. This detaches the text maintenance from the form maintenance so that you need not call the Form Builder to edit individual texts.

Features of Text Modules:

Through text module maintenance function we can create and edit text modules. Similar to text nodes, text modules have the following characteristics:

• They can be used cross-client • They are connected to the transport system • They are connected to the translation tools in the system

Fields can also be referred from a text module. But if those fields are not defined in the Smart Form which includes this text module, syntax error is raised.

To copy the contents of text module, instead of referring to it. After copying, the property of text changes to 'text element'

if this is opted for, then all the paragraph formats and char formats will come from the text module's style, else, default style of Form applies

this will take you to the good ol' Text Editor

Page 23: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 23 of 23

Management of Text Module:

4.1.3 Graphic

You use the graphic node to display graphics, such as a company logo, on the form. This node is used the same way as the background picture for a page. Check out section 3.1.3. In SAPscripts, graphics were incorporated in a form by including a standard text containing TIFF image. As of Release 4.6, graphics are stored on a

This is a normal PC editor where you can enter the text (fields, which are populated dynamically during run-time can also be used). the bad news is, there is no text editor here.

Here, the Smart Style whose paragraph formats and character formats, you will be referring to inside the text module should be determined. SYSTEM is default Smart Style provided by SAP.

Page 24: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 24 of 24

document server. In addition to *.TIF ,*.BMP files can also be imported and used in forms. Maintaining Graphics Graphic administration is used to import, administer, and transport graphics, and to display them in a print preview. You can either incorporate graphics statically into a form (for example, the company logo) or include them dynamically using an appropriate field (for example, material graphic showing the displayed material). This was also discussed in sec 3.1.3. The transaction for Graphic administration -> SE78.

To be opted for, if you desire to store the graphic in the printer memory;thus, if it occurs the second time in the same print request, graphic is taken from printer memory

Click here to import graphic from your PC

To trigger a page-break, by fixing the height of the graphic

Page 25: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 25 of 25

4.1.4 Address

4.2 Auxiliary Nodes These are used to control the flow logic. Various Auxiliary nodes are, • Template- Output of a table containing static data • Table - Output of a table containing application data • Loop - Processes successor node repeatedly. • Alternative- Branches depending on condition. • Command - Executes special commands (next page, paragraph numbering,

printer control) • Folder- Combines successor nodes to logical groups • Complex Section- Combines all attributes of the node types template,

table, loop, folder • Program Lines - Executes ABAP program code (for example, conversion

routines ).

Address node

Parameter that has the address number

This has to be given along with address number for personal address

This determines the fomat of address

Page 26: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 26 of 26

4.2.1 Template

This node is to be used for displaying a table whose layout and number of rows and columns is determined before run-time. The text nodes created as successors of this node actually hold the data to be printed. This node just defines the way, the successive text nodes have to be printed. Thus making the concept of defining ‘tabs’ in paragraph formats redundant.

First, the table layout has to be defined. The pattern(no. of cells, width of each cell) of each row of table that is being printed is defined in the line types. In the above example, two line types are defined. L1 is applicable to rows from 1 to 3, and it has height of 1 cm, has 4 cells, each of varied length. Previous line type can be referred to in creating new line types.

Page 27: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 27 of 27

Table Painter: Table Painter graphically depicts the various line types, and here, the width, height of cells can adjusted.

Select Pattern: You can select the pattern in which the final table should be appearing( encasing each cell with in a box etc.,). Thus the concept of drawing frames and boxes which was followed in SAPscripts is redundant.

This displays the same set of patterns, but with a border around

Page 28: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 28 of 28

To actually display contents inside this table layout, text nodes have to be created under this template node, and these will be containing the data to be displayed. You can specify which text element is to be printed in which cell of which line type. In the following example, there are in all 3 lines of a table have to be printed. For that 3 line types are declared as follows,

Now, 10 text elements have been defined under this template node to which will be outputing data in 10 cells (of 3 lines) The output options of a text node defined under ‘template’ node has extra fields for mentioning the line number and column number in which it has to be printed.

Group all the text nodes that belong to a particular line into a folder. This improves clarity and has no effect on functionality. The length of a line type should exactly be equal to the width of table/template.

Line number

Page 29: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 29 of 29

4.2.2 Table

Internal tables passed from driver program through form interface, can be printed using this node. Actually, internal table is looped at, with the data read into a work area (the internal table will not have a work area defined , if its not passed as a table; and passing internal tables as tables should be avoided, as we need only the values of that internal table, and if at all the internal table is changed inside the form, in most cases, those changes need not be reflected in the main driver program) ;this work area should have already been defined under global data. The concept of line types, table painter, select pattern remain same as that for node, 'Template'. Define Table Layout

Generally, if the internal table is to be displayed, all the rows will be having the same line type.

If on the current page there is not enough space left, the text is displayed entirely on the next page.

Page 30: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 30 of 30

Define method of data retrieval

More about control breaks: For example, in the above case, a control break event is triggered every time the sorted field, PERNR changes its value (so, its similar to specifying, 'On Change Of PERNR' inside a loop in an ABAP program) and we can have special

workarea, if 'INTO', otherwise Field Symbol

specify range of line numbers; if left blank, loops through all rows

to put an 'OR' condition click on this (default is 'AND')

sorts by pernr, in ascending order

if any of these two checkboxes are opted for, an event node gets generated (as a successor node of this table), which will be processed, when their respective contro breaks are triggered

this event corresponds to' 'End of Control Level' declared above

print the subtotals here

Page 31: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 31 of 31

tasks performed inside this event, like printing subtotals in a text elements (which have to be created as successors of this event). Personnel Number Emoluments 1 123 234 345 Total Salary 702 2 234 In the above example, 'Total Salary' and its value will be printed after a control break is encountered (when the value of PERNR changes). This subtotal can be calculated ( or any complex logic that has to be performed at control break can be incorporated ) inside a 'program lines' node as it would have been done in normal ABAP program. This 'program lines' node will obviously precede the text node in which the subtotal is being printed, and succeed the event node under discussion. Define Events (Header and Footer)

In a section, output of a header or footer can be determined using events. To do this, select a header and/or footer on the Events tab of the section node. In the form tree, the corresponding event node appears.

Page 32: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 32 of 32

You can display the header at the start of a section and/or after a page break, the footer before a page break and/or at the section end. For the footer, you must specify a height to tell the composer how much space to reserve for the footer. Footer, is generally used to display subtotals, since this area is processed only at the moment of the page break. Under the event node, you can append, for example, texts for the heading or footer line of a section .

4.2.3 Loop

The functionality of this node is almost same as that of a table in that , here also we loop at an internal table into a work area and print the fields of this work area; but it differs from 'Table' node in that, Line types can't be specified in this kind of node. you cannot specify the (table)format in which the table fields are to be printed.

Comparing this with 'Table' node, we can see that, 'Loop' node is bereft of the tab, 'Table', unlike 'Table' node. Rest all tabs are same as that of node, 'Table'.

Page 33: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 33 of 33

4.2.4 Complex Section

This node can serve the purpose of a 'Template'/ 'Loop' / 'Table' node, depending on the definition of its 'General Attributes'.

Refer to sections 4.2.1, 4.2.2 and 4.2.3

If this is ticked, then u can loop at an internal table(inside 'DATA' tab)

neither table not template, can be used as loop

For Table, ('table' tab appears)

instead of 'table' tab, u will see a 'Temmplate' tab

Page 34: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 34 of 34

4.2.5 Alternative

This node helps in applying IF-ELSE logic in the form. As it is apparent, the successor nodes of TRUE are executed if the condition is satisfied, else the successor nodes of FALSE are processed. The way, the conditions are to be defined is same as that is being done under a 'conditions' tab of any kind of node. (Refer to sec. 3.2.3 )

Page 35: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 35 of 35

4.2.6 Command

This node can be used to change spool settings/trigger new page/change parahgraph setting/setting printer control.

Print controls are general print control statements that can be embedded into texts as formatting commands (for example, to change a character font size).

4.2.7 Program Lines

This node can be used to enter free ABAP coding. If you insert program lines is entered at the appropriate position in the tree structure, it can be used, for example, to calculate subtotals and totals in tables. This corresponds to the initialisation node of 'Global Data', except that, the code written in 'Initialisation' is executed just before the form logic is evaluated unlike that written in 'Program Lines' node. Code is written in the 'General Attributes' tab. Refer to the section, 2.2.3.

here, u can set, characters-per-inch e.t.c, (try F4)

Page 36: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 36 of 36

4.2.8 Folder

This node can be used to group all similar nodes (those serving same purpose) into a single unit, called 'folder'. This node doesn't have any effect on the form logic. Its utility is just for the sake of increasing clarity. Its useful in grouping successor nodes of Template/Table/Complex Section. (Refer to sec. 4.2.1 Template, where this was used)

Page 37: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 37 of 37

5. Appendix A: Style Builder

Style Builder is a tool used to define character formats and paragraph formats. These are not explicitly defined in a smart form; but, the Smart Style in which required Formats are defined is referred to in the smart form. This can be accessed either by the transaction, 'SMARTSTYLES' or from the 'SMARTFORMS' transaction.

Style Builder has three basic nodes, Header Data, Paragraph Formats, Character Formats.

Page 38: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 38 of 38

5.1 Header Data

5.1.1 Standard Settings

Here, you maintain the standard paragraph for the style( that acts as default paragraph) and other common attributes, like, Font properties, e.t.c.

Page 39: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 39 of 39

5.2 Paragraph Formats

Paragraph formats can be created by, 'right-clicking' on the Paragraph Formats node and then opting for 'create node'. These are maintained same the same way that was being done in SAPscripts.

Character Formats are also mainintained in the same way.

Page 40: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 40 of 40

Epilogue This document is not consummate in itself and awaits a further version, which will be covering the following features of Smart Forms, that could not have been covered here.

Page 41: Use Smart Forms v2.0 TOC

Created on 4/23/2002 10:21 PM Created by Taraka CV Meruva Page 41 of 41

Style Builder If I have missed anything other than the above, please let me know. I would also like to hear from you regarding any improvements that can be made in the present document, and they will duly be incorporated in the new additions. - TCV.