SAP ABAP tabeli juhtimine näidetega

Tabeli juhtelemendid ja sammusilmused on ekraanitabeli kuvamise objektid, mille lisate ekraanile Painter.

Programmeerimise seisukohast on tabeli juhtnupud ja sammutsüklid peaaegu täpselt samad. Tabeli juhtelemendid on lihtsalt täiustatud sammutsüklid, mis kuvavad andmeid töölauarakenduste tabelitega seotud välimuse ja tunnetusega.

ABAP tabelikontrolli omadused

Tabeli juhtelementidega saab kasutaja:

  • Kerige tabelit vertikaalselt ja horisontaalselt
  • Muutke veeru laiust
  • Kerige väljal (kui välja sisu on väljast laiem)
  • Valige tabeli read või veerud
  • Järjestage veergude järjestus ümber
  • Salvestage praegused kuvaseaded edaspidiseks kasutamiseks

Tabeli juhtelemendid pakuvad ka spetsiaalseid vormindamisfunktsioone (mõned automaatsed, mõned valikulised), mis muudavad tabelite vaatamise ja kasutamise lihtsamaks. Tabelikontroll pakub –

  • automaatne tabeli suuruse muutmine (vertikaalne ja horisontaalne), kui kasutaja muudab akna suurust
  • eraldusjooned ridade ja veergude vahel (vertikaalne ja horisontaalne)
  • veeru päise väljad kõigi veergude jaoks

Üks sammsilmuste omadus on see, et nende tabeliread võivad ekraanil katta rohkem kui ühte rida. Tabeli juhtelemendi rida peab seevastu alati olema ühel real (kuigi kerimine on võimalik).

Üldiselt haldab paljusid tabeli juhtelemendi pakutavaid funktsioone teie süsteem kohapeal SAPgui frontend, nii et te ei pea neid ise programmeerima. Ainus märkimisväärne erand sellest on vertikaalne kerimine.

Näide (tehing TZ60)

SAP ABAP tabeli juhtimine

Süntaks

Tabeli juhtelementide käsitlemiseks ABAP-programmides peate iga tabeli juhtelemendi programmi deklaratsiooniosas juhtelemendi deklareerima, kasutades järgmist lauset:

CONTROLS <ctrl> TYPE TABLEVIEW USING SCREEN <scr>

kus on tabeli juhtelemendi nimi ABAP programmi ekraanil. Juhtseade võimaldab ABAP-programmil lugeda tabeli juhtelemendi atribuute ja mõjutada juhtelementi. on ekraani number, kuhu laaditakse tabeli algväärtused.

Tabeli juhtelemendi kursori asukohta saab määrata järgmistel viisidel:

PBO-s saate seada kursori tabeli juhtelemendi konkreetse rea konkreetsele väljale.

SET CURSOR FIELD <f> LINE <lin> [OFFSET <off>]

Valikulise lisamise OFFSET abil saate sisestada väljale kursori nihke, nagu on kirjeldatud jaotises Kursori asukoha määramine.

PAI-s saate lugeda kursori praegust asukohta.

GET CURSOR FIELD <f> LINE <lin> ...

Lisaks väljal Kursori asukoha väljaselgitamine antud teabele sisaldab teavet selle kohta, millisel tabeli juhtelemendi real kursor parasjagu on. Võite ka kasutada

GET CURSOR LINE <lin>.

tabeli juhtelemendi rea määramiseks. SY-SUBRC võimaldab kontrollida, kas kursor on asetatud tabeli juhtelemendi reale.

Vastava rea ​​saamiseks sisemine laud:

GET CURSOR line <lin>.

ind = <table_control>-top_line + <lin> - 1.

Read table <itab> index ind.

Süsteemi muutuja stepl – sisaldab praegust tabelirea indeksit tsüklis … endloop. Loopc – sisaldab tabelis nähtavate ridade arvu

Tabeli juhtelemendi loomiseks

1.Lisage ekraanile tabeli juhtelement

2.Andke tabeli juhtelemendile nimi. Programmis ABAP deklareerige sama struktuur ( CONTROLS tippige TABELUVAADE EKRAANI KASUTAMISEL )

3. Väljade loomiseks minge funktsiooni Dikt./Programmiväljad.

  • Sisestage selle struktuuri nimi, mille välju soovite. (Kui soovite, et see valiks selle teie programmi sõnastikust, klõpsake vastavat nuppu).
  • Valige väljade loendist soovitud väljad ja valige OK.
  • Klõpsake tabeli juhtalal

Kui soovite valikuveergu, märkige atribuutides vastav märkeruut ja andke sellele nimi. Looge väljal ABAP programm.

PBO-s peaks teil olema avaldus

LOOP at <itab> USING CONTROL <cntrl_name>.

ENDLOOP.

PAI-s peaks teil olema.

LOOP at <itab>.

ENDLOOP.

Ekraani ja sisetabeli vahel toimub andmeedastus silmuste sees. Sisemise tabeli täitmisel kasutage valikut DESCRIBE TABLE JOONID -lines, et salvestada juhtelemendi ridade koguarv. Lause FIELD abil saab määrata, millal andmeedastus toimub

Üksikute lahtrite atribuutide muutmiseks muutke ajutiselt PBO tabelit SCREEN. Saate muuta CONTROLS-lausega loodud struktuuri atribuute

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