SAP ABAP-taulukon ohjaus esimerkein
โก รlykรคs yhteenveto
SAP ABAP-taulukon hallinta nรคyttรครค sisรคisen taulukon vieritettรคvรคnรค ruudukkona nรคytรถllรค, joka on rakennettu nรคytรถlle. PainterTรคllรค sivulla selitetรครคn sen ominaisuudet, CONTROLS-deklaraatio, kohdistimen kรคsittely, PBO- ja PAI-silmukat sekรค sarakeattribuutit.

Mikรค on taulukko-ohjausobjekti? SAP ABAP?
Taulukon sรครคtimet ja askelsilmukat ovat taulukon nรคyttรถobjekteja, jotka lisรครคt nรคytรถlle Nรคytรถssรค Painter.
Ohjelmoinnin kannalta taulukon sรครคtimet ja askelsilmukat ovat lรคhes tรคsmรคlleen samat. Taulukon sรครคtimet ovat yksinkertaisesti parannettuja askelsilmukoita, jotka nรคyttรคvรคt tiedot tyรถpรถytรคsovellusten taulukoihin liittyvรคllรค ulkoasulla ja tuntumalla.
ABAP Table Controlin ominaisuudet
Taulukon sรครคtimillรค kรคyttรคjรค voi:
- Selaa taulukkoa pysty- ja vaakasuunnassa
- Muuta sarakkeen leveyttรค
- Vieritรค kentรคn sisรคllรค (kun kentรคn sisรคltรถ on kenttรครค leveรคmpi)
- Valitse taulukon rivit tai sarakkeet
- Jรคrjestรค sarakkeiden jรคrjestys uudelleen
- Tallenna nykyiset nรคyttรถasetukset tulevaa kรคyttรถรค varten
Taulukkoohjaimet tarjoavat myรถs erityisiรค muotoiluominaisuuksia (osa automaattisia, osa valinnaisia), jotka helpottavat taulukoiden tarkastelua ja kรคyttรถรค. Table Control tarjoaa โ
- automaattinen taulukon koon muuttaminen (pysty- ja vaakasuuntainen), kun kรคyttรคjรค muuttaa ikkunan kokoa
- erotinviivat rivien ja sarakkeiden vรคlillรค (pysty ja vaaka)
- sarakkeen otsikkokentรคt kaikille sarakkeille
Yleensรค jรคrjestelmรคsi hoitaa paikallisesti monia taulukon ohjauksen tarjoamia ominaisuuksia SAPgui frontend, joten sinun ei tarvitse ohjelmoida niitรค itse. Ainoa huomattava poikkeus tรคhรคn on pystysuuntainen vieritys.
Esimerkki (tapahtuma TZ60)
Yllรค oleva transaktio TZ60 nรคyttรครค valmiin tuloksen: ruudukon, jossa on sarakeotsikot, erotinviivat ja valintasarake. Erot vanhempaan vaihesilmukkaan verrattuna on esitetty seuraavassa yhteenvetona.
Pรถydรคn ohjaus vs. askelsilmukka
Yksi askelsilmukoiden ominaisuus on, ettรค niiden taulukkorivit voivat ulottua useammalle kuin yhdelle riville nรคytรถllรค. Taulukko-ohjausobjektin rivin on sitรค vastoin aina sijaittava yhdellรค rivillรค (vaikka vieritys on mahdollista). Alla oleva taulukko vertailee nรคitรค kahta nรคyttรถelementtiรค.
| Kriteeri | Taulukon hallinta | Askelsilmukka |
|---|---|---|
| Rivin asettelu | Yksi rivi on aina yksi nรคyttรถrivi | Yksi rivi voi ulottua useille nรคyttรถriveille |
| Sarakkeiden kรคsittely | Kรคyttรคjรค voi muuttaa sarakkeiden kokoa, jรคrjestystรค ja piilottaa ne. | Nรคytรถlle mรครคritetty kiinteรค sarakeasettelu |
| Vieritys | Vaakasuuntainen vieritys kรคyttรถliittymรคssรค, pystysuuntainen vieritys ohjelmoitu PAI:ssa | Ohjelmoitu kokonaan ABAP-koodilla |
| Ilmoitus | SรรTIMET โฆ KIRJOITA TABLEVIEW NรYTรLLร | Ohjelmassa ei ole ohjausrakennetta |
| Nรคyttรถasetukset | Kรคyttรคjรค voi tallentaa henkilรถkohtaisen asettelun | Ei saatavilla |
Koska taulukon ohjausobjekti on moderni elementti, loppuosa tรคstรค sivusta ohjelmoi sen.
Taulukon ohjauksen luominen ja ohjelmointi
Taulukko-ohjausobjekti tarvitsee screen-elementin, ohjelmassa olevan ohjausrakenteen ja silmukan sekรค PBO:ssa ettรค PAI:ssa. Alla olevat alaosiot noudattavat tรคtรค jรคrjestystรค.
Mรครคrรคysvallan julistaminen
Jos haluat kรคsitellรค taulukon ohjausobjekteja ABAP-ohjelmissa, sinun on mรครคritettรคvรค ohjausobjekti ohjelman ilmoitusosassa jokaiselle taulukon ohjausobjektille seuraavalla kรคskyllรค:
CONTROLS <ctrl> TYPE TABLEVIEW USING SCREEN <scr>
missรค on taulukon ohjausobjektin nimi nรคytรถllรค ABAP-ohjelmassa. Ohjaus antaa ABAP-ohjelman lukea taulukon ohjausobjektin attribuutteja ja vaikuttaa ohjaukseen. on nรคytรถn numero, johon taulukon alkuarvot ladataan.
Kohdistimen sijainnin asettaminen ja lukeminen
Kohdistimen sijainti taulukon ohjauksessa voidaan asettaa seuraavilla tavoilla:
PBO:ssa voit asettaa kohdistimen taulukon ohjausobjektin tietyn rivin tiettyyn kenttรครคn.
SET CURSOR FIELD <f> LINE <lin> [OFFSET <off>]
Valinnaisen OFFSET-lisรคyksen avulla voit syรถttรครค kohdistimen siirtymรคn kenttรครคn kohdassa Kohdistimen sijainnin asettaminen kuvatulla tavalla.
PAI:ssa voit lukea kursorin nykyisen sijainnin.
GET CURSOR FIELD <f> LINE <lin> ...
Kohdistimen sijainnin selvittรคminen -kentรคssรค annettujen tietojen lisรคksi sisรคltรครค tietoa millรค taulukon ohjausobjektin rivillรค kohdistin on tรคllรค hetkellรค. Voit myรถs kรคyttรครค
GET CURSOR LINE <lin>.
taulukko-ohjausobjektin rivin mรครคrittรคmiseksi. SY-SUBRC:n avulla voit tarkistaa, onko kohdistin taulukko-ohjausobjektin rivillรค.
Vastaavan sisรคisen taulukkorivin lukeminen
Saadaksesi vastaavan rivin sisรคinen pรถytรค:
GET CURSOR line <lin>. ind = <table_control>-top_line + <lin> - 1. Read table <itab> index ind.
Jรคrjestelmรคmuuttuja stepl โ sisรคltรครค nykyisen taulukon riviindeksin silmukassa โฆ endloop. Loopc โ sisรคltรครค taulukossa nรคkyvien rivien mรครคrรคn
Ohjausobjektin luominen nรคytรถllรค Painter
Taulukon ohjausobjektin luominen
- Lisรครค taulukon ohjauselementti nรคytรถllesi
- Anna taulukon ohjausobjektille nimi. ABAP-ohjelmassa mรครคritรค rakenne, jolla on sama ( CONTROLS tyyppi TABLEVIEW KรYTTรEN NรYTTรร )
- Luodaksesi kenttiรค, mene Sanasto/Ohjelmakentรคt-toimintoon.
- Anna sen rakenteen nimi, jonka kentรคt haluat. (Jos haluat sen poimivan sen ohjelmasi sanakirjasta, napsauta vastaavaa puh-painiketta).
- Valitse kenttรคluettelosta haluamasi kentรคt ja valitse ok.
- Napsauta taulukon ohjausalueella
Jos haluat valintasarakkeen, valitse asianmukainen valintaruutu mรครคritteistรค ja anna sille nimi. Luo kenttรค kohtaan ABAP ohjelma.
PBO- ja PAI-silmukoiden koodaus
PBO:ssa sinulla pitรคisi olla lausunto
LOOP at <itab> USING CONTROL <cntrl_name>. ENDLOOP.
PAI:ssa sinun pitรคisi olla.
LOOP at <itab>. ENDLOOP.
Tiedonsiirto nรคytรถn ja sisรคisen taulukon vรคlillรค tapahtuu silmukoiden sisรคllรค. Kun tรคytรคt sisรคisen taulukon, kรคytรค DESCRIBE TABLE -komentoa. LINES -rivit, tallentaaksesi ohjausobjektin rivien kokonaismรครคrรคn. FIELD-lauseketta voidaan kรคyttรครค tiedonsiirron ajankohdan hallintaan
โ ๏ธ Varoitus: PBO-silmukan tรคytyy nimetรค ohjausobjekti USING CONTROL -metodilla. Ilman sitรค ohjausobjekti ei tiedรค rivien lukumรครคrรครค, eikรค pystysuuntainen vieritys toimi.
Sarakkeen ominaisuuksien muuttaminen suorituksen aikana
Jos haluat muuttaa yksittรคisten solujen attribuutteja, muuta vรคliaikaisesti PBO:n SCREEN-taulukkoa. Voit muuttaa CONTROLS-kรคskyn luoman rakenteen attribuutteja
<cntrl>-fixed_cols etc are the attributes of the control <cntrl>-cols-index etc are the attributes of the columns. <cntrl>-cols-screen-invisible etc are the screen attributes of each column.
๐ก Vinkki: Silmukka yli -cols PBO:ssa piilottaaksesi tai suojataksesi sarakkeen tietylle kรคyttรคjรคroolille toisen nรคytรถn rakentamisen sijaan.

