SAP Scripts - Print Program

In SAP Scripts, Print Program is used to print the actual form and get the data from database tables, choosing a form and print the text elements in a defined format. It retrieves the data from the database and combines it with the user input, formats the data and prints it.
All print programs and forms are stored in table TNAPR.
Different functional modules are used in Print Program. To start a print program, OPEN_FORM functional module is used, and to end the program CLOSE_FORM functional module is used.
OPEN_FORM − In Print Program, this function should be called first before any printing can take place. You specify the name of the form and the print language.
CALL FUNCTION 'OPEN_FORM' 

START_FORM − This function is called to use different forms with similar characteristics in a single request.
CALL FUNCTION ’START_FORM’

WRITE_FORM − This function is used to write text in a window in the form using text elements.
CALL FUNCTION ‘WRITE_FORM’

CONTROL_FORM − This function is used to insert SAP Script control commands in an ABAP program.
CALL FUNCTION ‘CONTROL_FORM’

END_FORM − This function is called in the end and it has no exporting parameters.
CALL FUNCTION ‘END_FORM’ 

CLOSE_FORM − To view the standard form and the standard Print program, run Transaction Code: NACE
Enter Application Types and click the Output Type at the top.
In the following screenshot, you can see the Application name for the selected service.
Following is a sample print program that creates an invoice with company-related information such as customer data, date, flight booking, etc.
TABLES: zcustom, zbook, zpfli.  
DATA: bookings like zbook... 
select * from... 
/In this section, you are reading the data from tables in database./ 
CALL FUNCTION 'OPEN_FORM'  
EXPORTING  
DEVICE     = 'PRINTER'  
FORM       = 'EXAMPLE1'  
DIALOG     = 'X'  
OPTIONS    = 
EXCEPTIONS  
CANCELLED  = 1 
DEVICE     = 2 
FORM       = 3 
OTHERS     = 11 
/In this section, you are calling OPEN_FORM function module to initialize print output./
In the above function module, the parameter −
FORM shows the name of the form.
FORM shows the name of the form.
DEVICE can be PRINTER (print using spool), TELEFAX (fax output) or a SCREEN (output to screen)
DEVICE can be PRINTER (print using spool), TELEFAX (fax output) or a SCREEN (output to screen)
OPTIONS shows a structure of type ITCPO to control the various attributes - Print preview, number of copies.
OPTIONS shows a structure of type ITCPO to control the various attributes - Print preview, number of copies.
CALL FUNCTION 'WRITE_FORM' 
EXPORTING 
ELEMENT  = 'textelement’  
TYPE     = 'TOP' 
WINDOW   = 'MAIN' 
FUNCTION = 'SET' 
... 
/In this section, you use WRITE_FORM function to output general text elements and column 
heading/
ELEMENT function module shows the ‘textelement’ to be printed and ‘WINDOW’ shows which window of the form to be printed.
ELEMENT function module shows the ‘textelement’ to be printed and ‘WINDOW’ shows which window of the form to be printed.
TYPE shows the output area of the window like- TOP, BOTTOM, or BODY.
TYPE shows the output area of the window like- TOP, BOTTOM, or BODY.
FUNCTION tells the text to be replaced, added or appended.
FUNCTION tells the text to be replaced, added or appended.
LOOP AT bookings WHERE  
CALL FUNCTION 'WRITE_FORM'  
EXPORTING  
ELEMENT  = 'BOOKING'  
TYPE     = 'BODY'  
WINDOW   = 'MAIN'  
...  
ENDLOOP  
/In this section, text element BOOKING is used to output the bookings of a customer from
the loop from BOOKING table in database./
CALL FUNCTION 'CLOSE_FORM'  
IMPORTING 
* RESULT    = 
EXCEPTIONS 
UNOPENED    = 1 
OTHERS      = 5 
/To end the Print Program/ 
You call this function module in the end and it has no exporting parameter.

    25 Lectures 
     6 hours 

 Sanjo Thomas

    26 Lectures 
     2 hours 

 Neha Gupta

    30 Lectures 
     2.5 hours 

 Sumit Agarwal

    30 Lectures 
     4 hours 

 Sumit Agarwal

    14 Lectures 
     1.5 hours 

 Neha Malik

    13 Lectures 
     1.5 hours 

 Neha Malik
 Print
 Add Notes
 Bookmark this page