SAP Query: myyntiraportti, ympäristö

SAP Query: myyntiraportti

Nyt kun SAP QuickView (SQVI) on tullut tutuksi, luultavasti haluaisit myös muiden käyttäjien voivan käyttää raporttejasi. Vaikka SAP QuickView kysely on konvertoitavissa SAP Queryksi, ehkä sittenkin mieluummin oppisit tekemään SAP Query raportteja. Tämän esityksen lopussa on QuickView:stä tutun myyntiraportin toteutus SAP Queryllä.

SAP Query raportti luodaan samalla tavalla kuin SAP QuickView kysely. Suurin ero on, että ensin pitää luoda ns. infojoukko (Infoset), joka sisältää SAP kyselyn määritykset.  Infojoukon määrityksessä valitaan tietolähteet (taulut, taululiitokset, loogiset tietokannat) ja määritellään kyselyn luettelo- ja valintakentät. Käyttäjien tietotarpeet määrittävät infojoukon sisällön.

Alla SAP Query myyntiraportin infojoukko.

SAP Query myyntiraportti

Kun vakioraporteista ei löydy vastausta kysymyksiin, vastaus voi löytyä SAP:n kyselystä.  SAP Query mahdollistaa monenlaisten raporttien teon. Voit luoda eri tyyppisiä raportteja kuten esimerkiksi perusluetteloita, tilastoja, ranking-listoja. Kyselyistä on mahdollista porautua tositteisiin ja perustietoihin. Myös negatiivisten erien etumerkit hoituvat. Tähän ei tarvita ohjelmointiosaamista, mutta kyselyihin on mahdollista myös lisätä koodin pätkiä.

SAP Queryn vaiheet

Ei kannata hypätä suin päin raportin tekoon, vaan on hyvä ensin vähän suunnitella millaista raporttia ollaan tekemässä. Tietolähteiden valinnassa SE16/Se16N on hyvä apu. Itse teen usein ensimmäisen version SAP QuickView kyselynä. Kun raporttiluonnos on valmis,  SAP Queryn teko voi alkaa infojoukon määrittelyllä.

Infojoukon määritys muistuttaa QuickView:n käyttöä, ensin valitaan tietolähde ja sen jälkeen kyselyn kentät. Infojoukot kohdistetaan käyttäjäryhmiin (yhteen tai useampaan).Voit luoda uuden käyttäjäryhmän omille raporteillesi tai voit kohdistaa infojoukon johonkin olemassa olevaan ryhmään. Kun infojoukko on valmis ja kohdistettu, kyselyä voidaan testata.

SAP Query: vaiheet

SAP Query: vaiheet

Query ympäristö

Ei ole hyvä ajatus tehdä queryjä suoraan tuotannossa. Yleensä se onkin estetty. Kehityskään ei ole hyvä ajatus, koska siellä ei ole testidataa. Paras paikka tehdä SAP Query on testiympäristö. Kun kaikki testit on läpäisty ja query toimii ongelmitta, sen voi kopioida tuotantoon tekstitiedostona. Kannattaa kopioida se myös kehitykseen. Jos query-transaktiot on kielletty kokonaan tuotannossa, voi kyselyn kehityksessä liittää raporttivalikkoon, jonka voi suojata käyttöoikeuksilla.

 


SAP Query: myyntiraportti


SAP Query: myyntiraportin etumerkit

SAP Query: etumerkit

SAP tallettaa yleensä luvut tietokantaan ilman etumerkkiä. Edellä myyntiraportin nettoarvo, paino, määrä, kustannukset) olivat kaikki saman merkkisiä. Esimerkin aineistossa oli 100 euron lasku ja 100 euron hyvityslasku. Molempien summat olivat positiivisia. Kyselyssä niiden summa oli 200. QuickView-harjoituksessa kehoitin viemään raportin Exceliin ja käsittelemään luvut siellä. Tämä ei ole kovinkaan kestävä ratkaisu.

Kirjanpidon tositetaulusta löytyy merkkien käsittelyyn kenttä SHKZG debet- / kredittunniste, joka määrittää merkin yksiselitteisesti. Debet on aina positiivinen ja kredit negatiivinen. Löytyisikö SD laskutauluista jotain vastaavaa?

Laskuotsikkotaulussa (VBRK) ei ole kenttää, joka yksiselitteisesti määrittäisi etumerkin. Kenttiä laskulaji/billing type (VBRK-FKART) ja laskutyyppi/document category (VBRK-FKART) kumpaakin voidaan käyttää tähän tarkoitukseen. Huono puoli on se, että ne saavat useita arvoja ja pitää tietää mitkä niistä ovat negatiivisia.

Rivitaulusta (VBRP) löytyy lupaava kenttä VBRP-SHKZG, jolla on outo nimi ‘Palautusrivi / Returns Item’. Tekninen nimi on kuitenkin sama kuin kirjanpidon debet-/kredittunnisteella. Tarkempi tarkastelu tauluselaimella (SE16/SE16N) paljastaa, että kenttä tosiaan kertoo merkin myös myyntitositteilla.

VBRP-SHKZG sign

X tarkoittaa, että kenttä on negatiivinen. Kertominen -1:llä korjaa merkin raportilla.

Ollakseni varma asiasta, tein QuickView:llä muutaman kyselyn sekä IDES:ssä että parissa muussa järjestelmässä. Laskulajeilla RE, G2, ja S1 kaikilla oli arvo X tässä kentässä.

Etumerkit kyselyn paikalliskenttänä

Ensin kokeilin ratkaista kyselyn merkkiongelman käyttämällä paikallisia kenttiä (Local Fields). Kaavat, joissa käytettiin sekä laskulajia/billing type  (VBRK-FKART) ja palautusriviä/returns item (VBRP-SHKZG) toimivat hyvin. Tämän ratkaisun puute on se, että määritykset täytyy tehdä erikseen jokaiselle kyselylle.

Etumerkit infojoukon lisäkenttänä

Ideaaliratkaisu olisi lisätä määritys infojoukon tasolla, mutta se vaatii pientä koodaamista.  Stephan Kalesken erinomaisesta kirjasta ‘SAP Query Reporting’ opin miten kenttä VBRP-SHKZG määritetään infojoukossa. Lainasin siitä koodinpätkän omaan kyselyyni.

Voit tarkistaa lopputuloksen oheisesta kuvasta.

SAP Query: myyntiraportti - etumerkit

Alta löydät kaksi dokumenttia, joissa kuvataan molemmat ratkaisut.

 


SAP Query: etumerkit kyselyssä

SAP Query: etumerkit infojoukon lisäkentillä


SAP Query: lisäkentät

SAP Query: lisäkentät (kirjauskausi, tilikausi)

Kirjanpito haluaisi lisätä VBRK_VBRP kyselyyn kirjauskauden ja tilikauden sekä luvut summattuina kausittain. Laskuotsikkotaulusta löytyvät kentät POPER ‘kirjauskausi’ ja GJAHR ’tilikausi’, mutta ne ovat tyhjiä. SAP Query: lisäkentät toiminnallisuus ratkaisee ongelman.

Nyt kyselyssä aikajakso voidaan rajata vain laskun päivämäärällä. Käyttäjän pitää antaa kuukausi/vuosi päivämäärävälinä. Hän ei kuitenkaan voi saada
kuukausikohtaista välisummaa tai käyttää kausikenttiä hakutekijänä.

Alla olevassa esimerkissä lisätään kaksi uutta kenttää (kuukausi ja vuosi) SD_BILLING kyselyyn. Arvot näihin kenttiin saadaan laskunpäivämäärästä (VBRK-FKDAT), joka on tietokannassa muodossa  YYYMMDD. Ensimmäiset neljä merkkiä määrittävät vuoden ja seuraavat kaksi kuukauden. Pienellä koodinpätkällä ne saadaan lisättyä infojoukkoon.

 


Lisäkentät (kirjauskausi ja tilikausi)