SAP ABAP aruannete programmeerimine

⚡ Nutikas kokkuvõte

ABAP Report Programming loob käivitatavaid programme, mis valivad, töötlevad ja kuvavad suuri andmemahtusid. SAP andmed. See leht selgitab aruande päise lisamist, valikuekraani, sündmuste järjestust, vorminduskäsklusi, interaktiivseid loendeid ja loogilisi andmebaase.

  • 📊 Põhieesmärk: Aruandeprogramm loeb andmeid mitmest tabelist, töötleb neid ja esitab loendina, mida saab vormindada, alla laadida või posti teel saata.
  • 🧾 Programmi tüüp: Iga aruanne on 1. tüüpi käivitatav programm, mis on seotud rakendusalaga ja mida juhivad täielikult sündmused.
  • 🏁 Päise lisad: STANDARDSET LEHEKÜLJE PEALKIRJA EI OLE, LINE-SUURUS, LINE-COUNT ja MESSAGE-ID kuuluvad esimesse REPORT-lausesse.
  • ⌨️ Valikuekraan: PARAMETERS aktsepteerib ühte väärtust ja SELECT-OPTIONS aktsepteerib vahemikku või väärtuste komplekti.
  • Sündmuste järjestus: PROGRAMMI LAADIMINE, INITIALISEERIMINE, VALIKUEKRÄÄNIL, VALIKU ALGUS ja VALIKU LÕPP toimuvad fikseeritud järjekorras.
  • 🖱️ Interaktiivsed loendid: HIDE salvestab valitud rea väljaväärtused ja HOTSPOT muudab loendivälja teisese loendi klõpsatavaks elemendiks.
  • 🗄️ Loogilised andmebaasid: SE36-s loodud skriptid asendavad SELECT-laused GET-sündmusega ja lisavad keskse autoriseerimiskontrolli.

SAP ABAP aruannete programmeerimine

Mis on ABAP-i aruandlusprogrammeerimine?

SAP-ABAP toetab kahte tüüpi programme – aruandeprogramme ja dialoogiprogramme. Aruandeprogramme kasutatakse siis, kui on vaja kuvada suuri andmemahtusid.

Aruandeprogrammide eesmärk/kasutus

  • Neid kasutatakse siis, kui enne esitamist tuleb mitmest tabelist andmeid valida ja töödelda.
  • Kasutatakse siis, kui aruanded nõuavad spetsiaalset vormingut
  • Kasutatakse siis, kui aruanne tuleb alla laadida aadressilt SAP Exceli lehele jaotamiseks.
  • Kasutatakse siis, kui aruanne tuleb saata konkreetsele isikule.

Olulised punktid, mida aruandeprogrammi kohta tähele panna

  • Aruandeprogrammid on alati käivitatavad programmid. Programmi tüüp on alati 1.
  • Iga aruandeprogramm vastab konkreetsele rakendusetüübile, st kas müügi ja levitamise, FI – CO jne jaoks. See võib olla ka Cross Application, st tüüp '*'.
  • Aruande programmeerimine on sündmustepõhine programmeerimine.
  • Aruandeprogrammi esimene rida on alati Aruanne .
  • Loendi päise või programmi nime sulgemiseks lisage Standardset lehepealkirja pole kasutatakse.
  • Konkreetse aruande rea suuruse saab määrata lisamise abil joone suurus .
  • Konkreetse lehe ridade arvu saab määrata liitmise abil ridade arv n(n1). N on lehe ridade arv ja N1 on lehe jaluse jaoks reserveeritud ridade arv.
  • Teabe või veateate kuvamiseks lisame programmile sõnumiklassi, kasutades lisamist: Sõnumi ID . Sõnumiklassid säilitatakse SE91-s.

Seetõttu peaks ideaalne aruandeprogramm algama järgmisega:

Report <report name> no standard page heading

line-size <size>

line-count <n(n1)>

message-id <message class>.

Aruandeprogramm vs dialoogiprogramm

Mõlemad programmitüübid töötavad samas süsteemis, kuid lahendavad vastandlikke probleeme. Aruanne loeb ja kuvab andmeid, samas kui dialoogiprogramm võimaldab kasutajal neid ekraanide kaudu hallata.

