SAP Programiranje ABAP izvješća

⚡ Pametni sažetak

ABAP programiranje izvješća gradi izvršne programe koji odabiru, obrađuju i prikazuju velike količine SAP podaci. Ova stranica objašnjava dodavanje zaglavlja izvješća, zaslon za odabir, slijed događaja, naredbe za oblikovanje, interaktivne popise i logičke baze podataka.

  • 📊 Osnovna svrha: Program za izvješća čita podatke iz nekoliko tablica, obrađuje ih i prikazuje kao popis koji se može formatirati, preuzeti ili poslati poštom.
  • 🧾 Vrsta programa: Svako izvješće je izvršni program tipa 1, vezan za područje primjene i u potpunosti vođen događajima.
  • 🏁 Dodaci zaglavlju: NEMA STANDARDNOG NASLOVA STRANICE, LINE-VELIČINA, LINE-COUNT i MESSAGE-ID pripadaju prvoj REPORT naredbi.
  • ⌨️ Zaslon za odabir: PARAMETRI prihvaćaju jednu vrijednost, a SELECT-OPTIONS prihvaća raspon ili skup vrijednosti.
  • 🇧🇷 Slijed događaja: UČITAVANJE PROGRAMA, INICIJALIZACIJA, NA EKRANU ZA ​​ODABIR, POČETAK ODABIR i KRAJ ODABIR izvode se fiksnim redoslijedom.
  • 🖱️ Interaktivni popisi: HIDE pohranjuje vrijednosti polja odabranog retka, a HOTSPOT pretvara polje popisa u element na koji se može kliknuti za sekundarni popis.
  • 🗄️ Logičke baze podataka: Izrađeni u SE36, zamjenjuju SELECT naredbe GET događajem i dodaju centralne provjere autorizacije.

SAP Programiranje ABAP izvješća

Što je ABAP programiranje izvješća?

SAP-ABAP podržava dvije vrste programa – programe za izvješća i programe za dijalog. Programi za izvješća koriste se kada je potrebno prikazati velike količine podataka.

Svrha/Korištenje programa za izvješća

  • Koriste se kada se podaci iz više tablica moraju odabrati i obraditi prije prikazivanja.
  • Koristi se kada izvješća zahtijevaju poseban format
  • Koristi se kada se izvješće mora preuzeti s SAP na Excel list koji će se distribuirati.
  • Koristi se kada se izvješće mora poslati određenoj osobi.

Važne napomene o programu izvješća

  • Programi izvješća uvijek su izvršni programi. Vrsta programa je uvijek 1.
  • Svaki program izvješća odgovara određenoj vrsti aplikacije, tj. ili s prodajom i distribucijom, FI – CO itd. Također može biti više aplikacija, tj. tip '*'.
  • Programiranje izvješća je programiranje vođeno događajima.
  • Prvi redak programa za izvješćivanje uvijek je Izvještaj .
  • Za uklanjanje naslova popisa ili naziva programa dodajte dodatak Nema standardnog naslova stranice koristi se.
  • Veličina retka za određeni izvještaj može se postaviti pomoću dodatka line-size .
  • Broj redaka za određenu stranicu može se podesiti pomoću zbrajanja broj linija n(n1). N je broj redaka za stranicu, a N1 je broj redaka rezerviran za podnožje stranice.
  • Za prikaz bilo koje informacije ili poruke o pogrešci dodajemo klasu poruka u program koristeći dodatak: ID poruke . Klase poruka održavaju se u SE91.

Stoga bi idealan program izvješća trebao započeti s:

Report <report name> no standard page heading

line-size <size>

line-count <n(n1)>

message-id <message class>.

Program izvješća u odnosu na program dijaloga

Obje vrste programa rade u istom sustavu, ali rješavaju suprotne probleme. Izvješće čita i prikazuje podatke, dok dijaloški program omogućuje korisniku da ih održava putem ekrana.

Kriteriji Program izvješća Program dijaloga
Vrsta programa Tip 1, izvršna datoteka Tip M, bazen modula
Započeo od Naziv programa ili kod transakcije Samo kod transakcije
Kontrola protoka Događaji kao što su INICIJALIZACIJA i POČETAK SELEKCIJE Logika protoka zaslona s PBO i PAI modulima
Unos korisnika Generirani zaslon za odabir Zasloni dizajnirani u Zaslonu Painter
Tipična upotreba Prikaz i preuzimanje velikih količina podataka Izrada i promjena poslovnih podataka

Zaslon za odabir je mjesto gdje izvješće prikuplja svoje unose, pa je opisan u nastavku.

Zaslon za odabir

