SAP ABAP Smartforms Interview FAQ
Q) Define Smart form?
Form Printing in the Internet Age
Smart Forms was initially presented in SAP Basis Release 4.6C primarily as a tool for the creation and maintenance of forms within the SAP solutions, for instance within mySAP Healthcare, mySAP SRM, mySAP CRM, and mySAP SCM and these are being used already by many customers. These Smart Forms offer an easy-to-use graphical user interface that enables the users to perform critical tasks of creating and adjusting forms without the need for any programming skills.
Q) What is the T-code for Smartform?
SMARTFORMS is the t-code to create a new smartform
Q) What are the key benefits or advantages of Smart forms?
Some of the key benefits of Smart forms have been listed below:
- Smart Forms allows the overall implementation cost of SAP solutions to be reduced as the forms can be adjusted in minimum time.
- The Form Builder along with integrated graphical user interfaces meant for designing pages, table design, and text, provides support to the entire process of designing the form thus leading to the creation of the form logic. To add further, the Form Builder also offers a tree structure meant for navigating through your form description and helps in determining the main processing order. Besides these, other functions such as copy-and-paste and drag-and-drop are also included.
- The Smart Forms generates a function module that condenses the content, layout, as well as form logic by utilizing the form description which is maintained in the Form Builder. Thus avoiding the need to group function modules for the printing of forms.
- Besides the tool itself, SAP also enables the generation of a set of forms meant for central business processes, which even includes forms in Financial Accounting (FI), SAP Customer Relationship Management (CRM), and Human Resources (HR), the SAP R/3 Sales and Distribution (SD), and application components.
Q) How can we build Web forms using Smart Forms?
- Smart Forms can generate HTML based on XML output, with the help of the SAP Web Application Server 6.10. This permits the integration of interactive Web Forms in Web applications.
- The layout of a Web Form is a look-alike of the printed version. Printed forms that are already used in a business process are promptly recognized.
- By turning a switch the existing Smart Forms used for printing can also be reused for Web applications. Without showing them in your printed version, you can add HTML input elements to your Smart Form.
- For evaluating the user entries on a Web Form, these are required to be integrated into some kind of Web application infrastructure. SAP suggests you utilize Business Server Pages for doing this.
Q) In which situation do you prefer & in which Situation do you prefer IDoc?
IDOC is used when a data container is used to exchange information between any two processes that can understand the syntax and semantics of the data.
Q) Which Basis Release do I need to use SAP Smart Forms?
As of R/3 Basis Release 4.6C, SAP Smart Forms is available. It cannot be used in Basis Releases before 4.6C as it uses SAP kernel technologies and these do not exist in previous releases. In case you deploy the appropriate kernel in a, for instance, 4.6B system it's impossible to use Smart Forms as the tools were still under development around that time.
Q) Have heard that Smart Forms replaces SAPscript. What does the term "replace" mean?
Replace does not mean that the SAPscript has been removed from the Basis shipment. Even as of Basis Release 4.6C, SAPscript remains a part of the SAP standard and as of now, there are no plans to remove it. Few transactions of SAPscript are reprocessed by SAP Smart Forms (for instance in the graphical or font maintenance).
Since Smart Forms is presently the tool for form maintenance for mySAP.com solutions, we will focus on Smart Forms, and not on SAPscript (of course, we will continue to support the existing functionality of SAPscript for the maintenance contracts.) The term "replace" mirrors the hope that you will like Smart Forms as quite a few customers already do and use it instead of SAPscript.
Q) Is it still possible to use SAPscript instead of SAP Smart Forms?
Yes, we encourage our users to begin using SAP Smart Forms, especially the new forms however both products can be used parallely.
Q) Where can the user get documentation on Smart Forms?
In case you are already working with Basis Release 4.6C or higher, you need to simply call transaction SMARTFORMS and select the menu Help->Application Help, and proceed directly to the Smart Forms online documentation in the SAP Library. This documentation can also be accessed in the SAP Help Portal. You need to call the online documentation for your release by using the left navigation frame and open the SAP Library. The SAP Smart Forms online documentation can be initiated by selecting:
- Basis components (as of SAP Web AS 6.10: SAP Web Application Server)
- Basis Services / Communication Interfaces (BC-SRV)
- SAP Smart Forms (BC-SRV-SSF)
Q) Where can the user get documentation on Web Forms?
The Smart Forms online documentation as of SAP Web Application Server 6.10, can be found in the section Web Forms for Internet Application.
Q) Is there are any books on Smart Forms?
Yes, you can easily buy a German book on Smart Forms at Galileo Press. You can find out more information about this book.
Q) Does SAP offer Smart Forms training?
Yes, the training ID and title are BC470 - Form Printing Using SAP Smart Forms. For more details, you can see our Online Training Event Catalog.
Q) If there is a possibility to migrate a SAPscript form to a Smart Form?
Smart Forms offers a migration tool specifically for this purpose which migrates the layout and texts of a SAPscript form to a Smart Form. It does not migrate SAPscript form logic of the print program. This logic is described by the tree structure of the Form Builder Using Smart Forms. The effort involved in migrating solely depends on the complication of the print program. You can also refer to the section Migrating SAPscript forms of the Smart Forms online documentation.
Q) Do we have to migrate all SAPscript forms to Smart Forms?
It is pointless migrating all SAPscript forms that are already in use as the SAPscript can still be used and will be available in the future. In case you plan to migrate a SAPscript form, then it is suggested that you check whether the benefit is worth the effort involved.
Q) Can I know if there are already standard smart forms for my application? In case not, then what can do?
SAP Document 430621 provides an overview of the existing standard smart forms that are delivered by SAP Applications. Besides this, SAP Labs also offers preconfigured Smart Forms which are specifically for US customers. SAP Document 412293 also provides a procedure in case your application has not delivered a standard smart form.
Q) Define XSF.
SAPscript presents a Raw Data Interface (BC-RDI) which permits the usage of 3rd party printing tools, which is meant for passing form content (without layout information) from R/3 to an external product. Smart Forms also provides a data stream called XML for Smart Forms (XSF) only for this purpose. As RDI, XSF does not comprise any layout information about a Smart Form.
You have the opportunity of becoming a certified partner for the XSF interface (BC-XSF), with the SAP Partner Program. You can refer to the SAP Integration Scenarios / Interfaces for more information about all certifiable SAP interfaces. For details about BC-XSF choose mySAP Technology: Background Processing and Output Management.
Upon using an XSLT program Smart Forms XSF output is also the precondition generating HTML by This program utilizes the layout information from your form (for instance pages, used fonts, and window sizes) and the given XML tags of XSF for generating HTML.
Q) What are the differences between SAP Scripts and Smartforms?
- SAP Scripts are client dependent whereas Smartforms are client independent.
- SAP Scripts require a driver program to display the output whereas in smartforms the form routines can be written so that it is standalone.
- An integrated Form Builder helps to design Smartforms more easily than SAP Scripts
- A Table Painter and Smart styles to assist in building up the smartforms
- On activation, a function module is generated for Smartforms
- It is possible to create a Smartform without a main window
- Smartforms generates XML output which can be viewed through the web
- Multiple page formats are possible in smartforms
Q) How can I insert symbols in Smartforms?
Select the Text node.
Change Editor (Click the button above Check near the Editor)
Go to menu Include->Characters->SAP Symbols
Choose the SAP symbol that you want to insert.
Q) I have a smartform that works fine in DEV. After transporting it to PROD, there is no Function module generated for this smartform. As a result, my program dumps in PROD?
The Smartform that is created in the Development may not have the same name in the Production server. So it is always advised to use the Function Module SSF_FUNCTION_MODULE_NAME to get the Function Module name by passing the Smartform name.
DATA: fm_name TYPE rs38l_fnam.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZSMARTFORM'
IMPORTING
fm_name = fm_name
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CALL FUNCTION fm_name
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.
Q) How can I make the Smartforms choose a printer name by default?
In the CALL FUNCTION of the Smartform Function Module, set the output options parameter to set the printer name.
The output option is of the type SSFCOMPOP which contains the field TDDEST. Set the TDDEST field to your default printer name.
Q) How can I make the Smartforms display a print preview by default without displaying the popup for print parameters?
In the SSF_OPEN function module,
Set the OUTPUT OPTIONS parameter TDDEST to your printer name.
Set the CONTROL PARAMETERS and control parameters as shown below:
control-preview = 'X'.
control-no_open = 'X'.
control-no_close = 'X'.
control-no_dialog = 'X'.
control-device = 'PRINTER'.
control_parameters-no_dialog = 'X'.
control_parameters-no_open = 'X'.
control_parameters-no_close = 'X'.
OUTPUT_OPTIONS-TDDEST = 'PRINTER NAME'.
OUTPUT_OPTIONS-TDNOPRINT = 'X'.
CALL FUNCTION 'SSF_OPEN'
EXPORTING
output_options = output_options
control_parameters = control
user_settings = ' '
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.
Q) How can I display the total number of pages in Smartforms?
- Use SFSY-FORMPAGES to display the total number of pages in the Smartforms
- SFSY-PAGE& Current page number
- SFSY-FORMPAGE& Total number of pages in the currently formatted layout set
- SFSY-JOBPAGE& Total number of pages in the currently formatted print request
- SFSY-COPYCOUNT& Original-1,1st copy-2
- SFSY-DATE& Date
- SFSY-TIME& Time
- SFSY-USERNAME& Username
I'm using the variable SFSY-FORMPAGES, and I get a star "*" instead of the total number of pages.
There may not be enough space in the window to display the variable, either increase the window dimensions or condense the spaces using &SFSY-FORMPAGES(C)&
Q) What are the various text formatting options in Smartforms?
- symbol(Z)& Omit Leading Zeros
- symbol(S)& Omit Leading Sign
- symbol(<)& Display Leading Sign to the Left
- symbol(>)& Display Leading Sign to the Right
- symbol(C)& Compress Spaces
- symbol(.N)& Display upto N decimal places
- symbol(T)& Omit thousands separator
- symbol(R)& Right justified
- symbol(I)& Suppress output of the initial value
Q) How can I provide a background shading to the table?
In the Table Painter, you can specify the color and shading for the table lines.
Q) Where can I provide the input parameters to the smart form?
- The input parameters for the smartform can be defined in Global Settings->Form Interface.
- The Associated Type must be defined in the ABAP Dictionary.
Q) Where can I define my global types for the smartform?
- The global types(within the smartform) can be defined in Global Settings->Global Definitions->Types
- The types defined here will be global through the entire smartform.
- Also, the form routines can be defined Global Settings->Global Definitions->Form Routines
Q) I have defined my own Program Lines, where I have used a global variable G_TEXT. I get an error G_TEXT is not defined?
Whenever using the global variables in the Program Lines, enter the variable name in Input Parameters if you are going to use(read) the variable. If you are going to both read/write the variable value enter the same in Output Parameters.
Q) I have created a table node for display. Where can I check the condition that must be satisfied to display the table?
The conditions can be defined in the Conditions tab. In smartforms, all the nodes have a condition tab where you can specify the condition to be satisfied to access the node.
Q) How can I define Page Protect in Smartforms?
To define Page Protect for a node go to the Output options and check the Page Protection checkbox.
Q) What is the difference between a Template and a Table in Smartforms?
- The Template contains a fixed number of rows and columns, where the output is fixed.
- The Table can have a variable number of rows
Q) Where can I define the paragraph and character format for the smartforms?
The paragraph and character format for the smartforms can be defined in the transaction SMARTSTYLES
Q) How to add a watermark to smartform output?
Go to the properties of 'PAGE', tab 'Background Picture'. Add the graphic image name here.
Q) What is a SmartStyle in SmartForms?
In smartform a smartstyle is a formatting template that is used to define the appearance and layout of a form. It includes attributes and visual elements like fonts, color palettes, paragraph arrangements, borders, and background effects. SmartStyles helps users to create consistent formatting across multiple forms.
Q) How do you debug SmartForms?
Debugging SmartForms in SAP ABAP involves working with the linked function module.
The process involves:
- Testing the SmartForm to identify function module.
- Setting breakpoints
- Executing the program to call the SmartForm,
Once a breakpoint is hit, the debugging process starts.
Q) What are the types output options available in SmartForms?
SmartForms offer various output options:
- Print: This is the most common option, allowing you to directly print the form to a physical printer.
- Fax: You can configure SmartForms to send the generated form as a fax to a designated recipient.
- Email: The form can be sent as an email attachment, with options to specify the recipient, subject line, and email body content.
- XML/HTML Format: SmartForms can generate the form content in XML (XSF or XDF) or HTML format.
Q) How can we convert smart forms output to PDF?
You can download smart form in PDF format using the following steps:
- First print the smart form to the spool
- Now note the spool number where you have printed the smartform.
- Next download a PDF file (Acrobat Reader) version of the spool by executing RSTXPDFT4
Q) How to Insert Logo Into Smartform?
Please follow the steps below to insert the logo into Smartform
- Execute t-code SE78.
- Next, choose the desired graphic
- Now goto GRAPHIC --> IMPORT.
- Enter the name of the graph and the description.
- 4 Choose the type of the image