cancel
Showing results for 
Search instead for 
Did you mean: 

Smart Forms Doubt Very Very URgent

Former Member
0 Kudos

Hello Guys,

I am Created One Smart Forms. In the Driver Program I am Calling the Smart Forms like a Function Module.

The Name of function Module I have given from the smart forms itself.

The same is working fine in Quality Server, but After Transporting the in prod Server it's giving dump.

Please help very urgent.

Regards

Swati....

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Dont hard code the function module name. Instead call the function module SSF_FUNCTION_MODULE_NAME with the Smart form name and it will return the dynamic function module name. Use this function module name to call the smart form function module.

Please mark points if the solution was useful.

Regards,

Manoj

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Swathi

dont call fm that is released by smartform....

call ssf_function_module_name.here pass smartform name then it will give function module name in to one variable name that is released by smartform and call this variable.

reward points to all helpful answers

kiran.M

Former Member
0 Kudos

Hi ,

create a variable fname of type rs38l_fnam .

In ssf_function_module name assign form name to fname .

then make to call to this function module that

call function fname .

And .

Chek whether u have transported all the structures and style if created along with the smartform .

Regards .

Former Member
0 Kudos

Hi,

While you activate the Smartform then it will generate a Function module, if any Hardware or a Software component changes then the Function module might changes accordingly, so it is depends in the System configuration, so the same thing occurs in your case.

We have a function module given by sap to aviod this type of problems, you need to use 'SSF_FUNCTION_MODULE_NAME'

Here is the sample code

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
*                     <a href="http://sapr3.tripod.com" TARGET="test_blank">http://sapr3.tripod.com</a>
*

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