„Zaslon za odabir“ je zaslon na kojem se određuju ulazne vrijednosti za koje bi se program trebao pokrenuti.

Zaslon za odabir obično se generira iz

  1. Parametri
  2. Odaberite-Opcije

Sintaksa

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

Parametri pomažu u dinamičkom odabiru. Oni mogu primiti samo jednu vrijednost za jedan ciklus izvođenja programa.

Sintaksa

Definiranje parametara kao tipa podataka

Parameters p_id(30) type c.

Definiranje parametara poput polja tablice.

Parameter p_id like <table name>-<field name>.

Parametri mogu biti potvrdni okviri kao i radiobuttoni.

Parameters p_id as checkbox.Parameters p_id1 radiobutton group <group name>.
Parameters p_id2  radiobutton group <group name>.

Parametri mogu biti okvir s popisom.

Parameter p_id like <table name>-<field name> as listbox

Odaberite Opcije

Opcija odabira koristi se za unos raspona vrijednosti ili skupa vrijednosti u program

Sintaksa

select-options s_vbeln for vbak-vbeln.

Zaslon za odabir

Snimka zaslona prikazuje polja za unos niske i visoke vrijednosti koja generira opcija odabira, zajedno s gumbom za višestruki odabir.

Također možete definirati opciju odabira kao varijablu

select-options s_vbeln for vbak-vbeln no intervals no-extension

Nakon što se prikupe ulazni podaci, program reagira na fiksni slijed događaja.

Događaji u programu ABAP izvješća

Programi ABAP izvješća su programi vođeni događajima. Različiti događaji u programu izvješća su:

Učitavanje programa

  • Pokreće pridruženi događaj u internoj sesiji nakon učitavanja programa tipa 1, M, F ili S.
  • Također pokreće pridruženi blok obrade jednom i samo jednom za svaki program i internu sesiju.
  • Blok obrade LOAD-OF-PROGRAM ima otprilike istu funkciju za an ABAP program tipa 1, M, F ili S kao konstruktor ima za klase u ABAP objektima

Inicijalizacija.

  • Ovaj događaj se izvršava prije nego što se prikaže zaslon za odabir.
  • Inicijalizacija svih vrijednosti.
  • Možete dodijeliti različite vrijednosti osim zadanih vrijednosti na zaslonu za odabir.
  • Zaslon za odabir možete ispuniti nekim vrijednostima tijekom izvođenja.

Na zaslonu za odabir.

  • Događaj se obrađuje kada se obradi zaslon za odabir (na kraju PAI-a).
  • Validacija i provjere unesenih vrijednosti odvijaju se ovdje

Početak odabira.

  • Ovdje program počinje birati vrijednosti iz tablica.

Kraj odabira.

  • Nakon što su svi podaci odabrani, ovaj događaj ispisuje podatke na ekran.

Interaktivni događaji

  • Koristi se za interaktivno izvješćivanje. Koristi se za izradu detaljnog popisa iz osnovnog popisa.

💡 Savjet: Izjave napisane bez ključne riječi događaja prema zadanim postavkama pripadaju START-OF-SELECTION, zbog čega se izvješće i dalje izvršava kada događaj nedostaje.

Primjer: Jednostavan ABAP program za izvještavanje

Program u nastavku spaja dodavanja, zaslon za odabir i događaje u jedno radno izvješće. Čita zaglavlja prodajnih naloga iz VBAK-a za brojeve unesene na zaslonu za odabir i zapisuje ih kao popis.

REPORT z_sales_order_list NO STANDARD PAGE HEADING
                          LINE-SIZE 80
                          LINE-COUNT 65(3)
                          MESSAGE-ID zsd.

TABLES: vbak.

DATA: lt_vbak TYPE STANDARD TABLE OF vbak,
      ls_vbak TYPE vbak.

* Selection screen
SELECT-OPTIONS: s_vbeln FOR vbak-vbeln.
PARAMETERS: p_erdat LIKE vbak-erdat.

INITIALIZATION.
  p_erdat = sy-datum.

AT SELECTION-SCREEN.
  IF p_erdat > sy-datum.
    MESSAGE e001(zsd).          " Date must not lie in the future
  ENDIF.

START-OF-SELECTION.
  SELECT * FROM vbak
    INTO TABLE lt_vbak
    WHERE vbeln IN s_vbeln
      AND erdat LE p_erdat.

END-OF-SELECTION.
  LOOP AT lt_vbak INTO ls_vbak.
    WRITE: / ls_vbak-vbeln, ls_vbak-erdat, ls_vbak-netwr.
    HIDE ls_vbak-vbeln.
  ENDLOOP.

