Escolar Documentos
Profissional Documentos
Cultura Documentos
Step 1 :
Go to Transaction SMARTFORMS from the SAP Easy Access Screen.
Give the Smart Form name which starts with Y or Z and click on
Create.
Step 2 :
Rename Page1 as FIRST by expanding the node Pages and Windows, double click on the node
%PAGE1.
Of all these windows the Main window i.e. the window, which holds the Item Details is already
defined. So let us now create the other windows.
Step 3 :
Expand the node FIRST to see the main window. Now to create the Logo window.
The following screen appears. Ensure that the window type is Secondary. Now Rename
WINDOW1 as LOGOWIN by double clicking on the node %WINDOW1.
Repeat the same for creating remaining windows. After creating the remaining windows the
screen should look like this:
Step 4 :
present on the
A pop up appears. Give the File path in the File Name, Enter a Name and Description as shown
below and
Continue.
Step 6 :
Now go back to the transaction SMARTFORMS. Right Click on the LOGOWIN Create
Graphic.
As per the following screen shot make the changes. In the field NAME with the F4 help select the
image which you have imported from SE78.
Step 7 :
Now coming to the Declarations. As required the data into the form comes from 3 tables namely,
KNA1 - For printing the Customer Details in the Customer Details Window.
VBRK - For printing the Billing Document Header Details in the Billing Document Details Window.
VBRP - For printing the Item Details in the Main Window.
The Data Retrieval and printing the Form is done through a Driver Program called
ZSF_PRINTINVOICE.
In the Form we need to declare some Import parameters and also define some Global Definitions.
For declaring Import parameters double click on Form Interface and include the lines as shown
below :
If you have table types defined for VBRK and VBRP tables give those names in the Associated
types column.
IM_FS_KNA1 - The field string for Holding Customer Details.
IM_T_VBRK - Table to hold Billing Document Header Data.
IM_T_VBRP
- Table to hold Billing Document Item Data.
For Global Definitions, double click on the Global Definitions and include the lines as follows :
IM_T_KNA1
IM_FS_VBRK
IM_FS_VBRP
W_TOTAL
If the above screen shot is observed we find a arrow which is placed on Currency/Quant. Fields.
Open this Tab to include the following lines.
This is to refer the currency field NETWR in the table VBRP to its corresponding currency key
field in the table VBRK.
Step 8 :
Displaying the contents in BILLWIN (Billing Window).
Create a Loop under the node BILLWIN
Name the Loop as LOOP_BILL, give a description as Loop for Billing Details. In the field Operand
give the details as IM_T_VBRK
INTO IM_FS_VBRK. In the where condition give the field
name as KUNAG, Select the operator as = and comparison value as IM_FS_KNA1-KUNNR.
Create Text under the Loop LOOP_BILL to display Billing Document Details
Give the Name for the TEXT and a Description. To display the fields click on
Field List
on/off button on the application toolbar. A list with field names appear at the bottom left corner as
shown in the screen shot below. Drag & Drop the fields from IM_FS_VBRK on to the editor.
Step 9 :
Displaying the contents in CUSTWIN (Customer Window)
Create Text under the node CUSTWIN to display the Customer Details.
Step 10 :
Displaying contents in MAIN (Main Window)
Create a Table under the node MAIN.
Give Name for the table and Description. Right click on %LTYPE1 and rename the Line as Line1.
Since we have to display 5 columns, LINE1 has to be divided into 5 cells. To draw lines Select
the button
Now create a Table line under the node Header and give the Line Type as Line1.
As soon as you give the Line type as Line1 and press ENTER you can see that under the
%ROW1 5 Cells namely %CELL1%CELL5 are created. Now Rename each of these as
shown below:
Now under each Cell create TEXT for Displaying the Column Headings.
and Create Texts under each Cell to display the Details from VBRP. After Creating all these your
screen should look like this :
In the Main Area Drag and Drop the fields from the field string IM_FS_VBRP to print the Item
Details. So in the Text ITEMNO1 it will be &IM_FS_VBRP-POSNR& and so on as shown
above.
Since we have to display the Total amount in the Footer area, Create a Table Line with one Cell.
To create a Table Line Right Click on the Line 1 Insert Empty line underneath . An empty
Line appears after Line 1. Name this Line as Line2.
Create a Text under the cell TOTAL. Give the Line type as Line 2. The Following screen appears
In order to calculate the Total (W_TOTAL) go to the Table ITEMDET. Select the Tab Calculations
and give the details as shown in the screen shot below:
Go back to the Footer Text for Displaying the TOTAL. Drag and Drop W_TOTAL from the
Global Data. To display the field list Click on the button
Step 11 :
Give the Name for the TEXT and a Description an Enter the Text you want to Display in the
window. So your screen looks something like this:
Step 12 :
Finally
Save and
As we know, when we Activate the Smart Form it generates a Function Module automatically. To
view the Function Module generated for this Smart Form, Go to Environment Function Module
Name.
By Clicking on the Function Module Name, a pop up appears which gives the name of the
Function Module.
As in the following program, declare the Selection screen elements, Work variables, Internal
Tables etc and call the Functions 'SSF_FUNCTION_MODULE_NAME' and /
1BCDWB/SF00000201 (The one which we got in Smart form by going to Environment
Function Module Name). After calling the Function /1BCDWB/SF00000201 just replace it by
FM_NAME as shown in the code below:
REPORT zsf_printinvoice.
*"Table Declarations...................................................
TABLES:
kna1,
vbrk,
vbrp.
*"Select Screen Elements...............................................
PARAMETERS :
p_kunnr LIKE vbrk-kunag,
p_vbeln LIKE vbrk-vbeln.
*"Data Declarations....................................................
*"--------------------------------------------------------------------*
*
Work
Variables
*
*"--------------------------------------------------------------------*
DATA :
fm_name TYPE rs38l_fnam.
" Name of the Function Module
*"--------------------------------------------------------------------*
* Internal Table to Hold Billing Document Header Details *
*"--------------------------------------------------------------------*
DATA :
t_vbrk LIKE
STANDARD TABLE
OF vbrk.
*"--------------------------------------------------------------------*
* Internal Table to Hold Billing Document Item Details
*
*"--------------------------------------------------------------------*
DATA:
t_vbrp LIKE
STANDARD TABLE
OF vbrp.
DATA :
fs_kna1 TYPE kna1,
" Holds Customer Details