Step by Step procedure to create Smart forms
Hi Group,
Can any body please provide the good document or Link on Step by Step procedure to Create the Smartforms.
Hi,
Check these links and reward points if it helps.
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
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/ccab6730-0501-0010-ee84-de050a6cc287
https://sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/8fd773b3-0301-0010-eabe-82149bcc292e
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/3c5d9ae3-0501-0010-0090-bdfb2d458985
Similar Messages
-
While creating smart form parameters error.
hi.
i am Developing a smart form ..
based on the given parameter the values are coming..(Sorry i am not able to explain the whole scenario bcz i am new to abap)
plz have a look on below image.
Se11 and error..
for creating the parameter options i open the se11 (se11 -image) but i am getting the Error at the time of Check the program..
May i know what is the reason...hi. thanks for your reply..
yes i am using vm ware i was installed in external hard disc,,
from my system i am connecting to the external hard disc..
Coming to first screen shot there is no error its just a warning.
Yes, i also think same but i has to check it...
i will update u once i check it.
plz give me some time.. i will check it... -
Create Smart form for Pick list
Hi,
How do i start for creating a smart form for pick list.
Regards
Ajayhi
refer this
http://www.****************/Tutorials/Smartforms/PO/page1.htm
Edited by: Swetha on Jul 10, 2008 6:15 PM -
CAN PLS ANYBODY TELL ME THE PROCEDURE TO MAKE SMART FORMS
PLS LEMME KNOW
Transaction - SMARTFORMS
after u make it, make an abap program with the following
DATA FMNAME TYPE RS38L_FNAM.
DATA ZITAB LIKE mara OCCURS 0 WITH HEADER LINE.
SELECT * FROM mara INTO CORRESPONDING FIELDS OF TABLE ZITAB.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'ZKRISSF1'
IMPORTING
FM_NAME = FMNAME.
CALL FUNCTION FMNAME
TABLES
ITAB = ZITAB. -
SMARTFORMS - Step by Step Tutorial
Hi All,
I am looking for a step-by-step detail example for Smart Forms. It would be great if it was up-to-date and not including the now extinct COMPLEX STRUCTURE option.
<b><REMOVED BY MODERATOR></b>
Many Thanks,
Dips Naik
SAP Consultant / Project Manager
Message was edited by:
Alvaro Tejada GalindoSmart Forms:
Transaction Code for Create Smarf Forms: SMARTFORMS
Transaction Code for Create Styles (Paragraph Formats, Character Formats, etc.,) Used in Smart Forms: SMARTSTYLES
Steps to be followed while creating Smart Forms:
1. Enter the Form Name (e.x. ZEKKO_EKPO) and Press Create Button.
2. Enter Form Description and Select the Output options Tab  Enter the Page Format (e.x. DINA4) and Style (e.x.SF_STYLE_01).
3. Double click the Form interface Left Sub-tree.
4. Enter the Import Parameters (The values that passed from the Print Program into the Form) (e.x. Company Code)
Parameter name Type assignment Reference type Default value Pass value
COMPANY_CODE TYPE EKKO-BUKRS 
5. Double click the Global definitions from the Left Sub-tree.
Assume that we are using two tables EKKO and EKPO in this example:
6. Click the Types Tab.
7. Enter the Code as following:
TYPES: BEGIN OF WA_EKKO,
EBELN LIKE EKKO-EBELN,
BUKRS LIKE EKKO-BUKRS,
END OF WA_EKKO.
TYPES: BEGIN OF WA_EKPO,
EBELN LIKE EKPO-EBELN,
EBELP LIKE EKPO-EBELP,
MENGE LIKE EKPO-MENGE,
NETPR LIKE EKPO-NETPR,
END OF WA_EKPO.
TYPES: T_EKKO TYPE STANDARD TABLE OF WA_EKKO,
T_EKPO TYPE STANDARD TABLE OF WA_EKPO.
8. Click the Global data Tab.
Declare the Internal Tables and Work Areas as follows:
Variable name Type assignment Reference type Default value Constant
I_EKKO TYPE T_EKKO
I_EKPO TYPE T_EKPO
WA_EKKO TYPE WA_EKKO
WA_EKPO TYPE WA_EKPO
9. Double click the %PAGE1 New Page in the Left Sub-tree.
10. Change the %PAGE1 to FIRST or any name and Enter the Description (e.x. First Page).
11. Select the Next Page as FIRST
12. Select the Output options Tab and select the format of the page (Portrait or Landscape) and all other print attributes.
13. Select the Background Picture Tab, and Enter the Name, Object and Id of the image file. (Before this step, go to SE78 and import the image first) for the Image which has to be appeared in the Background of the Script.
14. If you want to add any LOGO in the First Page of the Script then right click the FIRST New Page in the Left Sub-tree from the Menu option Create  select the Graphic.
15. Double click the %Graphic1 New Graphic 1 in the Left Sub-tree.
16. Give the Name and Description (e.x. Graphic = COMP_LOGO and Description = LOGO WINDOW)for the New Graphic Inserted.
17. Enter Name, Object and ID for the Graphic image and Select the Color grid screen (BCOL) option button in the General attributes Tab.
Click - Output options Tab. Set Left and Upper Margins as given:
18. Right click the FIRST New Page in the Left Sub-tree and from the Menu option Create  select the Window.
19. Double click the %WINDOW1 New Window1 in the Left Sub-tree and enter the Window name and Description (e.x. Window = ADD_WIN and Description = Address Window)
Set the Left and Upper margins for the ADD_WIN as follows:
20. Right click ADD_WIN Address Window in Left Sub-tree and from the Menu option Create  select the Program Lines.
21. Enter the Program Lines name and description (e.x. Program Lines = ADD_FETCH and Description = FETCHING COMPANY ADDRESS)
22. Enter the Input Parameter as COMPANY_CODE and Export Parameter as V_ADRNR in the General attributes Tab and write the select query as following:
SELECT SINGLE ADRNR INTO V_ADRNR
FROM T001 WHERE BUKRS EQ COMPANY_CODE.
(Note: Before writing the select query first declare the Variable V_ADRNR in the Global definitions area as follows:
V_ADRNR TYPE T001-ADRNR.
23. Right click the ADD_WIN Address Window in the Left Sub-tree and from the Menu option Create  select the Address.
24. Double click the %ADDRESS1 New address1 and change the Address name and description (e.x. Address = COMP_ADD and Description = COMPANY ADDRESS).
25. Select the Type of the address in the General attributes Tab. (Since we are retrieving the Organization address, we selected the first radio button) and in the Address number text box pass the V_ADRNR Variable as &V_ADRNR&.
26. Set the Main window attributes like this: (Setting of window co-ordinates)
27. Right click the MAIN Main Window in the Left Sub-tree and from the Menu option Create  select the Program Lines.
28. Enter the name and description (e.x. Program Lines = SELECT_RECORD and Description = SELECTING RECORDS).
29. Enter the Input Parameter as COMPANY_CODE and Output Parameter as I_EKKO and I_EKPO in the General attributes Tab and write the select query as following:
SELECT EBELN BUKRS
INTO TABLE I_EKKO
FROM EKKO
UP TO 10 ROWS
WHERE BUKRS EQ COMPANY_CODE.
IF SY-SUBRC EQ 0.
SORT I_EKKO BY EBELN.
SELECT EBELN EBELP MENGE NETPR
INTO TABLE I_EKPO
FROM EKPO
FOR ALL ENTRIES IN I_EKKO
WHERE EBELN EQ I_EKKO-EBELN.
IF SY-SUBRC EQ 0.
SORT I_EKPO BY EBELN EBELP.
ENDIF.
ENDIF.
30. Right click MAIN Main Window in the Left Sub-tree and from the Menu option Create  select the Complex Section.
31. Enter the Section name and description (e.x. Section = PO_LOOP and Description = PURCHASE ORDER NUMBER LOOP) and check the Repeat processing check box and select the Output type as Unstructured (i.e. select the Unstructured radio button) in the General attributes Tab.
32. Select the Data Tab.
33. Enter the Internal Table Name as I_EKKO and Work area name as WA_EKKO and sort by the BUKRS and EBELN fields.
34. Right click PO_LOOP PURCHASE ORDER NUMBER LOOP in Left Sub-tree and from the Menu option Create  select the Text.
35. Enter the Text name and description (e.x. Text = PO_NO_DISPLAY and Description = PURCHASE ORDER NUMBER DISPLAY) and enter the values as in the screen shot
Click the Text Editor
Display the values of Company Code and Purchase Order Number as shown below:
Press Back Button, then Press Save and Check Buttons
36. Right click the PO_LOOP PURCHASE ORDER NUMBER LOOP in the Left Sub-tree and from the Menu option Create  select the Template.
37. Double click on %TEMPLATE1 New template and enter the Template name and description (e.x. Template Name = OI_HEAD and Description = ORDER ITEM HEADER).
Before press save or enter click the Table Painter Button which will take you to following screen.
To avoid the cross line in the Editor click the Settings Button
which will result in the following popup, in which you un-check the Cross Check Box and press enter.
38. Split the Cell into Four or into any number of columns you want to display in the script by right clicking the %C1.
and press Back Button.
39. Select the pattern of the table to be displayed in the script by the clicking Select pattern Button
Selected table pattern
40. Inorder to Display the Column Text for the table columns, insert the Text as shown below:
41. Right click the OI_HEAD ORDER ITEM HEADER and from the Menu path Create  Select the Text .
42. Enter the Text name and description (e.x. Text = HEAD1 and Description = COLUMN1) and enter the values as in the screen shot (i.e. as explained in the point no 34).
43. Inorder to match the Template Column with the insertedText HEAD1 COLUMN1, select the Output options Tab and Enter the Line Number and Column Number in which the above Text has to be printed in the form
44. Repeat Step No.40 & 41 for all the remaining column headings.
45. The Form is ready with all data upto Table Header. Inorder to populate data under each column header, insert a table.
46. Insert the Table under PO_LOOP PURCHASE ORDER NUMBER LOOP by right clicking the same.
47. Enter Table Name and Description (e.x. Table Name = OI_DISPLAY and Description = ORDER ITEM DISPLAY)
48. Match the column width with the OI_HEAD ORDER ITEM HEADER Template (refer step no 38 screet shot no 2) and Select the Default radio button and No page break check box. Click the Select pattern push button to select the table pattern to be displayed.
49. Click the Data and populate the Item details by looping the Internal Table I_EKPO into the Work Area WA_EKPO sorted by EBELN and EBELP as shown in the following screen shot
50. Inorder to Display the values for each column, we have to Insert Separate Text for each column under the Table OI_DISPLAY ORDER ITEM DISPLAY by Right clicking the same. Enter the Name and Description for the Each Text Inserted under the Table.
Column 1 for Line Item of each Purchase Order Populate the values for each column as explained in the step no 34.
Inorder to Match the Item values with the Template Header, In the Inserted Text ORD_ITM_COL COLUMN1 Click the Output options and Select the New line Check box and Select the Line type as Detail and also check the New cell Check box.
51. Similary add one Text for the remaining columns.
For the Second Column Text You need only to select the New cell Check box.
For the Third Column Text also You need only to select the New cell Check box.
52. Before Inserting the 4th Text for the 4th Column, we have to calculate the Amount by Multiplying the Quantity and Unit Price and for the same we have to insert Program Lines by Right clicking OI_DISPLAY ORDER ITEM DISPLAY
53. Similarly calculate the subtotal by adding the totals and calculate the grand total by adding the subtotals.
Before doing the calculations, declare variables for total, subtotal and grand total in Global definitions.
InputParameters: WA_EKPO-MENGE,WA_EKPO-NETPR & OutputParameters: V_TOTAL,V_SUBTOTAL, V_GRDTOTAL.
54. Now add the 4th Text to display the 4th column in the Form.
For the Fourth Column Text also You need only to select the New cell Check box.
55. Inorder to display the Subtotals (which has been created earlier i.e. refer to step no 52) of all the Line Items for each Purchase Order, we have to Insert a separate Text Under the Table OI_DISPLAY ORDER ITEM DISPLAY by right clicking the same.
56. Enter the Name and Description for the Inserted Text (e.x. Text = SUB_TOTAL_DISPLAY and Description = SUB_TOTAL_DISPLAY and populated the value for subtotal.
57. After each purchase order, the Variable V_SUBTOTAL has to be refreshed, Inorder the clear the subtotal variable we have to insert Program Lines by right clicking the OI_DISPLAY ORDER ITEM DISPLAY.
58. Enter Name and Description for the Program Lines (%CODE1 New program lines 1) Inserted (e.x. Program lines = CLR_VAR and Description = CLEAR SUBTOTAL VARIABLE. Input parameters = V_SUBTOTAL. Clear the variable as shown below:
59. Now, we have to display the Grand Total (i.e. summation of all the subtotals). Insert Text under the PO_LOOP PURCHASE ORDER NUMBER LOOP by right clicking the same.
Text %TEXT1 New text1 gets inserted. Now enter the name and description for the same and also populated the value for grand total
Text = GRD_TOT_DISP, Description = GRAND TOTAL DISPLAY and Variable V_GRDTOTAL has been populated to display the grand total in the form.
60. Inorder to display the Current Page Number and Total Number of pages in the form we need a separate window and to obtain the same right click the FIRST First Page and the insert window.
Window %WINDOW1 New window 1 get inserted under the first page.
61. Enter the Window name and description (e.x. Window = PG_WIN and Description PAGE NUMBER WINDOW)
Set the window co-ordinates for page number window PG_WIN as given below:
62. Inorder to display the page numbers we have to insert a Text by right clicking the PG_WIN PAGE NUMBER WINDOW.
Text %TEXT1 New text 1 gets inserted and now enter the text name and description.
Text = PG_DISP, Description = PAGE NUMBER DISPLAY and Page Number gets displayed from the Transparent Table SFSY.
63. General Screen Shot of Entire Left Sub-tree:
64. Form output:
65. SOME MORE FURTHER MODIFICATIONS / ADDITIONAL OPTIONS IN THE ABOVE CREATED FORM:
Condition-1: Create second page and company logo should get printed only in the first page and not in the second page. Similarly, company address window should get printed only in the last page and not in other pages.
To create the second page right click the FIRST First Page in the left sub-tree.
66. Another page gets inserted with name %PAGE1 New page 1.
67. Enter Page name and description for the inserted new page (e.x. Page = SECOND and Description = Second Page) and set the next page as inserted second page and select the mode as increase counter as shown below:
68. Now change the FIRST First Pages Next page as SECOND and change the mode as Initialize counter.
69. Now copy the Main, Company Address, Page No windows from FIRST First Page to SECOND Second Page.
70. Arrange all the windows under the Main window in both first and second page. Inorder to restrict the company logo to be printed only in the first page, go to the first page and double click the LOGO_WIN LOGO WINDOW and select the Conditions tab and Check the only on first page Check Box.
71. Output showing the main window got printed only in the first page and not in the second page and so on .
First Page: With LOGO
Second Page: Without LOGO
72. Inorder to restrict the Company address to be printed only in the last page and not in the remaining pages, double click the ADD_WIN ADDRESS WINDOW in the first page and Check the only after end of main window Check Box. Repeat the same process for the second page also.
73. Output showing the address window got printed only in the last page and not in the first page and so on .
First Page: without company address
Last page (second page): with company address window
74. Condition-2: Purchase orders whose value is more than 5000 only should get displayed / printed.
Inorder to achieve the same, right click the PO_LOOP PURCHASE ORDER NUMBER LOOP and select the Loop.
75. %LOOP1 New loop 1 gets inserted
76. Enter Loop name and description.
77. Select the Data Tab Loop the Internal I_EKPO as shown below:
78. Inorder to check the subtotal value for each purchase order (i.e. purchase order value should be more than 5000), Insert a program lines under the new loop inserted.
79. %CODE1 New program lines 1 gets inserted
80. Enter the name and description for Program lines. Before calculating the subtotal declare two variables one for total and another for subtotal in Global definitions. Calculate the Subtotal as shown below:
Input parameters: WA_EKPO-MENGE, WA_EKPO-NETPR, V_TOT; Output Parameters: V_VALUE.
81. Now we calculated the subtotal for each purchase order. Inorder to restrict the display of purchase orders whose values are more than 5000, we need to insert Alternate and for the same right click the PO_LOOP PURCHASE ORDER NUMBER LOOP and from the menu path create  select the Alternate.
82. %CONDITION1 New alternate 1 gets inserted.
83. Enter Alternate name and description. Select the General attributes Tab and Enter the condition of subtotal > 5000 as shown:
84. Now, move PO_NO_DISPLAY PURCHASE ORDER NUMBER DISPLAY, OI_HEAD ORDER ITEM HEADER, OI_DISPLAY ORDER ITEM DISPLAY, SUB_TOTAL_DISPLAY DISPLAY SUBTOTAL and CLR_VAR New program lines under the TRUE part.
85. In the FALSE part (i.e. If subtotal value is less than 5000, then clear the variable), insert program lines and code as shown:
86. Only those purchase order whose value is more than 5000 gets displayed First Page.
Only those purchase order whose value is more than 5000 gets displayed Second Page.
87. Condition-3 Each Purchase Order should get printed in a new page. Logo should get printed in the first page along with the first purchase order and similarly, Grand total should get printed in the last page with the last purchase order.
88. Inorder to achieve this, when the first successful purchase order whose value is more than 5000 is found then increase one counter variable by 1 (this is required because the New page command should not get triggered in the first page itself) and for the same we have to insert a Program lines under the TRUE part of CHK_COND SUBTOTAL CONDITION.
Before increasing the counter variable first declare the counter variable in the Global definitions part.
Output parameters: V_COUNTER.
89. Inorder to avoid triggering New page command in the first page, we have to insert Command in the TRUE part of CHK_COND SUBTOTAL CONDITION by right clicking the same as shown below:
90. %COMMAND1 New command 1 gets inserted.
91. Enter name and description for the inserted Alternative. Select General attributes Tab and check whether for the counter variable is more than 1.
92. If the counter variable is more than 1 means, we got the second successful purchase order whose value is more than 5000. Hence, we can trigger new page command here and for the same right click the TRUE part in NEW_PG NEW PAGE COMMAND as shown:
%COMMAND1 New command 1 gets inserted
93. Enter the name and description for Command and select the General attributes Tab and Check the Go to new page and select the page as SECOND as shown below:
94. The following is the output: First Page with company logo and without company address window, first purchase order whose value is more than 5000.
Second page: without company logo and with company address window for the last purchase order whose value is more than 5000.
95. The new PROBLEM we faced when we create the smart form is page number. Total Page Number got displayed as * as shown:
96. Inorder to solve the above problem Double Click the PG_DISP PAGE NUMBER DISPLAY and Click the Text Editor.
Upon clicking the text editor it will take you to the following screen:
Cut (Ctrl+X) the SFSY-FORMPAGES and delete the remaining things as shown.
Go to the menu path Insert  Symbols  New as shown
Which will result you in the following popup and fill the popup as shown.
97. It will takes you to the following screen.
98. Now replace &SFSY-FORMPAGES4(4CZ)& as &SFSY-FORMPAGES0(4CZ)&
99. Press back and then check, activate and execute You can observe that the problem has resolved.
100. Enjoy and try to create more smart forms ..
Reward Points if useful....
Regards,
Sarathy. -
Steps to create adobe form in WD
hi
could any body send me the step by step procedure to create Adobe Form generation using RFC (BAPI) in Web Dynpros
regards
mmukeshHi,
Go to the following link
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/bfbcd790-0201-0010-679d-e36a3c6b89fa
Regards
Suresh -
hi,
I am new to adobe forms in ABAP.can anybody please tell me the pre-requisites for the set up and step by step procedure to create Adobe Forms in ABAP?
Thanks,
Parama.Did you make an effort of searching on SDN, if not please do that.
Chintan -
Smart Forms : problem with Float Variable
Hi Expert,
I have a probelm with Float variable. In my smart forms one fields of table QAMV contain value like 8.0000000000000000E+01.
I have to remove the exponent and display value like 80.
I have tried wa_qamv-sollwert(E10.4).. but it not working.
Can U suggest me some solution.
Regards
Swati.
Edited by: Swati Namdev on Apr 27, 2010 12:19 PMHi,
Please follow the steps.
1. In your smart form create a variable w_val ,, type,, associate type --> CHAR10
2. Now write a code, jsut above your node where u wud like to get this value... For this Create -> Flow Logic -> Program Lines.. Now you have editor..
3. In input parameters , put i_tab-QAMV.. and in output parameter put w_val... and Code like below
CALL FUNCTION 'MD_CONV_QUANTITY_FLOAT_TO_PACK'
EXPORTING
iv_menge = i_tab-qamv
IMPORTING
EV_MENGE = w_val.
4. Now grag and drop this w_val from global data field list...your this w_val will have the rounded value.. Pls try this and check.. It will work.
Regards,
Lokesh.
Edited by: Lokesh Tarey on Apr 27, 2010 9:28 AM -
hi,
i have one logo and i want to insert that logo into the smart forms
so can u suggest me the steps to insert that logo in smart forms.
regards,
kamalHi
SAP SCRIPT
To create a logo in SAP printouts just do the following
1. Save a Logo using Imaging, Paint shop Pro or Corel Draw as Tiff file.
2. Run program RSTXLDMC and enter the following parameters
Enter file name C:\COMPLOGO.TIF
UOM CM
Line width for text 132
Text name ZHEX-MACRO-COMPLOGO
Text ID ST
Text language = E
Number of Tiff gray levels (2,4,9) 2
3. Then Create a new window 'COMP' with attributes;
Window COMP description Company Logo
Left margin 7.00 CH window width 10.00 CH
Upper margin LN window height 8.00 LN
Finally in the text element, mention
/: INCLUDE 'ZHEX-MACRO-COMPLOGO' OBJECT TEXT ID ST LANGUAGE 'E'.
Please note that if object name is not indicated as 'ZHEX... the logo may not be printed!
You will not be able to see the logo in a test print. The same will be printed in actual printout.
SMARTFORM
1) In Smart Forms Editor, In left pane, right Click any Page (say Page1) and select Create -> Window, Give it a name and Description (Say Window1)
2) Right Click on Window (Window 1) and select Create -> Graphics, Give it a name and description
3) In general Attributes, Select Name, get search help (F4) , you will find a list of pictures
4) Select any picture and set its Resolution in DPI
5) Press F9 to open Smart Forms Builder, Select window (Window1) and In Output options window set, size and position of the Logo
6) Set any other parameters if required, save and activate.
7) If there is only 1 Window in the forms, set it as Main Window in general attributes.
8) Use TCode SE78 to upload new pictures and logos.
look at Thread Dynamic Graph in smartforms
Refer the links also -
Re: Dinamic Graph in smartforms
How to get file perperties in Unix server
Regards
Anji -
Can anybody provide me good step by step procedurehow create smart form and module pool programming.
My email Id is [email protected]hi,
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.
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.
PROGRAM YMPSKEL MESSAGE-ID YL.
DESCRIPTION
written by !
TABLES:
DATA: OK_CODE(4), " ok code - screen 1
OK_CODE2(4).
DATA C LIKE SY-INDEX. " Index for screen loop
*& Module USER_COMMAND_0100 INPUT
process after input for screen 0100 *
MODULE USER_COMMAND_0100 INPUT.
CASE OK_CODE.
WHEN 'SAVE'.
WHEN 'DISP'.
WHEN 'LIST'.
C = 0. "reset loop control
WHEN OTHERS.
ENDCASE.
CLEAR OK_CODE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Module STATUS_0100 OUTPUT
process before output for screen 0100 *
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'AMEND'. " set gui status
SET TITLEBAR '100'. " set title
ENDMODULE. " STATUS_0100 OUTPUT
*& Form SAVE data
Save screen details
FORM SAVE.
CLEAR OK_CODE.
ENDFORM.
*& Form DISPLAY
FORM DISPLAY.
ENDFORM.
*& Module EXIT_COMMAND INPUT
exit commands are processed before validation *
defined by E against function in menu painter(function list)
MODULE EXIT_COMMAND INPUT.
CASE OK_CODE.
WHEN 'EXIT'. CLEAR OK_CODE. SET SCREEN 0. LEAVE SCREEN.
WHEN 'CANC'. CLEAR OK_CODE. SET SCREEN 0. LEAVE SCREEN.
WHEN 'BACK'. CLEAR OK_CODE. SET SCREEN 0. LEAVE SCREEN.
ENDCASE.
ENDMODULE. " EXIT_COMMAND INPUT
*& Form list
text *
FORM LIST.
CLEAR OK_CODE. SET SCREEN 200. LEAVE SCREEN.
ENDFORM. " LIST
*& Module EXIT_COMMAND_200 INPUT
exit command processing for screen 200 *
defined by E against function in menu painter(function list)
MODULE EXIT_COMMAND_200 INPUT.
CASE OK_CODE2.
WHEN 'EXIT'. CLEAR OK_CODE2. SET SCREEN 0. LEAVE SCREEN.
WHEN 'CANC'. CLEAR OK_CODE2. SET SCREEN 0. LEAVE SCREEN.
WHEN 'BACK'. CLEAR OK_CODE2. SET SCREEN 100. LEAVE SCREEN.
ENDCASE.
ENDMODULE. " EXIT_COMMAND_200 INPUT
*& Module STATUS_0200 OUTPUT
process before output for screen 200 *
MODULE STATUS_0200 OUTPUT.
SET PF-STATUS 'POPUP'.
SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_0200 OUTPUT
Module pool programs are created in abap development work bench (TCODE: SE80).
Here we can do all the works whatever you can do in abap.
Module pool programs are also called dialog programs.
The module Pool are reports prepared for different screens and to manage the sequence of events of these screens, in the transaction SE80 you can see all the dynpros that you have for this kind of report, add new ones, add all types of element to the report.
Process Before Output is the part of the dynpro code that is processed before the user can do anything with the data in the screen
Process After Input is the part of the dynpro code that is processed after the interaction with the user.
module pool programs are excuted using Tcodes
regards,
sreelakshmi -
Creation of Smart Forms for PDF
Hi All,
I am new to SFP. So, please tell me how to create Smart Forms for PDF.
I already have an SAP standard form of Customer Invoice in this format (SFP) and I need to change the layout and add some additional fields in it as well.
Please guide me through the process. Earliest reponse will be highly appreciated.
Regards,
ShabbarHi,
I take that you meant PDF Forms in SAP.
Refer the following help links.
http://help.sap.com/saphelp_nw04s/helpdata/en/dc/f1783fe3263042e10000000a114084/content.htm
This PDF link (Has got many Pdf files)
https://www.sdn.sap.com/irj/sdn/interactiveforms?rid=/webcontent/uuid/d1088b7e-0c01-0010-c78e-984c0537e3ec [original link is broken]
Also check this Tech-ed 06 session at Amsterdam.
http://www.sapteched.com/emea/edu_sessions/session.htm?sid=317
Check this download from SDN.
https://www.sdn.sap.com/irj/sdn/downloaditem?rid=/library/uuid/2dd3dbcd-0401-0010-55b8-b10808ff688e
Is this you are looking for?
Feel free to revert back.
--Ragu -
About writting text in smart forms
Hi friends,
I am currently working on ABAP 7.0 version and currently i am working on creating smart forms so in that i want to know that how to write heading in windows so i can display that text as a name of that window.
My mail id is: [email protected]
Thanx & Regards,
Rahul Taleleto display a heading for a window..
create a text element usre the appropriate character formats and pparagraph formats.
is there any additional feature in 7.0 in smartforms.. if yes can u please let me know
Please Close this thread.. when u r problem is solved. Reward all Helpful answers
Regards
Naresh Reddy K
Message was edited by:
Naresh Reddy -
Syntax for sum in Smart Form based on Selection criteria in Program.
Hi,
We have created smart form for printing confirmation entries in desired format. We have given some selection criteria in the program. Now, we want to do the sum of certain fields in the smart form based on selection criteria given in program and selection screen.
But we are getting wrong sum in the smart form than expected.
When we debug the program during run time, we are getting correct records as per our expectations. But result of sum in the out put is not as per given selection criteria.
Do we need to establish link between "select option" and "Smart form"? How can we use internal table created for select option in the smart form?
Thanks & regards
VijayHi,
There will be no option to sum the values in smartforms, You just have to sum and append the data to internal table and display the internal table data in the form.
Regards,
Satish -
Assigning categories to multiple Commodities - Smart Forms
Hi Folks,
appreciate any feedback you could give, i'm creating smart forms in 11i for my company based on vendor. were looking to lock down the correct category (not editable) so requestors dont have a choice - reducing backend reclassing to the GL.
however, in some scenarios i need multiple choice as our vendor may provide more than one service. if i create a commodity for 1 vendor with 3 categories in there, i cannot choose the same categories in a different commodity (for a different vendor).
has anyone come accross this, if so how did you manage this? there has to be some workaround... i have faith :-)
thanks in advance for your help.hi,
when the first command get executed, then the control moves into the new page....
but ur second command is in old page, i mean from where u called ur first command... then the control is in one page, and the command is in another page...then how can u get that executed...?
here do one thing, using first command u r calling one page, in that page place this secod command, then after executing that page, u can get the required one using the second command...
hope its clear.
if any doubts, plz revert back. -
Hi Friends,
I am creating Smart form with Print program for sales order data..
While executing the print program.. item data is displaying in the out put but header data is not displaying
Please help me......
Thanks
rohiniHi Venkat,
thanks for you reply.
i have checked all things ........all values are moving to final internal table.
but in that internal table Header level values are not displaying...
thanks
Rohini.
Maybe you are looking for
-
I used to be able to type in where I wanted to go and firefox 4 wont let this happen
as an example: Say I wanted to go to a website of a particular place I would go to the address bar at the top and type in Union Mo Theater and press enter ... It would take me straight to WWW.great8cinema.com now with Firefox 4 it brings up a Google
-
How to pass report column value
I'm trying to implement a AJAX report pull from one of the response on this forum. The report column calls the following javascript function below. The #COL2# values are dotted values like 10.2.3.5.6. The function passes values correctly passed if th
-
Need to buy Apple Care within 60 days of purchase date?
Since when you need to buy Apple Care within 60 days of purchase date? I thought you can do it before the end of one-year limited warranty, no?
-
hi , supposing i use the following code.. <jsp:useBean id="requestInfo" scope="request" class="RequestBean" > <jsp:setProperty name="requestInfo" property="*" /> </jsp:useBean>in the above case do all set methods in requestinfo object get called? s
-
Hi I have Adobe Premiere CS4 and I am trying to import some videos to it and they are in .MXF format. Premiere issues me "codec missing or unavailable" and I don't want to download some sort of converter. Isn't Premiere supposed to support .MXF files