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
In questo tutorial imparerai:
- Schermata di selezione
- Eventi in un programma di report ABAP
- Formattazione del report
- Programmazione di report interattivi
- Database logici
Scopo / utilizzo dei programmi di report
- Vengono utilizzati quando i dati di un certo numero di tabelle devono essere selezionati ed elaborati prima della presentazione
- Utilizzato quando i report richiedono un formato speciale
- Utilizzato quando il report deve essere scaricato da SAP in un foglio Excel per essere distribuito.
- Utilizzato quando il rapporto deve essere spedito a una determinata persona.
Punti importanti da notare sul programma di report
- I programmi report sono sempre programmi eseguibili. Il tipo di programma è sempre 1.
- Ogni programma Report corrisponde a un particolare tipo di applicazione, ovvero con Vendite e distribuzione, FI-CO, ecc. Può anche essere Cross Application, ovvero tipo "*".
- La programmazione dei rapporti è 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 viene utilizzata l'aggiunta Nessuna intestazione di pagina standard .
- La dimensione della riga per un particolare report può essere impostata utilizzando l'aggiunta line-size
. - Il conteggio delle righe per una determinata pagina può essere impostato utilizzando l'aggiunta del conteggio delle righe n (n1) . N è il numero di righe per la pagina e N1 è il numero di righe riservate per il piè di pagina.
- Per visualizzare qualsiasi informazione o messaggio di errore, aggiungiamo una classe di messaggio al programma utilizzando l'aggiunta: Message-id
. Le classi di messaggi vengono mantenute in SE91.
Rapportonessuna intestazione di pagina standardline-size conteggio righe ID messaggio .
Schermata di selezione
"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 è normalmente generata dal file
- Parametri
- Seleziona-Opzioni
Sintassi
Schermata di selezione inizio schermataschermata di selezione inizio blocco <#> con titolo frame …… schermata di selezione fine blocco <#>schermata di selezione fine schermata
Parametri I
parametri aiutano a fare la selezione dinamica. Possono contenere un solo valore per un ciclo di esecuzione del programma.
Sintassi
Definizione dei parametri come tipo di dati
Parametri p_id (30) tipo c.
Definizione di parametri come un campo di tabella.
Parametro p_id come- .
I parametri possono essere caselle di controllo e pulsanti radio.
Parametri p_id as checkbox.Parameters p_id1 radiobutton group.Parametri p_id2 radiobutton group .
I parametri possono essere listbox.
Parametro p_id come- come casella di riepilogo
Opzioni di selezione Un'opzione di
selezione viene utilizzata per immettere un intervallo di valori o un insieme di valori in una
sintassi del programma
select-options s_vbeln per vbak-vbeln.
Puoi anche definire un'opzione di selezione come una variabile
select-options s_vbeln per vbak-vbeln no intervalli no-extension
Eventi in un programma di report ABAP
I programmi di report ABAP sono programmi guidati dagli eventi . I diversi eventi in un programma di report sono:
Load-of-program
- Attiva l'evento associato in una sessione interna dopo aver caricato un programma di tipo 1, M, F o S.
- Inoltre esegue il blocco di elaborazione associato una sola volta e una sola volta per ogni programma e sessione interna.
- Il blocco di elaborazione LOAD-OF-PROGRAM ha all'incirca la stessa funzione per un programma ABAP di tipo 1, M, F o S che ha un costruttore 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 da 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 (alla fine di 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 creazione di report interattivi. Viene utilizzato per creare un elenco dettagliato da un elenco di base.
Formattazione del report
ABAP consente ai report di essere formattati come l'utente desidera che sia. Ad esempio, "Righe alternative" deve essere visualizzato in colori diversi e la riga "Totali" deve essere visualizzata in giallo.
Sintassi
Formato Colore nFormato Colore n Intensificato su
n può corrispondere a vari numeri
Si prega di notare che ci sono anche altre aggiunte oltre al formato
FORMATO COLORE OFF INTENSIFICATO OFF INVERSO 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 su un elenco secondario.
- L'elenco secondario può sovrapporsi completamente alla prima schermata o visualizzarlo in una nuova schermata
- Gli elenchi secondari possono essere essi stessi interattivi.
- Il primo elenco può anche chiamare una transazione.
- Ci sono diversi eventi associati alla programmazione interattiva.
Alcuni comandi utilizzati per la programmazione interattivaHotspotSe si trascina il mouse sui dati visualizzati nel report, il cursore si trasforma in una mano con l'indice disteso. È possibile ottenere un hotspot utilizzando l'istruzione FORMAT.
Sintassi: formato Hotspot On (Off).
NascondiQuesto comando consente di memorizzare i nomi dei campi in base al quale verrà eseguita un'ulteriore elaborazione per ottenere un elenco dettagliato. Viene scritto direttamente dopo l'istruzione WRITE per un campo. Quando viene selezionata una riga, i valori vengono inseriti automaticamente nelle variabili per un ulteriore utilizzo.
Sintassi: Nascondi.
Database logici
- Instead of using "Select" queries you can use logical database to retrieve data for a program.
- Logical databases are created by transaction SE36
- The name of a logical database can be up to 20 characters long. It may begin with a namespace prefix.
- The data is selected by another program and one can access the data using GET
command which places the data in the work area .
Advantages of a logical database over normal Select queries.
- It offers check conditions to see whether the input is correct, complete and plausible
- It contains central authorization checks for database access
- Enhancements such as improvement in performance immediately apply to all reports which use logical database.
Note: Due to the complexities involved, logical databases are not used in most of the cases