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

difference between script & smartform

Former Member
0 Kudos

Can anybody tell me around 7 points difference between script & smartform? Rather than script is client dependent & smartform is client independent.( plz give me some strong & good points)

Thanks In advance.


Former Member
0 Kudos

can any 1 tell me if i am in secondary 15th list & i wanna go to 5th list. Can i go directly ? If Yes then how? We can create pushbuttons on Application tool bar but it has restriction , we can produce 5 Pushbutton only. How can we jump from some list to another plz tell me.

Former Member
0 Kudos


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.

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

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.



Former Member
0 Kudos


Few more difference

1. in smart form Multiple page format is possible

for ex in the invoice header details will be portrait and line item details will be landscape.

this feature is not in sapscript.

2. client independent.

this smartform available all the clients, but sap script is client dependent.

3. Table painter and template is used to design the form layout easily, no need to write commands box like in sapscript

4. function module will be generated dynamically in the smartform once you done the activation, single FM integrate app. program into smart form

5. main window is optional in smartform ( without main window we can design the smartform )

6 and the form logic represented in hierarchical structure , which is represented node by node.

7. for web publishing the system provided generated xml output of the processed form

In smartforms u can have only one main window where as in case of scripts u can have more number of mainwindows



0 Kudos

Just adding to my previous reply

There are subtle but important distinctions.

1) Saving a Smart Form is a step done only in the development client. It commits your form changes and marks its status as inactive. A form should not be transported in this inactive state. When you are making a lot of changes to a form, it may be a good idea to save periodically. This is especially true if you are on an earlier support pack where an ABAP dump can occur sporadically during activation; in this case, all changes since your last save will be lost. Saving is quick since it does not generate any ABAP code.

2) Activating a Smart Form is a step done only in the development client. It switches your form's status from inactive to, well, active. Activation also saves your form and generates an ABAP function module, so it can take a while to complete. (Note: One way to speed up activation is to omit graphics until your form is close to completion.)

3) Generating a Smart Form can be done anywhere. It regenerates the ABAP function module tied to the form based on the latest contents of the form. This ABAP code is what your print program calls when producing output, rather than the form itself. Technically speaking, your print program doesn't even look at the form itself! Generation should be done on an active form. If this code generation does not take place, no ABAP will exist and you won't be able to produce any output. Typically, a one-time generation occurs automatically behind the scenes when you first attempt to produce output in a target system.



Active Contributor
0 Kudos

Hi Pravin,

Here is the Difference between the SmartForms and SAPScript.

1. The main difference is that, the flow (viz., when, which windows/text elements are to be printed) in SAPscripts is controlled by the driver program, but in Smart Forms, the flow logic is entirely incorporated in the form itself. The driver program retrieves data from Database and sends it at one go to the Smart Form through a function module (which is generated when a Smart Form is activated). So, calling a smart form from a driver program boils down to calling a function module. Database tables can be accessed from the form also.

2. Also, ABAP code can be written in Smart Forms; basically they can be used as though they are function modules, in defining local variables, subroutines, etc. Thus, Smart Forms can be run by just executing the concerning function module, without being called from a driver program (thus, they can be of stand-alone type). But writing DB selection codes in a form should be avoided as, it increases over-head, especially in the case of batch printing.

3. There are some more minor differences like, instead of standard texts, text modules can be used in Smart Forms. Also, graphic object can be included directly in smart forms. These graphic objects can be maintained through the transaction, SE78. Address can be printed by just using the corresponding address number (if the central Address system is being maintained), and the format of it is automatically taken care of, based on the value given for country field.

4. The system variables, which were available in SAPscripts aren't in Smart Forms. Different set of system variables is used. (for printing date, page no., etc).

5. Any field inside a smart form accepts variables, instead of just hard-coded values. For example, the name of the text module to be used, name of the graphic to be printed, etc can be determined dynamically during run-time.

6 Boxes and frames can be incorporated by just clicking at few check-boxes.

7 Use of 'tabs', those ubiquitous pair of commas is almost redundant in Smart Forms, as the same functionality can be better achieved by using line types inside a template or a table node.

&*********Reward Point if helpful***************&