ABAP Query Tutorial i SAP: SQ01, SQ02, SQ03

⚡ Smart sammanfattning

ABAP-fråga i SAP skapar rapporter utan ABAP-programmering genom transaktionerna SQ01, SQ02 och SQ03. Den här sidan förklarar de fyra komponenterna, de tre typerna av utdatalistor, en steg-för-steg-fråga i SQ01, skapande av InfoSet i SQ02 och de viktigaste transaktionskoderna.

  • 📝 Kärnsyfte: ABAP Query skapar rapporter som inte levereras med SAP, och den är utformad för användare med liten eller ingen ABAP-kunskap.
  • 🧩 Fyra komponenter: Frågor, infouppsättningar, användargrupper och översättningskomponenten bildar tillsammans SAP Frågemiljö.
  • 🗂️ InfoSet-roll: En infouppsättning är en vy av en datakälla som avgör vilka fält en fråga kan rapportera om, och den tilldelas roller eller användargrupper.
  • 🔐 Användargrupper: En användargrupp styr vilka frågor en användare får köra eller ändra, och en användare kan tillhöra flera grupper.
  • 📊 Tre listtyper: En fråga stöder en grundläggande lista, upp till nio statistikuppgifter och upp till nio rankade listor.
  • 🧭 Viktiga transaktioner: SQ01 hanterar frågor, SQ02 hanterar infouppsättningar och SQ03 hanterar användargrupper.

SAP ABAP-fråga

Vad är en ABAP-fråga?

ABAP Query-applikationen används för att skapa rapporter inte redan finns i SAP system. Den har designats för användare med liten eller ingen kunskap om ABAP-programmering. ABAP Query erbjuder användarna ett brett utbud av sätt att definiera rapporter och skapa olika typer av rapporter såsom grundläggande listor, statistik och rankade listor.

ABAP-frågan består av fyra komponenter:

  1. Frågor
  2. Infoset
  3. Användargrupper
  4. Översättning av Query

Låt oss titta närmare på dem: -

Frågor

Queries-komponenten används av slutanvändare för att underhålla frågor. Man kan skapa frågor, ändra frågor och utföra frågor. Transaktion SQ01

ABAP-frågor

Infoset

InfoSets är speciella vyer av datakällor. En InfoSet beskriver vilka fält i en datakälla som kan rapporteras på i frågor. En InfoSet kan tilldelas flera roller eller användargrupper.

Fördelar-

  • Genom att skapa InfoSets och tilldela dem till roller eller användargrupper, bestämmer systemadministratören intervallet av rapporter som de enskilda applikationsavdelningarna eller slutanvändarna kan generera med hjälp av SAP Fråga.
  • Slutanvändare kan endast arbeta med de InfoSets som är relevanta för deras specifika område, enligt rollen eller användargruppen som de är tilldelade.

ANVÄNDARgrupper

Komponenten Användargrupper används för att underhålla användargrupper (ur säkerhetssynpunkt).

Användare som arbetar i samma applikation tilldelas samma användargrupp. Det spelar ingen roll vem som faktiskt definierade en fråga i en användargrupp. Varje användare som tilldelats användargruppen kan köra frågan.

Användare i en användargrupp måste ha nödvändiga tillstånd innan de kan ändra eller omdefiniera en fråga. Varje användare i ett system kan tilldelas flera användargrupper.

Översättning/QUERY-komponent

Många texter genereras när man definierar frågor, infoset och användargrupper. Dessa texter visas på det språk som vi valde när vi loggar in på SAP system. Vi kan jämföra texten/språken med denna komponent.

Databehandling i Queries

Data kan behandlas och presenteras på tre sätt:-

  1. BASLISTA – Presenterar data i den ordning som definieras av funktionsområdet (stöder sortering och summering).
  2. STATISTISK – Visar de statistiska siffrorna beräknade från grunddata.
  3. RANKAD LISTA – En rankad lista är en specialisering av en statistik. Ex Topp tio kunder på en resebyrå.

En fråga kan ha en grundläggande lista, upp till nio statistikuppgifter och upp till nio rankade listor.

Lista typ Vad det visar Maximalt per fråga
Grundläggande lista Detaljera rader i funktionsområdets ordning, med sortering och totaler One
Statistisk Aggregerade siffror såsom antal, medelvärden och summor Upp till nio
Rankad lista En statistik begränsad till de översta eller nedersta N posterna Upp till nio

Förutsättning: Skapa en infouppsättning i SQ02

