cancel
Showing results for 
Search instead for 
Did you mean: 

Smartform function module name does not exist

Former Member
0 Kudos

Hi,

I made changes to a smartform in development , activated it and transported to QAS.

After importing in QAS, when I try to view the function module in SE37, it says it doesnot exist.

I get the function module name from SMARTFORMS>Environtment>FM.

I know that its different in DEV and QAS.

It was working fine , until I did the last transport.

Has anyone come across such situation?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi

The Smartform generated FM's are system dependent and it will be different in QA, as you are saying all the transports have moved but still smartform is not generated from program....try to generate smartform--go to tcode smartforms from the menu bar under smartforms->generate.

Incase there are any new fonts uploaded which are used in smartform, check whether they are moved properly to QA and try to generate SAPWIN from SE73

Answers (12)

Answers (12)

Former Member
0 Kudos

I was facing a similar issue.

Reactivating smartform using report RFRECPSFTLGEN has fixed my problem.

Original Thread:

Former Member
0 Kudos

Lavanya, Actual answer was given by you, thats why i give you full points. It was that simple solution.

Prashant gaikwad, thanks a lot for the FM, I looked through ur message before lavanyas solution.

it not only gave the corresponding form name, but also regenerated the smartform and hence the corresponding FM got created now.

Venakata Nagabu: It is a complex procedure.

Venkat.O: I tried that, but it dint work as the fm was not generated.

Ramakrina peri,MANJUNATH UDDAR: as mentioned i have already tried that.

Kartik tarla: The entry was existing.

J@Y, nagaswapna, MONIKA DHUMAL : not relevant answer.

Former Member
0 Kudos

hi do like this and once again transport this request to qa


DATA: fm_name TYPE rs38l_fnam.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
      formname = 'ZPPS_BOM1' -- *Give ur form name*
    IMPORTING
      fm_name  = fm_name.

 CALL FUNCTION fm_name "'/1BCDWB/SF00000079'
*  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
     IT_MAST                    = it_mast
*  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.

former_member205763
Active Contributor
0 Kudos

check table STXFADMI

here mappin is present between fomname and fm number chk dis.

if its not prsent means the form may not hv been activated properly

Former Member
0 Kudos

Hi,

Once again try to create the request in the developemnt server and activate the smartforms and transport the same.

Please check once again whether you had any ztables in the printprogram need to be transported.

Regards,

Manjunath

Former Member
0 Kudos

Hi,

Do one thing since you are telling that the object is already transported to Quality so you just create a new request and there activate the smartform, Dictionary objects ( structures) which you have declared in the form interface, Driver program and all the other things which are related to the smartform and then retransport it once again and then check it.

Thanks and Regards,

Venkat.

Former Member
0 Kudos

Hi Kantheri,

The Function module names which are generated are system dependent and they follow a sequence. So, the Function module name available in one system will not be the same in other system. So for this purpose we use a function module called SSF_FUNCTION_MODULE_NAME. We should pass the form name to this function module, then it imports a function module.

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
      FORMNAME           =  'Z_FORM1'
    IMPORTING
      FM_NAME            = FMNAM
    EXCEPTIONS
      NO_FORM            = 1
      NO_FUNCTION_MODULE = 2
      OTHERS             = 3.

Now, Call function <function module name from the path Environment -> Function module name>
After calling in this way, just replace tht name by 'FMNAME'.

Regards,

Swapna.

Former Member
0 Kudos

Hi,

Please re-transport the smartform from deveopement to again the testing server.

Also generate the smartform once it is in the testing server.

Regards,

Ram

Former Member
0 Kudos

Hi,

Please retransport the smartform to the QAS and check.

Moreover, it is a better practice to generate the smartform in the testing server once the transport reaches the testing server.

Regards,

Ram

venkat_o
Active Contributor
0 Kudos

Hi Kantheri, I believe that it is not activated properly. If it has been activated properly, you can view function module of the smartform like this. 1. ->Goto SMARTFORMS transaction code. 2. ->Give your smartform name and Run your smartform by clicking on RUN button. 3. ->It goes to SE37 with smartform name 4. ->Now press on DISPLAY button. If you can see the smartform source code, then smartform is working properly. Thanks Venkat.O

Former Member
0 Kudos

Hi,

Try to check in this way:

Goto SE37 -- > FM SSF_FUNCTION_MODULE_NAME

Execute this FM by passing the Smartform name. You will get the Function Module corresponding to the smartform.

This may be helpfull.

Regards,

Prashant Gaikwad

former_member156446
Active Contributor
0 Kudos

you need to use:


DATA: lf_formname TYPE tdsfname.
DATA: lf_fm_name TYPE rs38l_fnam.

___

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
      formname           = lf_formname  " send forms name
    IMPORTING
      fm_name            = lf_fm_name  "get FM name..


CALL FUNCTION lf_fm_name.  " call that FM like this...