cancel
Showing results for 
Search instead for 
Did you mean: 

SAP Script Layout Set

Former Member
0 Kudos

Hi,

Let me know how to use different layout set for a single driver program.

Sharad

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

it is possible to assign multiple layout sets for single driver program but the output type should be the same.

I mean, the functionality of all the layout sets should be the same then only possible to assign a single driver program(without modification or add extra statements using subroutine program). You need to discuss with your functional people to get the related information and in the transaction NACE you can do it manually.

award points useful.

Former Member
0 Kudos

Hi chandra,

I have to define two layouts for a single output type ( ZQ01) , The requirement is that user wants to display the print document in two different formats(layout sets),using the same output type and single driver program .

where we'll put the condition so that user can you any one of layout for anyone customers as per user's requirement .

Regards ,

sharad

Former Member
0 Kudos

Hi

in print program, we declare TABLES which are used for extracting data in declaration part.

you write the SELECT statement for extracting data before calling the script function modules....

these are the function modules which are freequently used in print program.

OPEN_FORM

The function module OPEN_FORM opens form printing. You must call this function module before you can use any other form function (WRITE_FORM, START_FORM, CONTROL_FORM...).

You need not specify a form name. If you omit the name, you must use the function module START_FORM to open a form before starting the output.

You must end form printing by using the function module CLOSE_FORM. Otherwise, the system does not print or display anything.

Within a program, you can use several OPEN_FORM.. CLOSE_FORM pairs. This allows you to write output to several different spool requests from within one program.

syntax:

CALL FUNCTION 'OPEN_FORM'

EXPORTING

FORM = ' ' " specifies the form name

LANGUAGE = SY-LANGU

DEVICE = 'PRINTER'

CLOSE_FORM

The function module closes the form opened using OPEN_FORM. The system executes any terminating processing steps for the last opened form.

You must use this function module to close form printing. Otherwise, no output appears on printer or screen.

CALL FUNCTION 'CLOSE_FORM'.

there is no mandatory parameters to this function module.

START_FORM

In-between the function modules OPEN_FORM and CLOSE_FORM, you can use different forms. This allows you to combine several different forms into one print output. However, you can combine only those forms that have the same page format.

To switch forms, use the function module START_FORM. If another form is still open, you must close it first using END_FORM.

CALL FUNCTION 'START_FORM'

EXPORTING

FORM = < > "specifies the form name

LANGUAGE = < > "specifies the language

STARTPAGE = ' ' "specifies the page name which you

" want print

END_FORM

END_FORM ends the currently open form and executes the required termination processing. After calling this function module, no more form is active. For further output, you must start a new form using START_FORM.

CALL FUNCTION 'END_FORM'.

WRITE_FORM

The system outputs the form element specified in parameter ELEMENT into the currently opened form.

In the parameter WINDOW you can specify the name of a window for the output. Remember that the form element must be defined in this window.

CALL FUNCTION 'WRITE_FORM'

EXPORTING

ELEMENT = < > "specifies the element name

WINDOW = < > " name of the window

TYPE = 'BODY' "specifies the output location

CONTROL_FORM

Use CONTROL_FORM to pass SAPscript control statements to the form.

CALL FUNCTION 'CONTROL_FORM'

EXPORTING

COMMAND = < > "specifies the name of the control command

follow this sequence.

OPEN_FORM.

START_FORM.

WRITE_FORM.

END_FORM.

CLOSE_FORM.

Reward all helpfull answers

Regards

Pavan

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi Sharad,

I think this is what you are looking for:

In the output type definition (Trx NACE - Output Types) you define the most common Program and (Smart)Form that is used.

E.g. output type ZQ01 connects to program RLB_INVOICE and SmartForm ZLB_BIL_INVOICE.

Then you can set up condition records for a numerous options, for example the document type. In this condition record, you select a document type and press the button Communication.. In this page, you can set a different SapScript of SmartForm to overrule the settings you made in the output type. The Print Program wil stay the same.

e.g. For document type IV (InterCompany), you can set SmartForm ZLB_BIL_INVOICE_INTERCOMP.

In this way, you won't have to use a Z-program, and you can use the same print program with different layout forms.

Please award points if this helps.

With kind regards,

Dave Verkoelen

former_member196280
Active Contributor
0 Kudos

You can call any number of forms in driver program, but before you call a new form be sure you close the old one.

Ex.

Function modules,

OPEN_FORM "1st form

CLOSE_FORM "Close of 1st form

OPEN_FORM "2st form

CLOSE_FORM "Close of 2st form

-


-


Reward points if useful.

Regards,

Sairam

Former Member
0 Kudos

Hi

Welcome to SDN

You have to use the different OPEN_FORMs and to each Open_form you have to pass one Layout name each and to use.

if it is a Zcustom Program you design 2 to 3 layouts and call like this and see

<b>Reward points for useful Answers</b>

Regards

Anji

Former Member
0 Kudos

Hi,

After completion of the development of driver program and layout sets we need to inform to the functional consultants. They will assign that driver program and layout sets basing on output types through NACE transaction.

Syn:- <output type > <driverprogram> <layoutset>

Ex:- ZL04 zvaddn zlayout

ZL01 zvaddn zlayout1

ZL02 zvaddn zlayout2

Reward points!!

Thanks & Regards,

Vasudeva Rao