Script SAP - Programma di stampa

Negli script SAP, Print Programviene utilizzato per stampare il modulo effettivo e ottenere i dati dalle tabelle del database, scegliere un modulo e stampare gli elementi di testo in un formato definito. Recupera i dati dal database e li combina con l'input dell'utente, formatta i dati e li stampa.

Tutti i programmi di stampa e i moduli vengono memorizzati nella tabella TNAPR.

Diversi moduli funzionali vengono utilizzati nel programma di stampa. Per avviare un programma di stampa, viene utilizzato il modulo funzionale OPEN_FORM e per terminare il programma viene utilizzato il modulo funzionale CLOSE_FORM.

OPEN_FORM- Nel programma di stampa, questa funzione deve essere chiamata prima di poter eseguire qualsiasi stampa. Si specifica il nome del modulo e la lingua di stampa.

CALL FUNCTION 'OPEN_FORM'

START_FORM - Questa funzione è chiamata per utilizzare moduli diversi con caratteristiche simili in un'unica richiesta.

CALL FUNCTION ’START_FORM’

WRITE_FORM - Questa funzione viene utilizzata per scrivere testo in una finestra nel modulo utilizzando elementi di testo.

CALL FUNCTION ‘WRITE_FORM’

CONTROL_FORM - Questa funzione viene utilizzata per inserire comandi di controllo SAP Script in un programma ABAP.

CALL FUNCTION ‘CONTROL_FORM’

END_FORM - Questa funzione viene chiamata alla fine e non ha parametri di esportazione.

CALL FUNCTION ‘END_FORM’

CLOSE_FORM - Per visualizzare il modulo standard e il programma di stampa standard, eseguire Transaction Code: NACE

Immettere i tipi di applicazione e fare clic sul tipo di output in alto.

Nella schermata seguente, puoi vedere il nome dell'applicazione per il servizio selezionato.

Programma di stampa - Esempio

Di seguito è riportato un programma di stampa di esempio che crea una fattura con informazioni relative alla società come dati del cliente, data, prenotazione del volo, ecc.

Sezione 1 - Acquisizione dei dati dei clienti

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

Sezione 2 - Apri modulo

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

Nel modulo funzione sopra, il parametro -

  • FORM mostra il nome del modulo.

  • DEVICE può essere PRINTER (stampa utilizzando spool), TELEFAX (output fax) o uno SCHERMO (output su schermo)

  • OPTIONS mostra una struttura di tipo ITCPO per controllare i vari attributi - Anteprima di stampa, numero di copie.

Sezione 3 - Stampa intestazione tabella

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 Il modulo funzione mostra il 'elemento di testo' da stampare e 'FINESTRA' mostra quale finestra del modulo deve essere stampato.

  • TYPE mostra l'area di output della finestra come TOP, BOTTOM o BODY.

  • FUNCTION indica che il testo deve essere sostituito, aggiunto o aggiunto.

Sezione 4 - Stampa delle prenotazioni dei clienti

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

Sezione 5 - Chiudi modulo

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

Alla fine chiami questo modulo funzione e non ha parametri di esportazione.