cancel
Showing results for 
Search instead for 
Did you mean: 

Smartforms have different FM,Program Name in different system

Former Member
0 Kudos

Hi,

I have created few Smartforms in our DEV system & imported to QAS & PRD.

Here I found the Smartform - Function Module, Programs names are different in each system.

Smartform: Z_SD_INV_LETTER_V3

Sys Function Module

DEV /1BCDWB/SF00000006

QAS /1BCDWB/SF00000002

PRD /1BCDWB/SF00000002

On import the changes are reflected correctly in the corresponding Function Module & programs

in each system.

1. I want to know why there is a change in version of the Function Module/Program in each system.

2. How are the changes been applied on importing to each system as the version differs.

Regards

Vincent

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi,

SEARCH SCN with SSF_FUNCTION_MODULE_NAME, you will get lots of code samples.

Always search before posting questions.

Regards

Karthik D

Former Member
0 Kudos

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'

EXPORTING formname = lf_formname

IMPORTING fm_name = lf_fm_name

EXCEPTIONS no_form = 1

no_function_module = 2

OTHERS = 3.

pass ur form name to lf_formname and u will get corresponding FM name in lf_fm_name.

now use this FM to execute the form.

Former Member
0 Kudos

Hi,

When ever u create a smartform the system will automatically create one FM. When u transport the form In quality and production servers the system automatically creates the FM.So we can use SSF_FUNCTION_MODULE_NAME insted of FM number

naimesh_patel
Active Contributor
0 Kudos

Whenever you generate / activate your smartform, it will create a new sequential number. This number is being used to get the FM name of that Smartform. This number is being stored in the table STXFADMI, field FMNUMB.

In your development system, your Smartform FM would have higher number because in development system you may have some test smartforms. When you transport to QA or PROD, system will find the highest number from the table STXFADMI and create a new entry with your Smartform name alongwith the FMNUMB (highest + 1). So, you may have different number for each systems.

Use FM SSF_FUNCTION_MODULE_NAME to get the Smartform FM name based on the Smartform and use this FM to call your smartform.

Moreover, Smartform doesn't retain the version. So, even if you have transported your smartform to other system, you would not be able to see the version of the Smartform FM.

Regards

Naimesh Patel

Former Member
0 Kudos

Hi Guys,

Thanks for your answers...

From my investigation found that few tests smartforms was created in DEV system, which was the cause of the problem. My Smartform present versions across the landscape looks as follows:

Smartform: Z_SD_INV_LETTER_V3

Sys Function Module

DEV /1BCDWB/SF00000006

QAS /1BCDWB/SF00000002

PRD /1BCDWB/SF00000002

In order to maintain all the function module name to be the same across the landscape, is there anything that can be done

in DEV as follows:

Smartform: Z_SD_INV_LETTER_V3

Sys Function Module

DEV /1BCDWB/SF00000002

QAS /1BCDWB/SF00000002

PRD /1BCDWB/SF00000002

Like something I could reset the internal number range for the smartforms & load the smartform again and activate or so...?. Please let me know...

Regards

Vincent

Former Member
0 Kudos

HI,

No it is not possible.

It is also not important.

You will only change in the smartform. NOT in the Function module.

It is not important if the function modulename is X or Y. This name is determined in the printprogram

with function CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'

So do not spend time on it.

If you succeed in get it all to the same name, after a while there will be difference again.

Stop with it. NOT IMPORTANT

Gr., Frank

naimesh_patel
Active Contributor
0 Kudos

You might be able to synchronize the FM Name in the order they created and transported to other system. But, by doing this what would you want to achieve?

We have the FM SSF_FUNCTION_MODULE_NAME to get the FM name from the Smartform name.

Regards,

Naimesh Patel