Tutto sulla programmazione dei report ABAP
SAP-ABAP supporta due tipi di programmi: programmi di report e programmi di dialogo. I programmi di report vengono utilizzati quando è necessario visualizzare grandi quantità di dati
Scopo/Utilizzo dei programmi di report
- Vengono utilizzati quando i dati di una serie di tabelle devono essere selezionati ed elaborati prima della presentazione
- Utilizzato quando i report richiedono un formato speciale
- Utilizzato quando è necessario scaricare il report da SAP in un foglio Excel da distribuire.
- Utilizzato quando il rapporto deve essere inviato per posta a una persona specifica.
Punti importanti da notare sul programma Report
- I programmi di report sono sempre programmi eseguibili. Il tipo di programma è sempre 1.
- Ogni programma di report corrisponde a un particolare tipo di applicazione, ovvero con vendite e distribuzione, FI – CO ecc. Può anche essere applicazione incrociata, ovvero di tipo '*'.
- La programmazione dei report è una programmazione guidata dagli eventi.
- La prima riga di un programma di report è sempre Report .
- Per sopprimere l'intestazione dell'elenco o il nome del programma l'aggiunta Nessuna intestazione di pagina standard viene utilizzato.
- La dimensione della riga per un particolare report può essere impostata utilizzando l'addizione dimensione della linea .
- Il conteggio delle righe per una pagina particolare può essere impostato utilizzando l'addizione conteggio righe n(n1). N è il numero di righe per la pagina e N1 è il numero di righe riservate al piè di pagina.
- Per visualizzare qualsiasi informazione o messaggio di errore aggiungiamo una classe messaggio al programma utilizzando l'aggiunta: ID messaggio . Le classi di messaggi vengono mantenute in SE91.
Pertanto un programma di report ideale dovrebbe iniziare con:
Report <report name> no standard page heading line-size <size> line-count <n(n1)> message-id <message class>.
Schermata di selezione
La “schermata di selezione” è la schermata in cui si specificano i valori di input per i quali il programma deve essere eseguito.
La schermata di selezione viene normalmente generata dal file
- parametri
- Seleziona-Opzioni
Sintassi
Selection-screen begin of screen <screen #> selection-screen begin of block <#> with frame title <text> ......... ......... selection-screen end of block <#> selection-screen end of screen <screen #>
parametri
I parametri aiutano a fare una selezione dinamica. Possono ospitare un solo valore per un ciclo di esecuzione del programma.
Sintassi
Definizione dei parametri come tipo di dati
Parameters p_id(30) type c.
Definizione di parametri come un campo di tabella.
Parameter p_id like <table name>-<field name>.
I parametri possono essere sia caselle di controllo che pulsanti di scelta.
Parameters p_id as checkbox.Parameters p_id1 radiobutton group <group name>. Parameters p_id2 radiobutton group <group name>.
I parametri possono essere elenchi a discesa.
Parameter p_id like <table name>-<field name> as listbox
selezionare Opzioni
Un'opzione di selezione viene utilizzata per inserire un intervallo di valori o un insieme di valori in un programma
Sintassi
select-options s_vbeln for vbak-vbeln.
Puoi anche definire un'opzione di selezione come una variabile
select-options s_vbeln for vbak-vbeln no intervals no-extension
Eventi in un programma di report ABAP
I programmi di report ABAP lo sono programmi guidati da eventi. I diversi eventi in un programma di report sono:
Caricamento del programma
- Attiva l'evento associato in una sessione interna dopo aver caricato un programma di tipo 1, M, F o S.
- Esegue inoltre il blocco di elaborazione associato una volta e una sola volta per ciascun programma e sessione interna.
- Il blocco di elaborazione LOAD-OF-PROGRAM ha più o meno la stessa funzione per an Programma ABAP di tipo 1, M, F o S come costruttore ha per le classi negli oggetti ABAP
Inizializzazione.
- Questo evento viene eseguito prima che venga visualizzata la schermata di selezione.
- Inizializzazione di tutti i valori.
- È possibile assegnare valori diversi rispetto a quelli predefiniti nella schermata di selezione.
- È possibile riempire la schermata di selezione con alcuni valori in fase di esecuzione.
Nella schermata di selezione.
- L'evento viene elaborato quando la schermata di selezione è stata elaborata (al termine del PAI).
- La convalida e i controlli dei valori immessi avvengono qui
Inizio selezione.
- Qui il programma inizia a selezionare i valori dalle tabelle.
Fine della selezione.
- Dopo che tutti i dati sono stati selezionati, questo evento scrive i dati sullo schermo.
Eventi interattivi
- Utilizzato per la reportistica interattiva. Viene utilizzato per creare un elenco dettagliato da un elenco di base.
Formattazione del rapporto
ABAP consente di formattare i report nel modo desiderato dall'utente. Ad esempio, le "Linee alternative" devono apparire in colori diversi e la linea "Totali" deve apparire in giallo.
Sintassi
Format Color n Format Color n Intensified On
n possono corrispondere a vari numeri
Tieni presente che ci sono anche altre aggiunte insieme al formato
FORMAT COLOR OFF INTENSIFIED OFF INVERSE OFF HOTSPOT OFF INPUT OFF
Programmazione di report interattivi
- Utilizzando la programmazione interattiva gli utenti possono controllare attivamente il recupero e la visualizzazione dei dati
- Utilizzato per creare un elenco dettagliato da un elenco molto semplice
- I dati dettagliati sono scritti in un elenco secondario.
- L'elenco secondario può sovrapporsi completamente alla prima schermata oppure visualizzarlo in una nuova schermata
- Gli elenchi secondari possono essere essi stessi interattivi.
- Il primo elenco può anche richiamare una transazione.
- Esistono diversi eventi associati alla programmazione interattiva.
Alcuni comandi utilizzati per la programmazione interattiva
hotspot
Se si trascina il mouse sui dati visualizzati nel report, il cursore si trasforma in una mano con l'indice teso. È possibile ottenere un hotspot utilizzando l'istruzione FORMAT.
Syntax: Format Hotspot On (Off).
Nascondi
Questo comando ti aiuta a memorizzare i nomi dei campi in base ai quali verranno eseguiti ulteriori elaborazioni per ottenere un elenco dettagliato. Viene scritto direttamente dopo l'istruzione WRITE per un campo. Quando viene selezionata una riga, i valori vengono automaticamente inseriti nelle variabili per un ulteriore utilizzo.
Syntax: Hide <field-name>.
Database logici
- Invece di utilizzare le query "Seleziona" è possibile utilizzare il database logico per recuperare i dati per un programma.
- I database logici vengono creati tramite transazione SE36
- Il nome di un database logico può contenere fino a 20 caratteri. Può iniziare con un prefisso dello spazio dei nomi.
- I dati vengono selezionati da un altro programma e si può accedere ai dati utilizzando GET comando che inserisce i dati nell'area di lavoro .
Vantaggi di un database logico rispetto alle normali query di selezione.
- Offre condizioni di controllo per vedere se l'input è corretto, completo e plausibile
- Contiene controlli di autorizzazione centralizzati per l'accesso al database
- Miglioramenti come il miglioramento delle prestazioni si applicano immediatamente a tutti i report che utilizzano il database logico.
Nota: a causa delle complessità coinvolte, i database logici non vengono utilizzati nella maggior parte dei casi