Kriteeriumid Aruandeprogramm Dialoogiprogramm
Programmi tüüp Tüüp 1, käivitatav Tüüp M, moodulbassein
Alustas Programmi nimi või tehingukood Ainult tehingukood
Voolu juhtimine Sündmused nagu INITIALISEERIMINE ja VALIKU START Ekraanivoo loogika PBO ja PAI moodulitega
Kasutaja sisend Loodud valikuekraan Ekraanil kujundatud ekraanid Painter
Tüüpiline kasutamine Suurte andmemahtude kuvamine ja allalaadimine Äriandmete loomine ja muutmine

Valikukuva on koht, kus aruanne kogub oma sisendi, seega kirjeldatakse seda järgmisena.

Valimisekraan

„Valikukuva” on ekraan, kus saab määrata sisendväärtused, mille korral programm peaks käivituma.

Valikukuva luuakse tavaliselt

  1. parameetrid
  2. Vali-Valikud

Süntaks

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 #>

parameetrid

Parameetrid aitavad dünaamilist valikut teha. Need mahutavad programmi ühe täitmistsükli jaoks ainult ühe väärtuse.

Süntaks

Parameetrite määratlemine andmetüübina

Parameters p_id(30) type c.

Parameetrite määratlemine nagu tabeliväli.

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

Parameetrid võivad olla nii märkeruudud kui ka raadionupud.

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

Parameetrid võivad olla loendikastis.

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

Valige Valikud

Valikuvalikut kasutatakse väärtuste vahemiku või väärtuste kogumi sisestamiseks programmi

Süntaks

select-options s_vbeln for vbak-vbeln.

Valimisekraan

Ekraanipildil on näha valiku genereeritud madala ja kõrge sisendväljad koos mitmikvaliku nupuga.

Saate määratleda ka valiku, näiteks muutuja

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

Kui sisend on kogutud, reageerib programm fikseeritud sündmuste jadale.

Sündmused ABAP-i aruandeprogrammis

ABAP-i aruandeprogrammid on sündmustest juhitud programmid. Aruandeprogrammi erinevad sündmused on järgmised:

Programmi koormus

  • Käivitab seotud sündmuse sisemises seansis pärast 1., M, F või S tüüpi programmi laadimist.
  • Käitab ka seotud töötlemisplokki üks kord ja ainult üks kord iga programmi ja sisemise seansi jaoks.
  • Töötlemisplokil LOAD-OF-PROGRAM on ligikaudu sama funktsioon an jaoks ABAP programm tüüpi 1, M, F või S nagu konstruktoril on ABAP-objektide klasside jaoks

Initsialiseerimine.

  • See sündmus käivitatakse enne valikukuva kuvamist.
  • Kõigi väärtuste initsialiseerimine.
  • Saate määrata erinevaid väärtusi peale valikukuval vaikeväärtuste.
  • Saate täita oma valikukuva teatud väärtustega käitusajal.

Valikuekraanil.

  • Sündmust töödeldakse, kui valikukuva on töödeldud (PAI lõpus).
  • Sisestatud väärtuste kinnitamine ja kontrollimine toimub siin

Valiku algus.

  • Siin hakkab programm tabelitest väärtusi valima.

Valiku lõpp.

  • Pärast kõigi andmete valimist kirjutab see sündmus andmed ekraanile.

Interaktiivsed üritused

  • Kasutatakse interaktiivseks aruandluseks. Seda kasutatakse üksikasjaliku loendi koostamiseks põhiloendist.

💡 Näpunäide: Ilma sündmuse märksõnata kirjutatud laused kuuluvad vaikimisi START-OF-SELECTION alla, mistõttu aruanne käivitatakse ka siis, kui sündmus puudub.

Näide: Lihtne ABAP-i aruandlusprogramm

Allolev programm ühendab liitmised, valikuekraani ja sündmused üheks toimivaks aruandeks. See loeb VBAK-ist müügitellimuste päiseid valikuekraanile sisestatud numbrite kohta ja kirjutab need loendina.

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.

Kolm detaili väärivad märkimist. INITIALIZATION täidab kuupäeva parameetri enne valikuekraani ilmumist. AT SELECTION-SCREEN valideerib kirje ja kuvab klassi ZSD teate. HIDE salvestab iga kirjutatud rea järjekorranumbri, nii et topeltklõpsuga saab sellest luua teisese loendi, mida käsitletakse järgmises jaotises.

Aruande vormindamine

