cancel
Showing results for 
Search instead for 
Did you mean: 

Assigning SMARTFORMS to output types in SPRO

Former Member
0 Kudos

Hi,

I have created a test smartform and smartstyle, generated a function module, and temporarily put some code in a custom "test" program to ensure it is working, and it does (note calling the compiled version of the smartform function module name, by getting it's name from SSF_FUNCTION_MODULE_NAME) and all executes correctly.

Could anyone tell me however how I assign the smartform to execute from standard SAP via output type configuration in SPRO in SD as an example. Do we still need to specify a print program name and form routine to execute in configuration, just like SAPscript works ? I notice there is a field available for a smartform name, but then how would "whatever standard SAP is calling the smartform" know what parameters to pass into my generated function module for the smartform ? Also, does this have anything to do with the field "layout module" which is directly above the smartform field ?

Here's what I have tried: I entered the custom Z test program I created, entered the form routine name of this program which simply calls directly the function module for the smartform. (Now the smartform field in configuration is redundant) The standard SAP SAPscript print option window appears when I execute my SD transaction, and then the output option window appears which comes standard with the smartform function module call. As the smartform field in configuration is redundant going this method, I think I am going completely on the wrong route. Can someone help ?

Thanks,

Graham.

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi Satish,

Yes we already have this, and it works with the following issue:-

1) The default output controller window for print options which normally appears for SAPscript pops up.

2) The default output controller window for print options which normally appears for SMARTFORM output (looks slightly different to window in 1) appears also.

IMPORTANT: If I take out the name of the SMARTFORM in the "Smartform text box" it makes no difference and still works as above. This is because my driver/print program and subroutine is calling the function module to call the smartform, so it already knows which smartform to execute.

It is like the standard SD configuration is thinking my print program is for a SAPscript which is why I get both 1 and 2 above. Note: the SMARTFORM does output.

Thanks,

Graham.

Former Member
0 Kudos

Hi Graham,

Goto T.Code NACE

Select application & click on output types button on toolbar.

select the output type from the list & double click on processing routines folder in left side pane.

now specify the Medium, in program text box give your driver program name which calls smartform function module, in FORM routine textbox give ETNRY and in Smartform text box give your smartform name & save.

I hope this will help you go ahead.

if this serve your need reward with points.

satish

Former Member
0 Kudos

Hi Ramakrishna,

Thanks for such a quick response.

We have already configured an output type with the functional analyst:-

Layout module "Blank - unsure what this field is"

SmartForm ZSF_TEST_SHIP_BOL (seems redundant, see the original message I posted)

Program ZGCTEST_SHIP_PRINT

FORM routine TEST_PRINT

Form "Blank" - used for SAPscript.

Thanks,

Graham.

venkata_ramisetti
Active Contributor
0 Kudos

Hi Graham,

Thanks for good explanation of your issue.

If want to print a smartform from a SAP transaction (for Example SD module->Sales Order Confirmation from VA02), you need to configure output types for the respective transaction.

Please see the below steps:

1. First findout from the functional consultaant that which output type need to be configured (Let us say RD01)

2. Go to transaction SM30 and give table V_TNAPR and click maintain.

3. Double click on the output type RD01 and here you can specify the smart form name and print program name.

Thanks,

Ramakrishna