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.

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
- parameetrid
- 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.
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.
- See pakub kontrolltingimusi, et näha, kas sisend on õige, täielik ja usutav
- See sisaldab andmebaasi juurdepääsu keskseid autoriseerimiskontrolle
- 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