En fråga kan bara rapportera om de fält som erbjuds av en InfoSet, så InfoSet byggs först i transaktion SQ02. Stegen nedan skapar en över en logisk databas eller en tabellkoppling.

  1. Öppna SQ02: Ange transaktionen, skriv ett informationssetnamn och välj Skapa.
  2. Välj datakälla: Välj en tabell, en tabellkoppling, en logisk databas eller ett datahämtningsprogram som källa för fälten.
  3. Bygg fältgrupperna: Tilldela källfälten till fältgrupper, eftersom en fråga senare väljer kolumnerna från dessa grupper.
  4. Generera och spara: Generera infouppsättningen så att den blir användbar och spara den sedan.
  5. Tilldela användargruppen: Länka infouppsättningen till en eller flera användargrupper i SQ02 eller SQ03, så att medlemmarna i dessa grupper kan bygga frågor på den.

💡 Tips: Använd en tabellkoppling i InfoSet när rapporten behöver fält från två relaterade tabeller, till exempel försäljningsrubriken VBAK och försäljningsartikeln VBAP. En logisk databas är bättre när data redan har ett standardläsningsprogram.

När en infouppsättning finns och har tilldelats din användargrupp skapas själva frågan i SQ01, som visas nedan.

SKAPA EN FRÅGA

Steg 1) Gå till SQ01. Ge frågan ett namn och klicka på knappen Skapa.

SKAPA EN FRÅGA

Steg 2) Ge beskrivningen av frågan på nästa skärm. Ange utdatalängden och välj bearbetningsalternativet i rutan Ytterligare bearbetningsalternativ. Data kan visas i olika format såsom tabell, nedladdning till en fil och visning i Word etc.

SKAPA EN FRÅGA

Steg 3) Klicka på nästa skärm, välj den fältgrupp som ska användas.

SKAPA EN FRÅGA

Steg 4) Klicka på nästa skärm, välj de fält du vill visa

SKAPA EN FRÅGA

Steg 5. På nästa skärm, välj urvalsfälten och välj sedan en av utdatatyperna ( grundläggande, statistik, rankad ).
I var och en av listorna kan du välja olika alternativ. (t.ex. Sorteringsordning för fält, ändra utdatalängd, kolumnfärg, totalsummor, sidhuvud, sidfot etc.).

SKAPA EN FRÅGA

SKAPA EN FRÅGA

Steg 6) Efter att ha tillhandahållit alla ovanstående alternativ kan du spara frågan och köra den.

SKAPA EN FRÅGA

Obs:

Transaktion för att skapa/underhålla informationsuppsättning –SQ02
Transaktion för att skapa/underhålla användargrupp –SQ03

ABAP-frågetransaktion Codes

De tre kärntransaktionerna motsvarar de tre huvudkomponenterna, och några extra koder täcker de globala och standardfrågeområdena.

transaktion Syfte
SQ01 Skapa, ändra och kör frågor
SQ02 Skapa och underhålla infouppsättningar och fältgrupper
SQ03 Skapa och underhåll användargrupper och deras tilldelningar
SQVI QuickViewer, en fråga för en enda användare som inte behöver någon användargrupp
SQ07 Underhåll språket och översättningen av frågeobjekt

⚠️ Varning: Frågeobjekt tillhör antingen standardområdet, som är klientspecifikt, eller det globala området, som är över flera klienter och kan transporteras. Välj det globala området för objekt som måste flyttas genom transportlandskapet, eftersom standardområdesobjekt stannar kvar i en klient.

Vanliga frågor

En infomängd definierar vilka fält som är tillgängliga genom att beskriva datakällan och dess fältgrupper. En fråga väljer fält från den infomängden och formaterar dem till en lista. Infomängden är källan, frågan är rapporten.

SQVI är ett verktyg för en enda användare som inte behöver någon infouppsättning eller användargrupp, så det passar för en snabb personlig lista. SQ01 används när rapporten måste delas, transporteras eller återanvändas mellan en användargrupp.

Ja. Alternativen för vidare bearbetning erbjuder nedladdning av kalkylblad, nedladdning av filer och visning i Word. En ALV-utdata från frågan kan också exporteras till Excel direkt från listmenyn.

AI-assistenter föreslår tabellerna som ska kopplas, fältgrupperna och urvalsfälten från en enkel beskrivning av rapporten. InfoSet och frågan genereras och aktiveras fortfarande av användaren i SQ02 och SQ01.

Nej. ABAP Query förblir ett styrt, auktoriseringsmedvetet rapporteringsverktyg inuti SAPAI lägger till ett lager med naturligt språk ovanpå, vilket låter användare ställa frågor om frågeutdata, men frågan definierar och säkrar fortfarande informationen.

Sammanfatta detta inlägg med: