Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Smartforms - difference in auto-generated FM name in different systems

Former Member
0 Likes
766

Hi,

The situation is:

I have created a smartform in our Dev application server and tested it to achieve the view I needed. The Dev system generates FM with automatic name /1BCDWB/SF00000005. I have successfuly transported it to our test system and checked with data. After some short time I found an error in smartform and made a fix in a Dev. system. When trying to test it I found that the system modifies the FM name to /1BCDWB/SF00000006. This leads to modification in my source code, from where I call this FM with actual parameters (not test).

The problem occures when I transported both the smartform and report from where I call it to the test system again. I obtained a shortdump with message like:

'...FM /1BCDWB/SF00000006 does not exist...'

After short investigation I have found, that in our Test system this smartform still generates *** and corresponds to *** the FM with name /1BCDWB/SF00000005.

Next, I'm unable to transport FuGr /1BCDWB/SF00000006 from Dev. to Test because it does not have Dev.Class assosiated and asks for Licence Key (furthermore, I'm not sure this should be done in this way).

Now in our Dev system FM named /1BCDWB/SF00000005 corresponds to another smartform (made by me more than year ago).

And, what is pitty, If I try to release a transport with report which calls FM named /1BCDWB/SF00000005 from Dev, I have about 17 extended program errors (during extended program check) saying that 'there is no such FM'...

For me this is missing of some consistency. What should I do to get consistency between our systems back? (means to have corresponding smartform relation to the same FM name in all the systems)

Any help whould be highly appreciated.

Many thanks in advance.

Regards,

Ivaylo Mutafchiev

SAP BC Consumtant

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
581

Hi Ivaylo

Smartforms Name are system dependant !

They are dynamically generated.

You have to use :

data : function_name type rs38l_fnam.

call function 'SSF_FUNCTION_MODULE_NAME'

exporting

formname = 'ZFORM_NAME' "Smartform name

direct_call = 'X'

importing

fm_name = function_name

exceptions

no_form = 1

no_function_module = 2

others = 3.

if sy-subrc <> 0.

  • erreur.

endif.

and then, you call your smartform with :

call function function_name

exporting

  • ARCHIVE_INDEX =

  • ARCHIVE_INDEX_TAB =

  • ARCHIVE_PARAMETERS =

control_parameters = st_ssfctrlop

  • MAIL_APPL_OBJ =

  • MAIL_RECIPIENT =

  • MAIL_SENDER =

output_options = st_ssfcompop

user_settings = ' '

....

Good luck,

Regards,

Erwan.

Message was edited by: Erwan LE BRUN

2 REPLIES 2
Read only

Former Member
0 Likes
582

Hi Ivaylo

Smartforms Name are system dependant !

They are dynamically generated.

You have to use :

data : function_name type rs38l_fnam.

call function 'SSF_FUNCTION_MODULE_NAME'

exporting

formname = 'ZFORM_NAME' "Smartform name

direct_call = 'X'

importing

fm_name = function_name

exceptions

no_form = 1

no_function_module = 2

others = 3.

if sy-subrc <> 0.

  • erreur.

endif.

and then, you call your smartform with :

call function function_name

exporting

  • ARCHIVE_INDEX =

  • ARCHIVE_INDEX_TAB =

  • ARCHIVE_PARAMETERS =

control_parameters = st_ssfctrlop

  • MAIL_APPL_OBJ =

  • MAIL_RECIPIENT =

  • MAIL_SENDER =

output_options = st_ssfcompop

user_settings = ' '

....

Good luck,

Regards,

Erwan.

Message was edited by: Erwan LE BRUN

Read only

0 Likes
581

Thanks a lot.

What a shame - how can I forgot such a basic rule? And even forgot to check my earlier code where I have implemented smartform call...

Perhaps a year or so is too much to remember for me...

Thanks again.

Regards,

Ivaylo