Sei sulla pagina 1di 21

query.

doc

ABAP Query

28/11/01

ABAP QUERY
Mediante lutilizzo delle ABAP query possibile estrarre dei dati dalle tabelle SAP ed ottenere una lista (come report ABAP) Le query generano un report ABAP. Il percorso per gestire le query : Tools ABAP Workbench Utilities ABAP Query A questo punto si devono eseguire i seguenti step:

Gruppi di utenti

La creazione di un gruppo di utenti il primo passo necessario per potere creare una query. Il gruppo di utenti ha la funzionalit di aggregare degli utenti in modo da indicare quali query un utente potr utilizzare.

Pag.: 1/21

query.doc

ABAP Query

28/11/01

Una volta creato un gruppo di utenti mediante la funzionalit di Attribuire utenti e settori spec. possibile indicare quali utenti fanno parte del gruppo.

Pag.: 2/21

query.doc

ABAP Query

28/11/01

Una volta indicati gli utenti, mediante la funzionalit Attr. Sett. Spec. possibile indicare quali settori specifici questi ultimi sono abilitati ad utilizzare.

Pag.: 3/21

query.doc

ABAP Query

28/11/01

Settori specifici

Il settore specifico la base per poter creare una query. A livello di settore specifico si devono definire le tabelle ed i campi che si vogliono utilizzare e si deve stabilire il loro legame. Un settore specifico pu essere la base per diverse queries.

Pag.: 4/21

query.doc

ABAP Query

28/11/01

Nel momento in cui si crea un settore specifico si deve indicare una descrizione e la fonte dei dati:

La fonte dei dati pu essere: database logico: lestrazione dei dati avviene da pi tabelle, lutilizzo del database logico permette di avere a disposizione tutte le tabelle definite nel database indicato join tabelle: lestrazione dei dati avviene da pi tabelle, lutilizzo delle join permette di utilizzare le tabelle necessarie, indicando le regole di collegamenti fra i record lettura diretta: lestrazione dei dati avviene da una singola tabella approvv dati con il programma dataset sequenziale: i dati vengono estratti da un file seuqnenziale

Pag.: 5/21

query.doc

ABAP Query

28/11/01

Join tabelle

Una volta indicata la tabella principale possibile indicare le altre che si vogliono legare a questultima. Per ogni legame si deve indicare il tipo di join: inner: vengono estratti tutti i record della prima tabella solo se esiste corrispondenza nella seconda left outer: vengono estratti tutti i record della prima tabella anche se non esiste corrispondenza nella seconda right outer: vengono estratti tutti i record della seconda tabella anche se non esiste corrispondenza nella prima (non supportato) Una volta definito il tipo di join si deve stabilire quali campi collegano una tabella allaltra, mediante la funzionalit di Definire condizione possibile indicare tale legame. Il sistema consente la possibilit di creare una proposta di legame fra le 2 tabelle collegando i campi che hanno lo stesso elemento dati:

Pag.: 6/21

query.doc

ABAP Query

28/11/01

Indicando lo stesso valore sulle 2 colonne viene definito il legame fra i 2 campi corrispondenti:

Supponiamo di avere legato la tabella KNA1 (dati generali clienti) e la tabella KNVV (dati di vendita clienti) mediante il campo KUNNR, che si vogliano estrarre i campi KUNNR, NAME1, VKORG, VTWEG e SPART e che tali tabelle abbiano il seguente contenuto: Tabella KNA1 (pricipale) KUNNR NAME1 123 XX 178 YY 345 ZZ Una inner join estrarrebbe: KUNNR NAME1 123 XX 345 ZZ Una left outer join estrarrebbe: KUNNR NAME1 123 XX 178 YY 345 ZZ Una right outer join estrarrebbe: KUNNR NAME1 123 XX 345 ZZ 528 Tabella KNVV (secondaria) KUNNR VKORG 123 0001 345 528 VKORG 0001 0002 VKORG 0001 0002 VKORG 0001 0002 0009 VTWEG 01 02 VTWEG 01 02 VTWEG 01 02 09 0002 0009 SPART 01 02 SPART 01 02 SPART 01 02 09 VTWEG 01 02 09 SPART 01 02 09

Pag.: 7/21

query.doc

ABAP Query

28/11/01

