Mikä on sisäinen taulukko?
SISÄISTAULUKKOA käytetään tietojen hankkimiseen kiinteästä rakenteesta dynaamista käyttöä varten ABAP: ssä. Jokaisella sisäisen taulukon rivillä on sama kenttärakenne. Sisäisten taulukoiden pääasiallinen käyttö on tietojen tallentaminen ja muotoilu tietokantataulukosta ohjelmassa.
Tässä opetusohjelmassa opit:
- Mikä on sisäinen taulukko?
- Mikä on työalue?
- Ero sisäisen pöydän ja työalueen välillä?
- Sisäisten taulukoiden tyypit
- Sisäisten taulukoiden luominen
- Sisäisten taulukoiden täyttäminen
- Kopioi sisäiset taulukot
- Sisäinen lukeminen
- Sisäisten taulukoiden poistaminen
Mikä on työalue?
Työalueet ovat yksittäisiä tietorivejä. Niillä on oltava sama muoto kuin kaikilla sisäisillä taulukoilla. Sitä käytetään sisäisen taulukon tietojen käsittelyyn yksi rivi kerrallaan.
Ero sisäisen pöydän ja työalueen välillä?
Kuva kertoo tuhat sanaa :-)
Sisäisten taulukoiden tyypit
Sisäisiä taulukoita on kahden tyyppisiä.
- Sisäiset taulukot HEADER-rivillä
- Sisäiset taulukot ilman HEADER-riviä.
Sisäiset pöydät otsikkolinjalla
- Täällä järjestelmä luo automaattisesti työalueen.
- Työalueella on sama tietotyyppi kuin sisäisessä taulukossa.
- Tätä työaluetta kutsutaan HEADER-riviksi.
- Täällä tehdään kaikki muutokset tai mikä tahansa taulukon sisältöön liittyvä toiminto. Tämän seurauksena tietueet voidaan lisätä suoraan taulukkoon tai käyttää niitä suoraan sisäisestä taulukosta.
Sisäiset pöydät ilman otsikkolinjaa :
- Täällä ei ole taulukoon liittyvää työaluetta.
- Työalue on määriteltävä erikseen, kun meidän on käytettävä tällaisia taulukoita.
- Siksi näitä taulukoita ei voida käyttää suoraan.
Sisäisten taulukoiden luominen
Sisäisen taulukon luomiseen on monia tapoja. Katsotaanpa niitä yksi yhden
1.By käyttäminen Tyyppi Statement
Tarkastellaan nyt luoda sisäisen taulukon ITAB käyttäen TYYPPI selvitys.
Syntaksi on -
Tyypit: rivin alku,sarake1 tyyppi I,sarake2 tyyppi I,rivin loppu.
Esimerkki:
TYYPIT: rivin alku,empno tyyppi I,empname (20) tyyppi c,rivin loppu.
TYPES-käsky luo rakennerivin määritelmän mukaisesti.
Luo sisäinen taulukko itab todella seuraavien komentojen avulla:
Data itab -tyyppinen rivi esiintyy 10.
Sisäinen taulukko itab luodaan rivin rakenteella. Sisäisen taulukon rakenteen ilmoittamisen lisäksi OCCURS-lauseke määrittää myös, kuinka monta taulukon merkintää ylläpidetään päämuistissa (tässä tapauksessa 10). Ylimääräiset tietueet kirjoitetaan hakualueelle, ja ne voivat vaikuttaa suorituskykyyn
2.Viittaamalla toiseen taulukkoon
Voit luoda sisäisen taulukon viittaamalla olemassa olevaan taulukkoon. Nykyinen taulukko voi olla tavallinen SAP-taulukko, Z-taulukko tai muu sisäinen taulukko.
Syntaksi-
Tiedot[otsikkorivillä].
Esimerkki-
DATA itab TYYPPI -rivi TAPAHTUU 10 otsikkorivillä.
Täällä luodaan sisäinen taulukko itab tyypiriviltä otsikkorivillä. Huomaa "header line" on vapaaehtoista
3.By viittaa nykyiseen rakenteeseen
Syntax-
TiedotLIKE esiintyy n [otsikkorivillä].
Esimerkki-
DATA itab LIKE sline TAPAHTUMAT 10.
Tässä luodaan taulukko itab, jonka rakenne on sama kuin sline 4: ssä.
Luomalla uusi rakenne
Luodaan nyt sisäinen taulukko, jolla on oma rakenne. Tässä taulukko luodaan oletuksena otsikkorivillä .
Syntaksi -
Tiedot:: n alku tapahtuu , ,…, : n loppu.
Esimerkki -
Tiedot: Itabin alku tapahtuu 10,sarake1 tyyppi I,sarake2 (4) tyyppi C,column3 kuten mara-ernam,Itabin loppu.
Sisäinen taulukko itab on luotu
Sisäisten taulukoiden täyttäminen
Nyt kun olemme onnistuneesti luoneet joitain sisäisiä taulukoita, katsotaanpa, miten täytämme ne tietyillä tietueilla. Taulukoiden 1 täyttämiseen on käytettävissä useita menetelmiä. Liitä tiedot riveittäin Ensimmäinen käytettävissä oleva menetelmä on APPEND-käskyn käyttö.APPEND-käskyn avulla voimme joko lisätä yhden rivin toisesta työalueesta sisäiseen taulukkoon tai lisätä yhden alkuisen rivin sisäiseen taulukkoon ...
Syntaksi -
LIITÄ [Tässä työalueKOHTEEN / ALKUPERÄISEEN RIVIIN] .
Järjestelmämuuttuja SY-TABIX sisältää liitteenä olevan rivin hakemiston.
Esimerkki:
Tiedot: Itabin alku tapahtuu 10,col1 tyyppi C,col2 tyyppi I,itabin loppu.Liitä alkurivi itabiin.
Tulokset: '' '0' '
Alkuperäiset rivit lisää taulukkoon rivin, joka on alustettu oikealla tyypin arvolla. Tässä col1 on merkki ja col2 on kokonaisluku. Sitten LIITÄ alkurivi, lisää rivin, joka on alustettu sarakkeiden tietotyypin suhteen, ts. Tilaa col1: lle ja 0 col2: lle. 2.KOLLECT-käskyn käyttöCOLLECT on toinen lausekemuoto , jota käytetään sisäisten taulukoiden täyttämiseen. Yleensä COLLECTia käytetään lisäämällä viivoja sisäiseen taulukkoon, jossa on ainutlaatuinen vakioavain.
Syntaksi-
KOKOA [INTO] .
Taulukoiden lisääminen otsikkorivillä, INTO-vaihtoehto jätetään pois. Oletetaan, että jo on merkintä, jolla on sama avain kuin mitä yrität liittää, taulukkoon ei lisätä uutta riviä, mutta molempien merkintöjen numerokentät lisätään ja vain yksi avainta vastaava merkintä on läsnä . SY-TABIX-arvon arvo muutetaan alkuperäisen merkinnän riviksi. Muutkin COLLECT-toiminnot ovat samanlaisia kuin LIITÄ ja SY-TABIX sisältää käsitellyn rivin hakemiston. 3 . INSERT-käskyn käyttäminen INSERT-käskylisää viivan / työalueen sisäiseen taulukkoon. Voit määrittää sijainnin, johon uusi rivi lisätään, käyttämällä INDEX-lausetta INSERT-käskyn kanssa.
Syntaksi
INSERT [Tässä työalueINTO / INITIAL LINE INTO] [hakemisto ].
Kopioi sisäiset taulukot
Yhden sisäisen taulukon sisältö voidaan kopioida toiseen käyttämällä APPEND LINES- tai INSERT LINES -käskyä. Yksinkertaisempi tapa on käyttää seuraavia syntaksia.SIIRRÄkohtaan .TAI = .
Nämä kopioivat ITAB1: n sisällön ITAB2: een. Sisäisten taulukoiden lisääminen otsikkorivillä meidän on käytettävä [] inorder erottaaksemme työalueesta. Joten, jos haluat kopioida sisäisten taulukoiden sisällön otsikkorivillä, syntaksista tulee
itab1 [] = itab2 [].
Lue sisäiset taulukot
Olemme nyt perehtyneet sisäisten taulukoiden luomiseen ja niiden lisäämiseen tietoihin. Näemme nyt, kuinka käytämme tietoja tosiasiallisesti tai haemme tietoja sisäisistä taulukoista. 1. Loop -Endloopin käyttöYksi tapa päästä sisäiseen taulukkoon tai lukea sitä on LOOP-ENDLOOP.Syntaksi
LOOP AT[INTO ]… LOPETA.
Kun sanot LOOP AT ITABLE, sisäinen taulukko ITABLE luetaan rivi riviltä. Voit käyttää kyseisen rivin sarakkeiden arvoja LOOP-ENDLOOP-rakenteen missä tahansa osassa. SY-SUBRC-arvoksi on asetettu 0 , vaikka vain yksi tietue luetaan. 2. READin käyttäminenToinen menetelmä sisäisen taulukon lukemiseen on READ-käskyn käyttö.
Syntaksi-
LUE TAULUKKO[INTO ] HAKEMISTO .
Tämä lause lukee nykyisen rivin tai rivin indeksin
Sisäisten taulukoiden poistaminen
On monia tapoja poistaa rivejä sisäisestä taulukosta. 1.Poista linjat silmukasta.Tämä on yksinkertaisin tapa poistaa rivejä.
Sytax
POISTA.
Tämä lause toimii vain silmukassa. Se poistaa nykyisen rivin. Voit poistaa silmukan rivit ehdollisesti lisäämällä WHERE-lausekkeen. 2.Poista viivat indeksin avulla.
Tätä käytetään poistamaan rivi sisäisestä taulukosta missä tahansa tietohakemistossa.
Syntaksi
POISTAIndeksiHAKEMISTO .