Scripts SAP - Programa de impresión

En SAP Scripts, Print Programse utiliza para imprimir el formulario actual y obtener los datos de las tablas de la base de datos, elegir un formulario e imprimir los elementos de texto en un formato definido. Recupera los datos de la base de datos y los combina con la entrada del usuario, formatea los datos y los imprime.

Todos los programas y formularios de impresión se almacenan en la tabla TNAPR.

En el programa de impresión se utilizan diferentes módulos funcionales. Para iniciar un programa de impresión se utiliza el módulo funcional OPEN_FORM y para finalizar el programa se utiliza el módulo funcional CLOSE_FORM.

OPEN_FORM- En el programa de impresión, esta función debe llamarse primero antes de que se pueda realizar cualquier impresión. Usted especifica el nombre del formulario y el idioma de impresión.

CALL FUNCTION 'OPEN_FORM'

START_FORM - Esta función está llamada a utilizar diferentes formularios con características similares en una sola solicitud.

CALL FUNCTION ’START_FORM’

WRITE_FORM - Esta función se utiliza para escribir texto en una ventana en el formulario utilizando elementos de texto.

CALL FUNCTION ‘WRITE_FORM’

CONTROL_FORM - Esta función se utiliza para insertar comandos de control de SAP Script en un programa ABAP.

CALL FUNCTION ‘CONTROL_FORM’

END_FORM - Esta función se llama al final y no tiene parámetros de exportación.

CALL FUNCTION ‘END_FORM’

CLOSE_FORM - Para ver el formulario estándar y el programa de impresión estándar, ejecute Transaction Code: NACE

Ingrese Tipos de aplicación y haga clic en Tipo de salida en la parte superior.

En la siguiente captura de pantalla, puede ver el nombre de la aplicación para el servicio seleccionado.

Programa de impresión - Ejemplo

A continuación se muestra un programa de impresión de muestra que crea una factura con información relacionada con la empresa, como datos del cliente, fecha, reserva de vuelo, etc.

Sección 1: obtener datos del cliente

TABLES: zcustom, zbook, zpfli.  
DATA: bookings like zbook... 
select * from... 
/In this section, you are reading the data from tables in database./

Sección 2 - Forma abierta

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./

En el módulo de función anterior, el parámetro -

  • FORM muestra el nombre del formulario.

  • DEVICE puede ser IMPRESORA (impresión en carrete), TELEFAX (salida de fax) o una PANTALLA (salida a pantalla)

  • OPTIONS muestra una estructura de tipo ITCPO para controlar los distintos atributos - Vista previa de impresión, número de copias.

Sección 3 - Imprimir encabezado de tabla

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 El módulo de función muestra el 'elemento de texto' que se imprimirá y 'VENTANA' muestra qué ventana del formulario se imprimirá.

  • TYPE muestra el área de salida de la ventana como TOP, BOTTOM o BODY.

  • FUNCTION le dice al texto que se debe reemplazar, agregar o agregar.

Sección 4 - Imprimir reservas de clientes

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./

Sección 5 - Cerrar formulario

CALL FUNCTION 'CLOSE_FORM'  
IMPORTING 
* RESULT    = 
EXCEPTIONS 
UNOPENED    = 1 
OTHERS      = 5 
/To end the Print Program/

Llamas a este módulo de función al final y no tiene ningún parámetro de exportación.