SAP ABAP-taulukon ohjaus esimerkein

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

Yksi askelsilmukoiden ominaisuus on, että niiden taulukon rivit voivat kattaa useamman kuin yhden rivin näytöllä. Toisaalta taulukon ohjausobjektin rivin tulee aina sisältyä yhdelle riville (vaikka vieritys on mahdollista).

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)

SAP ABAP-taulukon ohjaus

Syntaksi

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 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>.

määrittääksesi taulukon ohjausobjektin rivin. SY-SUBRC:n avulla voit tarkistaa, onko kohdistin sijoitettu taulukon ohjausobjektin riville.

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

Taulukon ohjausobjektin luominen

1.Lisää näyttöön taulukon ohjauselementti

2.Anna nimi taulukon ohjausobjektille. Ilmoita ABAP-ohjelmassa rakenne, jolla on sama ( CONTROLS kirjoita TAULUKKONÄYTTÖ NÄYTÖSSÄ )

3. Luo kenttiä siirtymällä Sanele/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:ssa sinulla pitäisi olla lausunto

LOOP at <itab> USING CONTROL <cntrl_name>.

ENDLOOP.

PAI:ssa sinun pitäisi olla.

LOOP at <itab>.

ENDLOOP.

Silmukoiden sisällä tiedonsiirto tapahtuu näytön ja sisäisen taulukon välillä. Kun täytät sisäisen taulukon, käytä DESCRIBE TABLE LINJAT -rivit, tallentaaksesi ohjausobjektin rivien kokonaismäärän. FIELD-käskyllä ​​voidaan ohjata tiedonsiirtoa

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.

Päivittäinen Guru99-uutiskirje

Aloita päiväsi uusimmilla ja tärkeimmillä tekoälyuutisilla, jotka toimitetaan juuri nyt.