Wednesday, May 14, 2008

Important sap Smartforms faqs

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 iHow to Create smartform Outpout as a PDF file and save it n 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
  • An Table Painter and Smartstyles 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 is possible in smartforms

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.

I have a smartform which works fine in DEV. After trasnsporting 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.

How can I make the Smartforms to 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 options is of the type SSFCOMPOP which contains the field TDDEST. Set the TDDEST field to your default printer name.

How can I make the Smartforms to display a print preview by default without displaying the popup for print parameters?

In the SSF_OPEN function module,
Set the OUTPUT OPTIONS paramter 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.

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, 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)&

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

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.

Where can I provide the input parameters to the smartform?

The input parameters for the smartform can be defined in Global Settings->Form Interface.
The Associated Type must be defined in the ABAP Dictionary.

Where can I define my own 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

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.

I have created a table node for display. Where can I check the condition which must satisfy 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.

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.

What is the difference between Template and Table in Smartforms?

The Template contains a fixed number of rows and columns, where the output is fixed.
The Table can have variable number of rows

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

How to add watermark to smartform output?

Go to the properties of 'PAGE', tab 'Background Picture'. Add the grapic image name here.

No comments:

Tutorials on SAP-ABAP

Adobe Interactive Forms Tutorials

Business Server Pages (BSP)

Userexits/BADIs

Web Dynpro for ABAP (Step by step procedure for web dynpro,Tutorials on Web Dynpro,)

ALV Tutorials

goodsites