SAP-ABAP tukee kahden tyyppisiä ohjelmia - Raportoi ohjelmat ja Dialog-ohjelmat. Raporttiohjelmia käytetään, kun suuria määriä tietoja on näytettävä
Tässä opetusohjelmassa opit:
- Valintanäyttö
- Tapahtumat ABAP-raporttiohjelmassa
- Raportin muotoilu
- Interaktiivinen raporttien ohjelmointi
- Loogiset tietokannat
Raporttiohjelmien tarkoitus / käyttö
- Niitä käytetään, kun useiden taulukoiden tiedot on valittava ja käsiteltävä ennen esittämistä
- Käytetään, kun raportit vaativat erityistä muotoa
- Käytetään, kun raportti on ladattava SAP: sta Excel-taulukkoon jakamista varten.
- Käytetään, kun raportti on postitettava tietylle henkilölle.
Tärkeä huomautus Raporttiohjelmasta
- Raporttiohjelmat ovat aina suoritettavia ohjelmia. Ohjelmatyyppi on aina 1.
- Jokainen raporttiohjelma vastaa tiettyä sovellustyyppiä, joko myynnin ja jakelun, FI - CO: n jne. Kanssa. Se voi olla myös ristisovelluksen tyyppi eli *.
- Raportin ohjelmointi on tapahtumapohjainen ohjelmointi.
- Raporttiohjelman ensimmäinen rivi on aina Raportti
. - Luettelon otsikon tai ohjelman nimen estämiseksi käytetään lisäystä No Standard Page Heading .
- Tietyn raportin rivikoko voidaan asettaa lisäämällä rivikoko
. - Tietyn sivun rivimäärä voidaan asettaa lisäämällä rivimäärää n (n1) . N on sivun rivien lukumäärä ja N1 on sivun alatunnisteelle varattujen rivien määrä.
- Tietojen tai virhesanomien näyttämiseksi lisäämme viestiluokan ohjelmaan lisäämällä: Message-id
. Viestiluokkia ylläpidetään SE91: ssä.
Raporttiei vakiosivun otsikkoarivikoko riviluku message-id .
Valintanäyttö
"Valintanäyttö" on näyttö, jossa määritetään tuloarvot, joita varten ohjelman tulisi toimia.
Valintanäyttö luodaan yleensä
- Parametrit
- Valitse-Asetukset
Syntaksi
Valintanäyttö ruudun alkuvalintanäyttö lohkon alku <#> kehyksen otsikolla …… valintanäyttö lohkon loppu <#>valintanäyttö ruudun loppu
Parametrit
Parametrit auttavat tekemään dynaamisen valinnan. Ne voivat sijoittaa vain yhden arvon yhdelle ohjelman suoritussyklille.
Syntaksi
Parametrien määrittäminen tietotyypiksi
Parametrit p_id (30) tyyppi c.
Määritetään parametrit, kuten taulukon kenttä.
Parametri p_id kuten- .
Parametrit voivat olla valintaruutuja sekä radiopainikkeita.
Parametrit p_id kuin valintaruutu. Parametrit p_id1 radiopainikeryhmä.Parametrit p_id2 radiopainikeryhmä .
Parametrit voivat olla luetteloruutu.
Parametri p_id kuten- luetteloruutuna
Valitse vaihtoehdot
Valinta-asetusta käytetään syöttämään arvoalue tai arvojoukko ohjelman
syntaksiin
select-options s_vbeln vbak-vbelnille.
Voit myös määrittää valinnan vaihtoehdon, kuten muuttujan
select-options s_vbeln for vbak-vbeln no intervals no-extension
Tapahtumat ABAP-raporttiohjelmassa
ABAP-raporttiohjelmat ovat tapahtumavetoisia ohjelmia . Raporttiohjelman eri tapahtumat ovat: Ohjelman
lataus
- Käynnistää liittyvän tapahtuman sisäisessä istunnossa lataamisen jälkeen tyypin 1, M, F tai S ohjelman.
- Suorittaa myös siihen liittyvän käsittelylohkon kerran ja kerran vain jokaiselle ohjelmalle ja sisäiselle istunnolle.
- Käsittelylohkolla LOAD-OF-PROGRAM on suunnilleen sama toiminto tyypin 1, M, F tai S ABAP-ohjelmalle kuin rakentajalla ABAP-objektien luokille
Alustus.
- Tämä tapahtuma suoritetaan ennen valintanäytön näyttämistä.
- Kaikkien arvojen alustaminen.
- Voit määrittää muita arvoja kuin valintanäytössä oletusarvot.
- Voit täyttää valintanäytön joillakin arvoilla ajon aikana.
Kohdassa Valinta-näyttö.
- Tapahtuma käsitellään, kun valintanäyttö on käsitelty (PAI: n lopussa).
- Syötettyjen arvojen tarkistus ja tarkastukset tapahtuvat täällä
Valinnan alku.
- Täällä ohjelma alkaa valita arvoja taulukoista.
Valinnan loppu.
- Kun kaikki tiedot on valittu, tämä tapahtuma kirjoittaa tiedot näyttöön.
Interaktiiviset tapahtumat
- Käytetään interaktiiviseen raportointiin. Sitä käytetään luomaan yksityiskohtainen luettelo perusluettelosta.
Raportin muotoilu
ABAP sallii raporttien muotoilun käyttäjän haluamana tavalla. Esimerkiksi "Vaihtoehtoiset viivat" täytyy näkyä eri väreinä ja "Kokonaisuudet" -rivin pitäisi olla keltaisena.
Syntaksi
Muoto Väri nAlusta Väri n Tehostettu Päällä
n voi vastata useita numeroita.
Huomaa, että on myös muita lisäyksiä sekä muodon
MUOTO VÄRI POIS KIINNITETTY POIS PÄÄLTÄ KÄYTTÖÖNOTTO POIS PÄÄLTÄ TULO POIS
Interaktiivinen raporttien ohjelmointi
- Interaktiivisen ohjelmoinnin avulla käyttäjät voivat hallita aktiivisesti tiedonhakua ja tietojen näyttämistä
- Käytetään yksityiskohtaisen luettelon luomiseen hyvin perusluettelosta
- Yksityiskohtaiset tiedot kirjoitetaan toissijaiseen luetteloon.
- Toissijainen luettelo voi joko kokonaan peittää ensimmäisen näytön tai voidaan näyttää se uudella näytöllä
- The secondary lists can be themselves interactive.
- The first list may also call a transaction.
- There are different events associated with interactive programming.
Some commands used for interactive programming
HotspotIf one drags the mouse over the data displayed in the report the cursor changes to a Hand with an Outstretched Index finger. An hotspot can be achieved using the FORMAT statement.
Syntax: Format Hotspot On (Off).
HideThis command helps you to store the field names based on which one will be doing further processing to get a detailed list. It is written directly after the WRITE statement for a field. When a row is selected the values get automatically filled in the variables for further use.
Syntax: Hide.
Logical Databases
- Instead of using "Select" queries you can use logical database to retrieve data for a program.
- Logical databases are created by transaction SE36
- The name of a logical database can be up to 20 characters long. It may begin with a namespace prefix.
- The data is selected by another program and one can access the data using GET
command which places the data in the work area .
Advantages of a logical database over normal Select queries.
- It offers check conditions to see whether the input is correct, complete and plausible
- It contains central authorization checks for database access
- Enhancements such as improvement in performance immediately apply to all reports which use logical database.
Note: Due to the complexities involved, logical databases are not used in most of the cases