Kõik ABAP-i aruannete programmeerimise kohta
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 erivormingut
- 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>.
Valimisekraan
Valikukuva on ekraan, kus saab määrata sisendväärtused, mille jaoks programm peaks töötama.
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.
Saate määratleda ka valiku, näiteks muutuja
select-options s_vbeln for vbak-vbeln no intervals no-extension
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.
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 kontrollida andmete otsimist ja kuvamist
- Kasutatakse üksikasjaliku loendi koostamiseks väga lihtsast loendist
- Ü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>.
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