A Simple Smartform 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.
Contributed by : SAP
ABAP/4 Programming, Basis Administration, Configuration Hints and Tips
Get help for your ABAP problems
Do
you have a ABAP Question?
ABAP Books
ABAP
Programming, Certification, Interview Questions Smartform and SAPscripts
Reference Books
Smartforms Tips
SAP Smartforms
Tips and Tricks
ABAP Programming Tips
ABAP and Samples
Program Codes for Abapers
Best regards,
SAP Basis, ABAP Programming and Other IMG Stuff
http://www.erpgreat.com
All the site contents are Copyright © www.erpgreat.com
and the content authors. All rights reserved.
All product names are trademarks of their respective
companies. The site www.erpgreat.com is in no way affiliated with
SAP AG.
Every effort is made to ensure the content integrity.
Information used on this site is at your own risk.
The content on this site may not be reproduced
or redistributed without the express written permission of
www.erpgreat.com or the content authors.
|