Vrijedno je napomenuti tri detalja. INICIJALIZACIJA ispunjava parametar datuma prije nego što se pojavi zaslon za odabir. AT SELECTION-SCREEN potvrđuje unos i podiže poruku iz klase ZSD. HIDE pohranjuje redoslijedni broj svakog zapisanog retka, tako da dvostruki klik može iz njega izgraditi sekundarni popis, što je tema sljedećeg odjeljka.

Oblikovanje izvješća

ABAP omogućuje formatiranje izvješća kako to korisnik želi. Na primjer, "Zamjenski redovi" moraju se pojaviti u različitim bojama, a redak "Ukupno" treba se pojaviti u žutoj boji.

Sintaksa

Format Color n

Format Color n Intensified On

n može odgovarati različitim brojevima

Imajte na umu da uz format postoje i drugi dodaci

FORMAT COLOR OFF INTENSIFIED OFF INVERSE OFF HOTSPOT OFF INPUT OFF

Interaktivno programiranje izvješća

  • Korištenjem interaktivnog programiranja korisnici mogu aktivno kontrolirati dohvaćanje podataka i prikaz podataka
  • Koristi se za stvaranje detaljnog popisa iz vrlo osnovnog popisa
  • Detaljni podaci zapisani su na sekundarnom popisu.
  • Sekundarni popis može potpuno prekriti prvi zaslon ili ga se može prikazati na novom zaslonu
  • Sekundarne liste same po sebi mogu biti interaktivne.
  • Prvi popis također može nazvati transakciju.
  • Postoje različiti događaji povezani s interaktivnim programiranjem.

Neke naredbe koje se koriste za interaktivno programiranje

Hotspot

Ako se mišem povuče preko podataka prikazanih u izvješću, kursor se mijenja u ruku s ispruženim kažiprstom. Hotspot se može postići pomoću naredbe FORMAT.

Syntax:      Format Hotspot On (Off).

sakriti

Ova naredba vam pomaže da pohranite nazive polja na temelju kojih će se vršiti daljnja obrada da biste dobili detaljan popis. Piše se neposredno nakon naredbe WRITE za polje. Kada je red odabran, vrijednosti se automatski popunjavaju u varijablama za daljnju upotrebu.

Syntax:     Hide <field-name>.

Izvješća koja čitaju više tablica mogu zamijeniti svoje SELECT naredbe logičkom bazom podataka, opisanom u nastavku.

Logičke baze podataka

  • Umjesto korištenja upita "Odaberi" možete koristiti logičku bazu podataka za dohvaćanje podataka za program.
  • Logičke baze podataka nastaju transakcijom SE36
  • Naziv logičke baze podataka može imati do 20 znakova. Može započeti prefiksom prostora imena.
  • Podatke odabire drugi program, a podacima se može pristupiti korištenjem GET-a naredba koja smješta podatke u radno područje .

Prednosti logičke baze podataka u odnosu na normalne Select upite.

  1. Nudi uvjete provjere da se vidi je li unos točan, potpun i uvjerljiv
  2. Sadrži središnje provjere autorizacije za pristup bazi podataka
  3. Poboljšanja poput poboljšanja performansi odmah se primjenjuju na sva izvješća koja koriste logičku bazu podataka.

Napomena: Zbog složenosti uključenih, logičke baze podataka se ne koriste u većini slučajeva

Pitanja i odgovori

PARAMETERS stvara jedno ulazno polje koje sadrži jednu vrijednost. SELECT-OPTIONS stvara internu tablicu s poljima SIGN, OPTION, LOW i HIGH, tako da prihvaća raspone, izuzeća i višestruke odabire.

AT LINE-SELECTION reagira na dvostruki klik ili tipku F2, a AT USER-COMMAND reagira na funkcijski kod iz izbornika. Obje opcije grade sekundarni popis iz vrijednosti koje pohranjuje HIDE.

Izbornik popisa nudi Popis, Spremi i Lokalna datoteka za klasično izvješće. Program također može pozvati funkcijski modul GUI_DOWNLOAD, a ALV popis se izvozi u proračunsku tablicu bez dodatnog kodiranja.

Da. AI asistenti u ABAP razvojnim alatima generiraju zaglavlje REPORT, SELECT-OPTIONS i blokove događaja iz jednostavnog opisa potrebnog popisa. Generirani SELECT i dalje treba provjeru performansi.

Alati umjetne inteligencije sažimaju dugi popis, ističu outliere i odgovaraju na pitanja o podacima jednostavnim jezikom. Ugradnja takve analitike obično znači premještanje klasičnog popisa na izlaz temeljen na ALV-u ili Fioriju.

Sažmite ovu objavu uz: