Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

smart forms

Former Member
0 Likes
1,199

Hi all,

anyone explain me...........

what is meant by Smary forms and what are the uses ?

give me some simple code examples.

what is the difference between SAP script and Smart Forms ?

plz explain me,

thanks and regards,

raghul.

6 REPLIES 6
Read only

mahaboob_pathan
Contributor
0 Likes
910

hi,

SAP Smart Form Process Overview

The basic structure of SAP Smart Forms consists of the Smart Form Builder, the Smart Form print form template (which you create or is given to you as a preconfigured starting point), the Smart Form function module, and the Smart Form print program (also described as a driver program).

The Smart Form print programs are not the same as SAPScript programs, and you cannot use a SAPScript print program with a Smart Form print form.

Programming Flow

When an SAP Smart Form template is created, a user creates the form layout, defines the required fields, conditions, and special programming instructions in the Smart Form template using the Smart Form Builder.

After the form design is complete, the form needs to be activated before it can be tested or accessible by print programs. Activating the form initiates the generation of a function module that handles all of the form’s processing.

This function module interacts with the application program and print program to create the output

in the user-defined output media for the specified device.

5 Steps to create a simple SMARTFORMS

Read the abap program in step 5 first to see how the data is begin pass to the internal table.

1. Create a new smartforms

2. Define looping process for internal table

3. Define table in smartforms

4. To display the data in the form

5. Calling SMARTFORMS from your ABAP program

Create a new smartforms

Transaction code SMARTFORMS

Create new smartforms call ZSMART

The followings screen format will appear:-

- Form ZSMART Form ZSMART

- Global settings Description New form

- Form attributes

- Form interface

- Global definitions General attributes Output Options

- Pages and windows

+ %PAGE1 New page

You can click at the Form Painter button to view the graphical display layout of your smartforms

Define looping process for internal table

Pages and windows

First Page -> Header Window (Cursor at First Page then click Edit -> Node -> Create)

Here, you can specify your title and page numbering

&SFSY-PAGE& (Page 1) of &SFSY-FORMPAGES(Z4.0)& (Total Page)

Main windows -> TABLE -> DATA

In the Loop section, tick Internal table and fill in

ITAB1 (table in ABAP SMARTFORM calling function) INTO ITAB2

Define table in smartforms

Global settings :

Form interface

Variable name Type assignment Reference type

ITAB1 TYPE Table Structure

Global definitions

Variable name Type assignment Reference type

ITAB2 TYPE Table Structure

To display the data in Smartform

Make used of the Table Painter and declare the Line Type in Tabstrips Table

e.g. HD_GEN for printing header details,

IT_GEN for printing data details.

You have to specify the Line Type in your Text elements in the Tabstrips Output options.

Tick the New Line and specify the Line Type for outputting the data.

Declare your output fields in Text elements

Tabstrips - Output Options

For different fonts use this Style : IDWTCERTSTYLE

For Quantity or Amout you can used this variable &GS_ITAB-AMOUNT(12.2)&

Calling SMARTFORMS from your ABAP program

REPORT ZSMARTFORM.

  • Calling SMARTFORMS from your ABAP program.

  • Collecting all the table data in your program, and pass once to SMARTFORMS

  • SMARTFORMS

  • Declare your table type in :-

  • Global Settings -> Form Interface

  • Global Definintions -> Global Data

  • Main Window -> Table -> DATA

  • Written by : SAP Hints and Tips on Configuration and ABAP/4 Programming

  • http://sapr3.tripod.com

TABLES: MKPF.

DATA: FM_NAME TYPE RS38L_FNAM.

DATA: BEGIN OF INT_MKPF OCCURS 0.

INCLUDE STRUCTURE MKPF.

DATA: END OF INT_MKPF.

SELECT-OPTIONS S_MBLNR FOR MKPF-MBLNR MEMORY ID 001.

SELECT * FROM MKPF WHERE MBLNR IN S_MBLNR.

MOVE-CORRESPONDING MKPF TO INT_MKPF.

APPEND INT_MKPF.

ENDSELECT.

  • At the end of your program.

  • Passing data to SMARTFORMS

call function 'SSF_FUNCTION_MODULE_NAME'

exporting

formname = 'ZSMARTFORM'

  • VARIANT = ' '

  • DIRECT_CALL = ' '

IMPORTING

FM_NAME = FM_NAME

EXCEPTIONS

NO_FORM = 1

NO_FUNCTION_MODULE = 2

OTHERS = 3.

if sy-subrc <> 0.

WRITE: / 'ERROR 1'.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

endif.

call function FM_NAME

  • EXPORTING

  • ARCHIVE_INDEX =

  • ARCHIVE_INDEX_TAB =

  • ARCHIVE_PARAMETERS =

  • CONTROL_PARAMETERS =

  • MAIL_APPL_OBJ =

  • MAIL_RECIPIENT =

  • MAIL_SENDER =

  • OUTPUT_OPTIONS =

  • USER_SETTINGS = 'X'

  • IMPORTING

  • DOCUMENT_OUTPUT_INFO =

  • JOB_OUTPUT_INFO =

  • JOB_OUTPUT_OPTIONS =

TABLES

GS_MKPF = INT_MKPF

EXCEPTIONS

FORMATTING_ERROR = 1

INTERNAL_ERROR = 2

SEND_ERROR = 3

USER_CANCELED = 4

OTHERS = 5.

if sy-subrc <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

endif.

Comparision

What About SAPscript?

SAP customers can use either SAPScript or Smart Forms as their SAP forms solution. SAP recommends you use Smart Forms for new developments (from 4.6C), because these forms are much easier to edit when using the Smart Forms graphical tools. Also, further development is planned for the Smart Form print solution.

For example, the customer can use a preconfigured Smart Form for the Purchase Order, and a SAPscript form for the Production Order (if no suitable Smart Form is available), or create the Smart Form.

While unnecessary, a user’s prior knowledge of SAPScript forms can accelerate their Smart Forms learning because some tools are used both by Smart Forms and SAPscript (for example, font maintenance transaction SE73, SAPScript texts, and more).

Difference with SMARTFORMS vs. SapScript(SE71)

The Following are the differences:-

a) Multiple page formats are possible in smartforms which is not the case in SAPScripts

b) It is possible to have a smartform without a main window.

c) Labels cannot be created in smartforms.

d) Routines can be written in smartforms tool.

e) Smartforms generates a function module when activated

Form Control

To branch to a new page in Smart forms

The page to which you want to branch must exist. You can branch to a new page only as long as you are still displaying the contents of a main window.

Choose Create -> Command in the context menu to create a command node in the main window of the page.

On the General Attributes tab strips Tick Go to new page. Determine the new page using the list box next to the checkbox (it can be the same page if you want).

The output of the main window will continues on the new page.

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.

The character formats includes effects such as superscript, subscript, barcode and font attributes

Smartforms function module not saved in development class

Smart forms whose function module that was generated is not saved in any

development class. Is it anything to do with / name space. When I transported the

smartforms only the layout went but not function module. How could this be sorted?

That is because the Function module is not transported.

It is regenerated on the Target System as a new function module all together.

You can transport the smartform from SE01.

Read only

Former Member
0 Likes
910

Hi

How to create a New smartfrom, it is having step by step procedure

http://sap.niraj.tripod.com/id67.html

step by step good ex link is....

http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.h...

Here is the procedure

1. Create a new smartforms

Transaction code SMARTFORMS

Create new smartforms call ZSMART

2. Define looping process for internal table

Pages and windows

First Page -> Header Window (Cursor at First Page then click Edit -> Node -> Create)

Here, you can specify your title and page numbering

&SFSY-PAGE& (Page 1) of &SFSY-FORMPAGES(Z4.0)& (Total Page)

Main windows -> TABLE -> DATA

In the Loop section, tick Internal table and fill in

ITAB1 (table in ABAP SMARTFORM calling function) INTO ITAB2

3. Define table in smartforms

Global settings :

Form interface

Variable name Type assignment Reference type

ITAB1 TYPE Table Structure

Global definitions

Variable name Type assignment Reference type

ITAB2 TYPE Table Structure

4. To display the data in the form

Make used of the Table Painter and declare the Line Type in Tabstrips Table

e.g. HD_GEN for printing header details,

IT_GEN for printing data details.

You have to specify the Line Type in your Text elements in the Tabstrips Output options.

Tick the New Line and specify the Line Type for outputting the data.

Declare your output fields in Text elements

Tabstrips - Output Options

For different fonts use this Style : IDWTCERTSTYLE

For Quantity or Amout you can used this variable &GS_ITAB-AMOUNT(12.2)&

5. Calling SMARTFORMS from your ABAP program

REPORT ZSMARTFORM.

  • Calling SMARTFORMS from your ABAP program.

  • Collecting all the table data in your program, and pass once to SMARTFORMS

  • SMARTFORMS

  • Declare your table type in :-

  • Global Settings -> Form Interface

  • Global Definintions -> Global Data

  • Main Window -> Table -> DATA

  • Written by : SAP Hints and Tips on Configuration and ABAP/4 Programming

  • http://sapr3.tripod.com

TABLES: MKPF.

DATA: FM_NAME TYPE RS38L_FNAM.

DATA: BEGIN OF INT_MKPF OCCURS 0.

INCLUDE STRUCTURE MKPF.

DATA: END OF INT_MKPF.

SELECT-OPTIONS S_MBLNR FOR MKPF-MBLNR MEMORY ID 001.

SELECT * FROM MKPF WHERE MBLNR IN S_MBLNR.

MOVE-CORRESPONDING MKPF TO INT_MKPF.

APPEND INT_MKPF.

ENDSELECT.

  • At the end of your program.

  • Passing data to SMARTFORMS

call function 'SSF_FUNCTION_MODULE_NAME'

exporting

formname = 'ZSMARTFORM'

  • VARIANT = ' '

  • DIRECT_CALL = ' '

IMPORTING

FM_NAME = FM_NAME

EXCEPTIONS

NO_FORM = 1

NO_FUNCTION_MODULE = 2

OTHERS = 3.

if sy-subrc <> 0.

WRITE: / 'ERROR 1'.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

endif.

call function FM_NAME

  • EXPORTING

  • ARCHIVE_INDEX =

  • ARCHIVE_INDEX_TAB =

  • ARCHIVE_PARAMETERS =

  • CONTROL_PARAMETERS =

  • MAIL_APPL_OBJ =

  • MAIL_RECIPIENT =

  • MAIL_SENDER =

  • OUTPUT_OPTIONS =

  • USER_SETTINGS = 'X'

  • IMPORTING

  • DOCUMENT_OUTPUT_INFO =

  • JOB_OUTPUT_INFO =

  • JOB_OUTPUT_OPTIONS =

TABLES

GS_MKPF = INT_MKPF

EXCEPTIONS

FORMATTING_ERROR = 1

INTERNAL_ERROR = 2

SEND_ERROR = 3

USER_CANCELED = 4

OTHERS = 5.

if sy-subrc <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

endif.

Smartform

you can check this link here you can see the steps and you can do it the same by looking at it..

http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.h...

SMARTFORMS STEPS.

1. In Tcode se11 Create a structure(struct) same like the Internal table that you are going to use in your report.

2. Create Table type(t_struct) of stracture in se11.

3. In your program declare Internal table(Itab) type table of structure(struct).

4. Define work area(wa) like line of internal table.

5. Open Tcode Smartforms

6. In form Global setting , forminterface Import parameter define Internal table(Itab) like table type of stracture(t_struct).

7. In form Global setting , Global definitions , in Global data define Work area(wa) like type stracture(struct).

8. In form pages and window, create Page node by default Page1 is available.

9. In page node you can create numbers of secondary window. But in form there is only one Main window.

10. By right click on page you can create windows or Go to Edit, Node, Create.

11. After creating the window right click on window create table for displaying the data that you are passing through internal table.

12. In the table Data parameter, loop internal internal table (Itab) into work area(wa).

13. In table there are three areas Header, Main Area, Footer.

14. Right click on the Main area create table line by default line type1 is there select it.

15. Divide line into cells according to your need then for each cell create Text node.

16. In text node general attribute. Write down fields of your work area(wa) or write any thing you want to display.

17. Save form and activate it.

18. Then go to Environment, function module name, there you get the name of function module copy it.

19. In your program call the function module that you have copied from your form.

20. In your program in exporting parameter of function pass the internal table(itab).

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 runtime, 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.

SAP Smart Forms also support postage optimizing.

Also read SAP Note No. 168368 - Smart Forms: New form tool in Release 4.6C

What Transaction to start SAP Smart Forms?

Execute transaction SMARTFORMS to start SAP Smart Forms.

Key Benefits of SAP Smart Forms:

SAP Smart Forms allows you to reduce considerably the implementation costs of mySAP.com 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.

SmartForms System Fields

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

&SFSY-DATE&

Displays the date. You determine the display format in the user master record.

&SFSY-TIME&

Displays the time of day in the form HH:MM:SS.

&SFSY-PAGE&

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.

&SFSY-FORMPAGES&

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.

&SFSY-JOBPAGES&

Contains the total page number of all forms in the currently processed print request.

&SFSY-WINDOWNAME&

Contains the name of the current window (string in the Window field)

&SFSY-PAGENAME&

Contains the name of the current page (string in the Page field)

&SFSY-PAGEBREAK&

Is set to 'X' after a page break (either automatic [Page 7] or command-controlled [Page 46])

&SFSY-MAINEND&

Is set as soon as processing of the main window on the current page ends

&SFSY-EXCEPTION&

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 <exception name >).

Example Forms Available in Standard SAP R/3

SF_EXAMPLE_01

Simple example; invoice with table output of flight booking for one customer

SF_EXAMPLE_02

Similar to SF_EXAMPLE_01 but with subtotals

SF_EXAMPLE_03

Similar to SF_EXAMPLE_02, whereby several customers are selected in the application program; the form is called for each customer and all form outputs are included in an output request

Advantages of SAP Smart Forms

SAP Smart Forms have the following advantages:

1. The adaption of forms is supported to a large extent by graphic tools for layout and logic, so that no programming knowledge is necessary (at least 90% of all adjustments). Therefore, power user forms can also make configurations for your business processes with data from an SAP system. Consultants are only required in special cases.

2. Displaying table structures (dynamic framing of texts)

3. Output of background graphics, for form design in particular the use of templates which were scanned.

4. Colored output of texts

5. User-friendly and integrated Form Painter for the graphical design of forms

6. Graphical Table Painter for drawing tables

7. Reusing Font and paragraph formats in forms (Smart Styles)

8. Data interface in XML format (XML for Smart Forms, in short XSF)

9. Form translation is supported by standard translation tools

10. Flexible reuse of text modules

11. HTML output of forms (Basis release 6.10)

12. Interactive Web forms with input fields, pushbuttons, radio buttons, etc. (Basis-Release 6.10)

Thnaks&regards,

Sravani

Read only

Former Member
0 Likes
910

Hi,

Purpose:

You use Smart Forms to create and maintain forms for mass printing in SAP systems. Besides using the printer for standard output you can also select the Internet (by using a generated HTML output), a fax, or e-mail as the output medium.

In addition to the tool, SAP delivers a selection of forms for central business processes. This includes forms in Customer Relationship Management (CRM) as well as in the applications SD, FI, and HR.

Smart Forms offers the following advantages:

• Creating and maintaining forms requiring half the time

• Adapting forms without any programming knowledge due to entirely graphical user interface

• Integrating input elements into the HTML output, which enables you to use a form in Internet applications as well

Smart Forms replace SAPscript forms. SAPscript forms will still be supported in the future; you can use them without making any changes for years to come. You can even use SAPscript texts in the Smart Forms. Migration of SAPscript forms into Smart Forms is supported.

for Smartforms material

http://www.sap-basis-abap.com/sapsf001.htm

http://www.sap-press.com/downloads/h955_preview.pdf

http://www.ossincorp.com/Black_Box/Black_Box_2.htm

http://www.sap-img.com/smartforms/sap-smart-forms.htm

http://www.sap-img.com/smartforms/smartform-tutorial.htm

http://www.sapgenie.com/abap/smartforms.htm

How to trace smartform

http://help.sap.com/saphelp_47x200/helpdata/en/49/c3d8a4a05b11d5b6ef006094192fe3/frameset.htm

http://www.help.sap.com/bp_presmartformsv1500/DOCU/OVIEW_EN.PDF

http://www.sap-img.com/smartforms/smart-006.htm

http://www.sap-img.com/smartforms/smartforms-faq-part-two.htm

check most imp link

http://www.sapbrain.com/ARTICLES/TECHNICAL/SMARTFORMS/smartforms.html

step by step good ex link is....

http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.h...

Subtotals - Check the link...

How to create a New smartfrom, it is having step by step procedure

http://sap.niraj.tripod.com/id67.html

step by step good ex link is....

http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.h...

Here is the procedure

1. Create a new smartforms

Transaction code SMARTFORMS

Create new smartforms call ZSMART

2. Define looping process for internal table

Pages and windows

First Page -> Header Window (Cursor at First Page then click Edit -> Node -> Create)

Here, you can specify your title and page numbering

&SFSY-PAGE& (Page 1) of &SFSY-FORMPAGES(Z4.0)& (Total Page)

Main windows -> TABLE -> DATA

In the Loop section, tick Internal table and fill in

ITAB1 (table in ABAP SMARTFORM calling function) INTO ITAB2

3. Define table in smartforms

Global settings :

Form interface

Variable name Type assignment Reference type

ITAB1 TYPE Table Structure

Global definitions

Variable name Type assignment Reference type

ITAB2 TYPE Table Structure

4. To display the data in the form

Make used of the Table Painter and declare the Line Type in Tabstrips Table

e.g. HD_GEN for printing header details,

IT_GEN for printing data details.

You have to specify the Line Type in your Text elements in the Tabstrips Output options.

Tick the New Line and specify the Line Type for outputting the data.

Declare your output fields in Text elements

Tabstrips - Output Options

For different fonts use this Style : IDWTCERTSTYLE

For Quantity or Amout you can used this variable &GS_ITAB-AMOUNT(12.2)&

5. Calling SMARTFORMS from your ABAP program

REPORT ZSMARTFORM.

Calling SMARTFORMS from your ABAP program.

Collecting all the table data in your program, and pass once to SMARTFORMS

SMARTFORMS

Declare your table type in :-

Global Settings -> Form Interface

Global Definintions -> Global Data

Main Window -> Table -> DATA

Written by : SAP Hints and Tips on Configuration and ABAP/4 Programming

http://sapr3.tripod.com

TABLES: MKPF.

DATA: FM_NAME TYPE RS38L_FNAM.

DATA: BEGIN OF INT_MKPF OCCURS 0.

INCLUDE STRUCTURE MKPF.

DATA: END OF INT_MKPF.

SELECT-OPTIONS S_MBLNR FOR MKPF-MBLNR MEMORY ID 001.

SELECT * FROM MKPF WHERE MBLNR IN S_MBLNR.

MOVE-CORRESPONDING MKPF TO INT_MKPF.

APPEND INT_MKPF.

ENDSELECT.

At the end of your program.

Passing data to SMARTFORMS

call function 'SSF_FUNCTION_MODULE_NAME'

exporting

formname = 'ZSMARTFORM'

VARIANT = ' '

DIRECT_CALL = ' '

IMPORTING

FM_NAME = FM_NAME

EXCEPTIONS

NO_FORM = 1

NO_FUNCTION_MODULE = 2

OTHERS = 3.

if sy-subrc 0.

WRITE: / 'ERROR 1'.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

endif.

call function FM_NAME

EXPORTING

ARCHIVE_INDEX =

ARCHIVE_INDEX_TAB =

ARCHIVE_PARAMETERS =

CONTROL_PARAMETERS =

MAIL_APPL_OBJ =

MAIL_RECIPIENT =

MAIL_SENDER =

OUTPUT_OPTIONS =

USER_SETTINGS = 'X'

IMPORTING

DOCUMENT_OUTPUT_INFO =

JOB_OUTPUT_INFO =

JOB_OUTPUT_OPTIONS =

TABLES

GS_MKPF = INT_MKPF

EXCEPTIONS

FORMATTING_ERROR = 1

INTERNAL_ERROR = 2

SEND_ERROR = 3

USER_CANCELED = 4

OTHERS = 5.

if sy-subrc 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

endif.

Smartform

you can check this link here you can see the steps and you can do it the same by looking at it..

http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.h...

SMARTFORMS STEPS.

1. In Tcode se11 Create a structure(struct) same like the Internal table that you are going to use in your report.

2. Create Table type(t_struct) of stracture in se11.

3. In your program declare Internal table(Itab) type table of structure(struct).

4. Define work area(wa) like line of internal table.

5. Open Tcode Smartforms

6. In form Global setting , forminterface Import parameter define Internal table(Itab) like table type of stracture(t_struct).

7. In form Global setting , Global definitions , in Global data define Work area(wa) like type stracture(struct).

8. In form pages and window, create Page node by default Page1 is available.

9. In page node you can create numbers of secondary window. But in form there is only one Main window.

10. By right click on page you can create windows or Go to Edit, Node, Create.

11. After creating the window right click on window create table for displaying the data that you are passing through internal table.

12. In the table Data parameter, loop internal internal table (Itab) into work area(wa).

13. In table there are three areas Header, Main Area, Footer.

14. Right click on the Main area create table line by default line type1 is there select it.

15. Divide line into cells according to your need then for each cell create Text node.

16. In text node general attribute. Write down fields of your work area(wa) or write any thing you want to display.

17. Save form and activate it.

18. Then go to Environment, function module name, there you get the name of function module copy it.

19. In your program call the function module that you have copied from your form.

20. In your program in exporting parameter of function pass the internal table(itab).

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 runtime, 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.

SAP Smart Forms also support postage optimizing.

Also read SAP Note No. 168368 - Smart Forms: New form tool in Release 4.6C

What Transaction to start SAP Smart Forms?

Execute transaction SMARTFORMS to start SAP Smart Forms.

Key Benefits of SAP Smart Forms:

SAP Smart Forms allows you to reduce considerably the implementation costs of mySAP.com 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.

SmartForms System Fields

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

&SFSY-DATE&

Displays the date. You determine the display format in the user master record.

&SFSY-TIME&

Displays the time of day in the form HH:MM:SS.

&SFSY-PAGE&

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.

&SFSY-FORMPAGES&

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.

&SFSY-JOBPAGES&

Contains the total page number of all forms in the currently processed print request.

&SFSY-WINDOWNAME&

Contains the name of the current window (string in the Window field)

&SFSY-PAGENAME&

Contains the name of the current page (string in the Page field)

&SFSY-PAGEBREAK&

Is set to 'X' after a page break (either automatic Page 7 or command-controlled Page 46)

&SFSY-MAINEND&

Is set as soon as processing of the main window on the current page ends

&SFSY-EXCEPTION&

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 <exception name >).

Example Forms Available in Standard SAP R/3

SF_EXAMPLE_01

Simple example; invoice with table output of flight booking for one customer

SF_EXAMPLE_02

Similar to SF_EXAMPLE_01 but with subtotals

SF_EXAMPLE_03

Similar to SF_EXAMPLE_02, whereby several customers are selected in the application program; the form is called for each customer and all form outputs are included in an output request

Advantages of SAP Smart Forms

SAP Smart Forms have the following advantages:

1. The adaption of forms is supported to a large extent by graphic tools for layout and logic, so that no programming knowledge is necessary (at least 90% of all adjustments). Therefore, power user forms can also make configurations for your business processes with data from an SAP system. Consultants are only required in special cases.

2. Displaying table structures (dynamic framing of texts)

3. Output of background graphics, for form design in particular the use of templates which were scanned.

4. Colored output of texts

5. User-friendly and integrated Form Painter for the graphical design of forms

6. Graphical Table Painter for drawing tables

7. Reusing Font and paragraph formats in forms (Smart Styles)

8. Data interface in XML format (XML for Smart Forms, in short XSF)

9. Form translation is supported by standard translation tools

10. Flexible reuse of text modules

11. HTML output of forms (Basis release 6.10)

12. Interactive Web forms with input fields, pushbuttons, radio buttons, etc. (Basis-Release 6.10)

here is a link which will teach you step by step

http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.h...

More links

http://www.sapgenie.com/abap/smartforms.htm

http://www.sap-img.com/smartforms/sap-smart-forms.htm

http://help.sap.com/saphelp_46c/helpdata/en/a5/de6838abce021ae10000009b38f842/frameset.htm

Step by Step creation of Smartforms

http://www.sap-basis-abap.com/sapsf001.htm

http://www.sap-img.com/smartforms/smart-006.htm

http://www.sap-img.com/smartforms/smartform-tutorial.htm

http://www.sapbrain.com/TUTORIALS/TECHNICAL/SMARTFORMS_tutorial.html

How to trace smartform

http://help.sap.com/saphelp_47x200/helpdata/en/49/c3d8a4a05b11d5b6ef006094192fe3/frameset.htm

Difference between Scripts and Smartforms:

the main diffarences between smart form and script form are:

1) smart forms are clinent independent where as scripts are client dependent.

2) smart form require half the time to create and maintain forms compare with

script.

3) smart forms provide multiple page formats where as in script not possible

4) smart forms exisist without main window also where as in script not possible.

5) smart form is entairely graphical user interface comapre with script.

6) labeling is not possible in smart form where as it is possible in script.

7) smart form genarate function module whenver it activate where as script

doesn't genarate.

😎 smart form can easily web publishing using the genarated XML output compare

with script.

9) using smart forms we can design web forms but bot possible with script.

10) we can maintain background graphics in smartform wher as in script not

possible.

11) in smart form we use transaction codes SMARTFORM for designing FORM

and SMARTSTYLES to create differnt styles of text, where as in script we

use SE71 for form painter and SE72 for different styles of text and font.

12) we can migrate script to smart form vice-versa is not possible.

smartforms is extension of the sap scripts.

smart form gives more options to user to design the layouts than sap scripts.

the main diffrences are

Scripts:

1.These are client dependent.

2.Multiple page formats are not possible.

3.main window is compulsory

4.Lables are used

5.Function module is not generated when activated.

Smartforms:

1.These are client independent.

2.Multiple page formats are possible.

3.main window is NOT compulsory

4.Lables are not used

5.Function module is generated when activated.

6.It is possible to write entire code in smartform itself.

i hope this is useful for u

Reward Points if found helpfull..

Cheers,

Chandra Sekhar.

Read only

Former Member
0 Likes
910

Hi,

Difference with SMARTFORMS vs. SapScript (SE71)

The Following are the differences :-

a) Multiple page formats are possible in smartforms which is not the case in SAPScripts

b) It is possible to have a smartform without a main window .

c) Labels cannot be created in smartforms.

d) Routines can be written in smartforms tool.

e) Smartforms generates a function module when activated.

Unlike sapscripts (RSTXSCRP), you cannot upload/download Smartform to your local harddisk.

It was said that it was provided in CRM 3.0 version, but not available in R/3. You can download smartforms into Local PC in a XML format. In the same way you can upload this XML format into Smartform. From the smartform editor itself you can call download option, if you are working in CRM 3.0 environment.

In R3 also, you can download into XML format. However, it's not sure about uploading. Refer to the program 'SF_XSF_DEMO'.

In 4.7 Enterprise, other have seen this utlity which is completey missing in 4.6c. There is functionality to downlaod a complete form or only a particular node. (Utilities -> Download form). It will create a XML file and save it in the hard disk.

For others, if you want to download/upload the Smartforms source, you will need the help from the Basis people. What you can do is to create a Transport and then FTP down to your local harddisk. When you need the Smartform source in another system, you have FTP up the Smartforms file back to the SAP server. Finally, the Basis team, will tp it into your system.

g) The protect and endprotect command in sapscript doesn't work with smartforms. For example on a invoice: First data of position no 80. is printed on page one, other data of position no 80 is printed on page 2. And there's nothing you can do about it. Actually, there is something you can do about it. By using a folder node and checking the 'protect' checkbox, everything in that folder will be page protected.

i) The main difference is that SAP script is client-dependant, while smartform is independent. Also there are some advanced and intreractive features available in smartforms.

You can use an External subroutine-call in sapscript editor like:

/: perform <form_name> in program <program_name>

/: using <var1>

/: using <var2>

.

.

/: changing <return1>

/: changing <return2>

/:endperform

u go through this link yaar.

link:[http://sap.niraj.tripod.com/id67.html]

link:[http://www.sap-basis-abap.com/sapsf001.htm]

link:[;

link:[http://sapabapscriptssmartformsbdctutorials.blogspot.com/2007/11/sap-scripts-smartforms-bdc-tutorials.html]

reward if helpful

raam

Edited by: Kodandarami Reddy.S on Mar 28, 2008 8:32 AM

Read only

Former Member
0 Likes
910

Hi,

script is client dependent

smartform is client independent

less programing in smart form

multiple page format is possible in smart form

we can maintain background graphics in smartform

labelling is possible in scripts not possible in sf.

WE CANNOT GET THE FUNCTION MODULE WHEN WE ACTIVATE THE PROGRAM

WHEN WE ACTIVATE THE PROGRAM WE GET FUNCTION MODULE

4.WE CAN WRITE ENTIRE CODE IN SMARTFROM ITSELF

Smart forms is more interactive and the windows are easy to define.

: Things are based on NODES ( eg - address node ) which onced defined can be assigned to other windows by just draging and dropping.

: The flow is maintained by a tree stucture which is easy to modify.

: The smart form is called just like a call function where all the calculated values are exported to the form and any errors are imported back to the program.

: no more OPEN, CLOSE, WRITE form and no more heavy coding as well as sitting and doing minor TAB adjustments.

Smart forms is more interactive and the windows are easy to define.

: Things are based on NODES ( eg - address node ) which onced defined can be assigned to other windows by just draging and dropping.

: The flow is maintained by a tree stucture which is easy to modify.

: The smart form is called just like a call function where all the calculated values are exported to the form and any errors are imported back to the program.

: no more OPEN, CLOSE, WRITE form and no more heavy coding as well as sitting and doing minor TAB adjustments.

Smart forms is more interactive and the windows are easy to define.

: Things are based on NODES ( eg - address node ) which onced defined can be assigned to other windows by just draging and dropping.

: The flow is maintained by a tree stucture which is easy to modify.

: The smart form is called just like a call function where all the calculated values are exported to the form and any errors are imported back to the program.

: no more OPEN, CLOSE, WRITE form and no more heavy coding as well as sitting and doing minor TAB adjustments.

It was said that it was provided in CRM 3.0 version, but not available in R/3. You can download smartforms into Local PC in a XML format. In the same way you can upload this XML format into Smartform. From the smartform editor itself you can call download option, if you are working in CRM 3.0 environment.

In R3 also, you can download into XML format. However, it's not sure about uploading. Refer to the program 'SF_XSF_DEMO'.

In 4.7 Enterprise, other have seen this utlity which is completey missing in 4.6c. There is functionality to downlaod a complete form or only a particular node. (Utilities -> Download form). It will create a XML file and save it in the hard disk.

For others, if you want to download/upload the Smartforms source, you will need the help from the Basis people. What you can do is to create a Transport and then FTP down to your local harddisk. When you need the Smartform source in another system, you have FTP up the Smartforms file back to the SAP server. Finally, the Basis team, will tp it into your system.

g) The protect and endprotect command in sapscript doesn't work with smartforms. For example on a invoice: First data of position no 80. is printed on page one, other data of position no 80 is printed on page 2. And there's nothing you can do about it. Actually, there is something you can do about it. By using a folder node and checking the 'protect' checkbox, everything in that folder will be page protected.

h) The main difference is that SAP script is client-dependant, while smartform is independent. Also there are some advanced and intreractive features available in smartforms.

You can use an External subroutine-call in sapscript editor like:

/: perform <form_name> in program <program_name>

/: using <var1>

/: using <var2>

.

.

/: changing <return1>

/: changing <return2>

/:endperform

background pictures are possible in smartforms

-->code can be written directly in program lines of Smartform,no need of seperate driver program.

--->less code is written

Thanks&regards

Sravani.