Application Development 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: 

OPEN_FORM and START_FORM

Former Member
0 Kudos

Hi..

What is the exact difference between the FM-->OPEN_FORM and START_FORM?

Thank You

7 REPLIES 7

Former Member
0 Kudos

OPEN_FORM: This form opens the script. The module OPEN_FORM opens layout set printing.

WRITE_FORM: This form is used to write the content mentioned in the windows of the SAP Script.

START_FORM: This form is dynamically call a page in the script. The layout set can be changed in the current print procedure with START_FORM. This may also be used to trigger a new-spool id.

END_FORM: This form is used to close the current layout set.

CLOSE_FORM: This form close the current SAP script form.

You can have any number for WRITE_FORM, START_FORM and END_FORM, but for a script you can have only one OPEN_FORM and CLOSE_FORM.

0 Kudos

hi,

<b>OPEN_FORM:</b> This function module <b>opens layout set printing</b>. One must call this function module before he uses any of other layout set function modules like Write_Form, Start_Form, Control_Form etc., You need specify a layout set name in the export parameters of this function module. If nothing is passed to Open_Form then one should <b>use Start_Form function module to open layout set before starting the output</b>. The layout set opened by Open_Form should be closed by Close_Form function module, other wise output doesn’t appear. We can use any number of Open_Form, Close_Form functions in one single program. But Close_Form must be there for every Open_Form in the program.

<b>Start_Form:</b> In-between the function modules OPEN_FORM and CLOSE_FORM, we can use different layout sets. This <b>allows us to combine several different layout sets into one print output</b>. However, we can combine only those layout sets that have the same page format. To switch layout sets, use the function module START_FORM. If another layout set is still open, we must close it first using END_FORM. If we specify no layout set name when calling START_FORM, the system restarts the last open layout set. If after OPEN_FORM no layout set was activated yet, the system leaves the function module with the exception UNUSED.

Regards,

Richa

Former Member
0 Kudos

Hi

- OPEN_FORM open the dialog to choose the print parameter, create a new spool and open the form;

- START_FORM open only a new form: it can be the same form or another one, anyway all document will be printed in the same spool.

So START_FORM is usually use to print several documents and create a new print (but in the same spool) for every document or manage a print based on several forms.

So the flow is:

OPEN_FORM

START_FORM

END_FORM

CLOSE_FORM.

OPEN_FORM/CLOSE_FORM are obligatory, START_FORM/END_FORM are used only if it needs them.

Max

Former Member
0 Kudos

To output SAPscript forms, in the print program you must always start the output with OPEN_FORM and end it with CLOSE_FORM. The function module OPEN_FORM initializes the SAPscript composer and opens the specified form for subsequent output. The system combines all output for this form up to the CLOSE_FORM to one print request. If CLOSE_FORM is missing, nothing will be printed. To output data in a form, you must use the SAPscript function modules WRITE_FORM, WRITE_FORM_LINES, and CONTROL_FORM. You can use these function modules any number of times in any order between opening and closing a form.

For each printout of a form, you must use the pair of function modules OPEN_FORM and CLOSE_FORM. You can also use a print program to print several forms, which you can either maintain in separate spool requests or combine into one. In the latter case, you must use the function modules START_FORM and END_FORM

Former Member
0 Kudos

hi

good

OPEN_FORM->

To initialize the printing of forms via the Raw Data Interface, use function modules (OPEN_FORM und CLOSE_FORM) and a flag in the form (administration data). For this purpose, the function modules include the additional optional import parameter RAW_DATA_INTERFACE.

http://help.sap.com/saphelp_nw04s/helpdata/en/d2/cb3d8e455611d189710000e8322d00/content.htm

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.

If you specify no form name when calling START_FORM, the system restarts the last open form. If after OPEN_FORM no form was activated yet, the system leaves the function module with the exception UNUSED.

http://help.sap.com/saphelp_nw04s/helpdata/en/d6/0dba34494511d182b70000e829fbfe/frameset.htm

THANKS

MRUTYUN^

Former Member
0 Kudos

To be exact,

Open_form starts ur form,that is from the print program open form triggers control to that particular form mentioned.

Start_form it triggers the starting page of the form u have mentioned.

Regards

Former Member
0 Kudos

Hi subhash,

1. Normally, START_FORM

is not required.

(OPEN_FORM Is compulary in all cases)

2. Its only required,

when we want to different sapscript layouts,

to get merged,

and come in one output.

3. For this purpose,

we use START_FORM,

to START layout 1,

then START Layout 2.

regards,

amit m.