Definizione di Query ABAP
Le Query Abap sono utilizzate per creare report non predefiniti, e possono essere usate
da utenti con poca o nessuna conoscenza del linguaggio di programmazione ABAP
SAP.
L'intero
processo comprende tre fasi:
1. Creazione di User Group
2. Creazione di Infoset
3. Creazione di Query
AREA STANDARD: Consente la creazione di oggetti dipendenti dal CLIENT e che devono essere esportati in un trasporto e poi importati in ogni CLIENT richiesto.
AREA STANDARD: Consente la creazione di oggetti indipendentemente dal CLIENT. Essi vengono trasportati attraverso il processo normale di trasporto. Un trasporto è richiesto al salvataggio di un oggetto.
Per poter scegliere una delle 2 tipologie di aree, andare in una delle 3 transazioni, SQ01, SQ02 o SQ03 e selezionare dal menu Environment-> Query areas. Successivamente verrà visualizzata una Pop-up in cui si potrà scegliere una delle 2 aree.
La
definizione tecnica di "Gruppi di utenti" è una raccolta di utenti
SAP che sono raggruppati insieme. L'assegnazione di un utente a un gruppo di utenti determina quale Query può eseguire o manutenere.
- Richiamare la transazione SQ03.
- Inserire il nome dello USER GROUP che si deve creare, ad esempio ZUSER, e premere il pulsante CREATE.
- Inserire la descrizione di questo USER GROUP.
- Eventulamente, specificare gli utenti SAP (ID) che devono far parte del gruppo creato. Per fare ciò, selezionare il pulsante Assign User and Infosets.
2. CREAZIONE INFOSET
Un InfoSet descrive quali campi delle tabelle possono essere riportati nelle query.
Successivamente alla creazione dell'Infoset, lo si deve associare allo USER GROUP creato in precedenza.
- Richiamare la transazione SQ02.
- Inserire il nome dell' INFOSET che si deve creare, ad esempio ZMYINFOSET, e premere il pulsante CREATE.
- Inserire la descrizione del INFOSET, ad esempio Test For Infoset.
- Scegliere la tabella su cui fare le query, ad esempio CRMD_ORDERADM_H (che metteremo in join con la CRMD_ORDERADM_I) e premere il pulsante OK.
- Premere il pulsante Insert Table, per inserire la seconda tabella CRMD_ORDERADM_I, e collegare i campi da mettere in join tra le 2 tabelle.
- In questo esempio, collegheremo il campo GUID della tabella CRMD_ORDERADM_H con il campo HEADER della tabella CRMD_ORDERADM_I, e poi premiamo il pulsante in alto INFOSET
- Dopo aver premuto il pulsante in alto INFOSET, si apre una popup chiedendo quali campi devono essere selezionati. In questo esempio selezionamo l'opzione Create Empty Field Group e premere Ok.
- Nel riquadro di destra, verranno creati 2 Field Group vuoti in cui inseriremo i campi che troviamo nel riquadro a sinistra, contenente i campi delle 2 tabelle messe in join.
- Trascinare
i campi che vogliamo inserire nella query, dal pannello di sinistra nei 2 Field Group.
-
Successivamente, è necessario generare il InfoSet selezionando il pulsante Generate dalla barra degli strumenti dell'applicazione. Viene visualizzato un messaggio nella barra di stato dicendo che il InfoSet ZMYINFOSET generato.Ritornare alla schermata principale di SQ02 cliccando sul pulsante BACK della Tool Bar. Premere il pulsante Role/User Group Assignment per assegnare l’Infoset ad uno specifico User Group, nel nostro caso ZUSER, e premere il pulsante SALVA.
- Richiamare la transazione SQ01.
- Inserire il nome della QUERY che si deve creare, ad esempio ZTEST_QUERY, e premere il pulsante CREATE.
- Viene visualizzato un elenco di Infoset assegnati al gruppo di utenti (ZUSER). Selezionare ZMYINFOSET e fare clic su Ok.
- Nella prima schermata di creazione di query, digitare il titolo (obbligatorio) ad esempio TEST FOR QUERY , note e specificare il numero di righe da visualizzare in una pagina. Premere il pulsante SALVA e poi il pulsante NEXT SCREEN, per passare alla schermata successiva.
- Selezionare i Field Group che devono essere usati nella nostra query, poi premere l pulsante NEXT SCREEN, per passare alla schermata successiva.
- Selezionare l'elenco dei campi richiesti nella query, poi premere il pulsante NEXT SCREEN, per passare alla schermata successiva.
- Determinare quale di questi campi devono essere utilizzati nella schermata di selezione e specificare la sequenza di apparire nella schermata di selezione, poi premere il pulsante Basic List, per passare alla schermata successiva.
- Premere il pulsante SALVA.
- Ritornare nella schermata principale della transazione SQ01: selezionare dal menu Query->More functions->Adjust e poi selezionare dal menu Query->More functions->Generate Program.
I passi da seguire per creare un Trasport Request sono i seguenti:
- Richiamare la transazione SQ02.
- Selezionare l'Infoset da trasportare, ad esempio ZSOLMAN_PZF.
- Dal menu selzionare Environment->Transports.
- Settare i parametri come nell'immagine
- Premere F8, e verrà chiesto di creare il TR.
Successivamente, quando la TR viene rilasciata e trasportata, nell'ambiente di destinazione, eseguire le stesse operazioni precedenti, ma questa volta selezionare l'opzione IMPORT:
- Richiamare la transazione SQ02.
- Selezionare l'Infoset da trasportare, ad esempio ZSOLMAN_PZF.
- Dal menu selzionare Environment->Transports.
- Settare i parametri come nell'immagine
- E ricordarsi di inserire nel campo DATASET WITH IMPORTS, il numero della TR
- Richiamare la transazione SE93 ed inserire il nome della transazione, nella pop-up successiva selezionare il check "Parameter Transaction".
- Nella schermata successiva inserire tutti i valori come nella schermata successiva tranne per il nome della query e dello user group (Inserire la propria query e il proprio user group)
Non esiste un modo per
fare il controllo versioni dell’infoset, però esiste un programma
che scarica
in un file tutti gli oggetti dell’infoset. Si effettua la stessa operazioni
negli altri
ambienti, e poi si confronta i file scaricati nei vari ambienti.
Il programma è RSAQSHSG,
eseguirlo inserendo il nome dell’Infoset e il parametro A
L'output del report, lo esportate in un file in formato html
EBOOK: le mie guide sono visualizzabili cliccando sui link:
1. SAP EWM (Extended Warehouse Management)
3. SAP VIM (Vendor Invoice Management)
1. SAP EWM (Extended Warehouse Management)
3. SAP VIM (Vendor Invoice Management)
SE MI CONTATTATE IN PRIVATO, PAGATE LA META' DEL PREZZO DI AMAZON, E POTETE SCEGLIERE IL FORMATO WORD o PDF.
>>> RECENSIONI DEI LIBRI su Amazon Kindle <<<
Ebook: SAP CDS: https://www.amazon.it/dp/B0B9BD1RN3#customerReviews
Ebook: SAP MM: https://www.amazon.it/dp/B0C3MKD9BR#customerReviews
Ebook: SAP MII: https://www.amazon.it/dp/B0C4392MY9#customerReviews
Ebook: SAP VIM: https://www.amazon.it/dp/B0C6FBK8QN#customerReviews
Ebook: SAP MM: https://www.amazon.it/dp/B0C3MKD9BR#customerReviews
Ebook: SAP MII: https://www.amazon.it/dp/B0C4392MY9#customerReviews
Ebook: SAP VIM: https://www.amazon.it/dp/B0C6FBK8QN#customerReviews
Ebook: SAP EWM: https://www.amazon.it/dp/B0CL6TXP1V#customerReviews
Ottima guida! Grazie mille.
RispondiEliminaMolto utile, grazie!
RispondiEliminaVorrei eseguire un join fra i campi SRGBTBREL-INSTID_B e SOOD-OBJNO, però il secondo contiene solo una parte del primo campo, gli ultimi 12 caratteri.
RispondiEliminaPer esempio:
SRGBTBREL-INSTID_B 'FOL44000000000004RAW46000015109115'
SOOD-OBJNO '000015109115'
Come è possibile fare questo parse sul join in SQ02?
salve
RispondiEliminaè possibile eliminare un infoset ?
Salve,
Eliminasi può eliminare l'infoset dalla transazione SQ02. C'è il pulsante elimina.