Una volta definite le tabelle ed il loro legame possibile scegliere quali campi includere nel settore specifico. Si deve creare almeno un gruppo specifico; il gruppo specifico ha la funzionalit di raggruppare i campi che si vogliono utilizzare. Quanti gruppi specifici creare una libera scelta: si pu creare un unico gruppo per tutti i campi utilizzati, o diversi gruppi logici (nellesempio potrebbero essere 2: dati generali e dati di vendita):

Pag.: 8/21

query.doc

ABAP Query

28/11/01

Mediante la funzionalit Opzioni possibile creare dei campi supplementari che vengono collegati alla tabella principale e, di conseguenza, visti come campi di tale tabella

Una volta indicato il nome del campo supplementare necessario scrivere una parte di codice ABAP che permetta di valorizzare il campo altrimenti vuoto. Nellesempio la codifica ABAP dovrebbe selezionare la funzione partner WE relativa al cliente dalla tabella KNVP: SELECT SINGLE * FROM KNVP WHERE AND AND AND AND IF SY-SUBRC = 0. DEST_MERCE = KNVP-KUNN2. ENDIF. KUNNR VKORG VTWEG SPART PARVW = = = = = KNA1-KUNNR KNVV-VKORG KNVV-VTWEG KNVV-SPART WE.

La tabella KNVP, non definita nella join, deve essere definita mediante: Passaggio a Codifiche DATA

Pag.: 9/21

query.doc

ABAP Query

28/11/01

Queries

Pag.: 10/21

query.doc

ABAP Query

28/11/01

Selezione dei gruppi specifici (definiti nel settore specifico selezionato) da utilizzare nella query:

Pag.: 11/21

query.doc

ABAP Query

28/11/01

Selezione dei campi (dei gruppi specifici precedentemente selezionati) da impiegare nella query: campi di output e campi di selezione:

Pag.: 12/21

query.doc Impostazione dei campi di selezione della query:

ABAP Query

28/11/01

Pag.: 13/21

query.doc

ABAP Query

28/11/01

Lista di base
Definizione della sequenza dei campi nella lista di output:

Oltre alla sequenza dei campi (Riga e Sequenza) possibile stabilire in base a quali campi ordinare la lista (Cl.), se si vuole impostare un contatore degli elementi estratti (Cont.) e, per i campi numerici, possibile impostare delle totalizzazioni (Tot.). Tenere conto che se si vuole avere la possibilit di esportare la lista di output in EXCEL il layout deve essere impostato su ununica riga.

Pag.: 14/21

query.doc

ABAP Query

28/11/01

Per i campi indicati come campi di ordinamento della lista possibile definire se si vuole la totalizzazione parziale dei campi per cui si impostata la totalizzazione (Tot.), il conteggio parziale degli elementi estratti per i campi per cui si impostato il conteggio. Il flag Tsto permette di impostare unintestazione allinizio di ogni gruppo. Il flag Int. permette di classificare la lista in ordine decrescente. I flag RigaV e N.pag permettono di cambiare pagina o lasciare una riga vuota a rottura di gruppo.

Pag.: 15/21

query.doc

ABAP Query

28/11/01

Nel caso la lista sia stata definita su pi righe possibile condizionare la stampa di una riga solo se ne viene stampata unaltra:

Pag.: 16/21

query.doc

ABAP Query

28/11/01

possibile modificare la lunghezza (il default la lunghezza del campo definita a livello di data dictionary) ed il posizionamento di ogni campo che verr stampato, possibile modificare il colore in cui verr stampato il campo, per i campi numerici, stampare il valore solo se diverso da 0:

Pag.: 17/21

query.doc

ABAP Query

28/11/01

possibile modificare lintestazione standard delle colonne della lista di output (doppio click sulla definizione da modificare):

Pag.: 18/21

query.doc possibile definire dei grafici:

ABAP Query

28/11/01

Pag.: 19/21

query.doc

ABAP Query

28/11/01

Trasporto di queries e settori specifici


Non necessario utilizzare la gestione dei trasporti di SAP: possibile scaricare un file sequenziale dal sistema dove stata creata la query ed importarlo sul sistema di destinazione.

Pag.: 20/21

query.doc

ABAP Query

28/11/01

Database logici
Lutilizzo del database logico VAV in una query consente di avere a disposizione tutte le tabelle definite nel database stesso:

Pag.: 21/21

Potrebbero piacerti anche