ABAP võimaldab aruandeid vormindada nii, nagu kasutaja seda soovib. Näiteks „Alternatiivsed read” peavad olema erinevat värvi ja rida „Kokkusummad” peaks olema kollane.

Süntaks

Format Color n

Format Color n Intensified On

n võivad vastata erinevatele numbritele

Pange tähele, et koos vorminguga on ka muid täiendusi

FORMAT COLOR OFF INTENSIFIED OFF INVERSE OFF HOTSPOT OFF INPUT OFF

Interaktiivne aruannete programmeerimine

  • Interaktiivse programmeerimise abil saavad kasutajad aktiivselt juhtida andmete hankimist ja kuvamist
  • Kasutatakse väga lihtsast loendist detailse loendi loomiseks
  • Üksikasjalikud andmed on kirjutatud teisese nimekirja.
  • Teisene loend võib esimese ekraaniga täielikult katta või kuvada selle uuel ekraanil
  • Teisesed loendid võivad ise olla interaktiivsed.
  • Esimene loend võib nimetada ka tehingut.
  • Interaktiivse programmeerimisega on seotud erinevad sündmused.

Mõned interaktiivseks programmeerimiseks kasutatavad käsud

WiFi leviala

Kui lohistate kursorit aruandes kuvatavate andmete kohal, muutub kursor väljasirutatud nimetissõrmega käeks. Leviala saab luua lause FORMAT abil.

Syntax:      Format Hotspot On (Off).

varjama

See käsk aitab teil salvestada väljade nimesid, mille põhjal üksikasjaliku loendi saamiseks edasi töödeldakse. See kirjutatakse otse välja WRITE-lause järel. Kui rida on valitud, täidetakse väärtused automaatselt muutujates edasiseks kasutamiseks.

Syntax:     Hide <field-name>.

Aruanded, mis loevad paljusid tabeleid, saavad oma SELECT-laused asendada loogilise andmebaasiga, mida on kirjeldatud allpool.

Loogilised andmebaasid

  • „Vali” päringute asemel saate programmi andmete toomiseks kasutada loogilist andmebaasi.
  • Loogilised andmebaasid luuakse tehinguga SE36
  • Loogilise andmebaasi nimi võib olla kuni 20 tähemärki pikk. See võib alata nimeruumi eesliitega.
  • Andmed valib teine ​​programm ja andmetele pääseb juurde GET-i abil käsk, mis paigutab andmed tööalale .

Loogilise andmebaasi eelised tavaliste Select päringutega võrreldes.

  1. See pakub kontrolltingimusi, et näha, kas sisend on õige, täielik ja usutav
  2. See sisaldab andmebaasi juurdepääsu keskseid autoriseerimiskontrolle
  3. Täiustused, nagu toimivuse parandamine, rakenduvad kohe kõikidele aruannetele, mis kasutavad loogilist andmebaasi.

Märkus. Keerukuse tõttu ei kasutata enamikul juhtudel loogilisi andmebaase

KKK

Funktsioon PARAMETERS loob ühe sisestusvälja, mis sisaldab ühte väärtust. SELECT-OPTIONS loob sisemise tabeli väljadega SIGN, OPTION, LOW ja HIGH, seega aktsepteerib see vahemikke, väljajätmisi ja mitut valikut.

AT LINE-SELECTION reageerib topeltklõpsule või F2-klahvile ja AT USER-COMMAND reageerib menüüst pärit funktsioonikoodile. Mõlemad moodustavad teisese loendi HIDE poolt salvestatud väärtuste põhjal.

Loendimenüü pakub klassikalise aruande jaoks valikuid Loend, Salvesta ja Kohalik fail. Programm saab kutsuda ka funktsioonimoodulit GUI_DOWNLOAD ning ALV-loendi saab eksportida arvutustabelisse ilma lisakoodita.

Jah. ABAP-i arendustööriistade tehisintellekti assistendid genereerivad REPORT-päise, SELECT-OPTIONS-i ja sündmuste plokid nõutava loendi lihtsast kirjeldusest. Genereeritud SELECT vajab siiski jõudluse ülevaatamist.

Tehisintellekti tööriistad võtavad kokku pika nimekirja, toovad esile kõrvalekalded ja vastavad andmetega seotud küsimustele lihtsas keeles. Sellise analüüsi manustamine tähendab tavaliselt klassikalise nimekirja teisaldamist ALV- või Fiori-põhisele väljundile.

Võta see postitus kokku järgmiselt: