Skip to Content
author's profile photo
Former Member

Smart form

hello gurus,

pease tell me how to create a smart form. any how to guide please.

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

5 Answers

  • Best Answer
    author's profile photo
    Former Member
    Oct 11, 2007 at 02:54 PM

    Hi Friend,

    here i am giving you a how to create a simple smart form.

    SAP Smartforms can be used for creating and maintaining forms for mass printing in SAP Systems. The output medium for Smartforms support printer, fax, e-mail, or the Internet (by using the generated XML output).

    According to SAP, you need neither have any programming knowledge nor use a Script language to adapt standard forms. However, basic ABAP programming skills are required only in special cases (for example, to call a function module you created or for complex and extensive conditions).

    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.

    Try this and say if you have ny issue regarding this.

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Oct 11, 2007 at 02:57 PM

    Hi Raskin Philip

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

    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)

    A SIMPLE SMARTFROM TUTORIAL:

    SAP Smartforms can be used for creating and maintaining forms for mass printing in SAP Systems. The output medium for Smartforms support printer, fax, e-mail, or the Internet (by using the generated XML output).

    According to SAP, you need neither have any programming knowledge nor use a Script language to adapt standard forms. However, basic ABAP programming skills are required only in special cases (for example, to call a function module you created or for complex and extensive conditions).

    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.

    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.

    Reward if useful to u

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Oct 11, 2007 at 03:00 PM

    Sorry Friend,

    I was not near to desk. Please don't misunderstand me. And come back if u get further issue.

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Oct 11, 2007 at 02:58 PM
    Add comment
    10|10000 characters needed characters exceeded