SAP ABAP tabeli juhtimine koos näidetega

Anonim

Tabeli juhtelemendid ja sammusilmused on ekraanilaudade kuvamise objektid, mille lisate ekraanipildis ekraanile.
Programmeerimise seisukohalt on tabeli juhtelemendid ja samm-tsüklid peaaegu täpselt samad. Tabeli juhtelemendid on lihtsalt täiustatud sammtsüklid, mis kuvavad andmeid töölauarakenduste tabelitega seotud välimuse ja tunnetusega.
Tabeli juhtelementide abil saab kasutaja:

  • Sirvige tabelit vertikaalselt ja horisontaalselt
  • Suurenda veeru laiust uuesti
  • Kerige välja sees (kui välja sisu on väljast laiem)
  • Valige tabeliread või veerud
  • Järjestage veergude järjestus uuesti
  • Salvestage praegused kuva seaded edaspidiseks kasutamiseks

Tabelikontrollerid pakuvad ka spetsiaalseid vormindamise funktsioone (mõned automaatsed, mõned valikulised), mis muudavad tabelid hõlpsamaks vaatamiseks ja kasutamiseks. Tabelikontroll pakub -

  • automaatne tabeli suuruse muutmine (vertikaalne ja horisontaalne), kui kasutaja suurendab akna suurust
  • eraldusjooned ridade ja veergude vahel (vertikaalsed ja horisontaalsed)
  • kõigi veergude veerupäise väljad

Sammutsüklite üks omadus on see, et nende tabeliread võivad sirvida ekraanil rohkem kui ühte rida. Seevastu tabeli juhtelemendi rida peab alati sisaldama ühte rida (kuigi kerimine on võimalik).
Üldiselt haldab paljusid tabelikontrolli pakutavaid funktsioone teie süsteemi SAPgui kasutajaliides kohapeal, nii et teil pole vaja neid ise programmeerida. Ainus tähelepanuväärne erand on vertikaalne kerimine .
Näide (tehing TZ60)


Süntaks
ABAP-programmide tabelikontrollide käsitsemiseks peate deklareerima juhtelemendi iga deklaratsiooniosa programmi deklaratsiooniosas järgmise lause abil:

Juhtnupud  TÜÜBITABELIVAADE EKRAANI KASUTAMISEL 

kus on ABAP-programmi ekraanil oleva tabeli juhtelemendi nimi. Juhtimine võimaldab ABAP-programmil lugeda tabeli juhtelemendi atribuute ja mõjutada juhtimist. Siin on ekraaninumber, kuhu laaditakse tabeli algväärtused.
Kursori asukohta saab tabeli juhtelemendi jaoks määrata järgmistel viisidel:
PBO-s saate määrata kursori tabeli juhtelemendi konkreetse rea konkreetsele väljale.

MÄÄRA KURSORIVÄLJAS  LINE 
 [OFFSET ]

Lisavarustuse OFFSET abil saate sisestada kursori nihke väljale, nagu on kirjeldatud jaotises Kursori asukoha määramine.
PAI-s saate lugeda kursori praegust asukohta.

Hangi kursori väli  LINE 
 ... 

Lisaks kursori asukoha väljaselgitamisele toodud teabele sisaldab väli teavet selle kohta, millisel tabelireal kursor parajasti asub. Võite ka kasutada

Hangi kursorijoon 
.

tabelikontrolli rea määramiseks. SY-SUBRC võimaldab teil kontrollida, kas kursor on paigutatud tabeli juhtelemendi ritta.
Sisemise tabeli vastava rea ​​saamiseks

Hangi kursori rida 
.ind =  -top_line + 
 - 1.Loe tabelit  indeksi ind.

Süsteemimuutuja stepl - sisaldab praegust tabelirea indeksit silmuses… endloop. Loopc - sisaldab tabelis nähtavate ridade arvu.
Tabeli juhtelemendi loomiseks
1.
Lisage ekraanile tabeli juhtelement. 2. Andke tabeli juhtelemendile nimi. Deklareerige ABAP-programmis sama struktuur (CONTROLS type TABLEVIEW USING SCREEN ). 3.
Väljade loomiseks minge väljadele Dict./Program.

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

Kui soovite valiku veergu, märkige atribuutides vastav märkeruut ja andke sellele nimi. Looge väli ABAP-programmis.
PBO-s peaks teil olema avaldus

LOOP aadressil  JUHTIMISEGA .LÕPU.

PAI-s peaksite olema.

LOOP aadressil .LÕPU.

Andmete edastamine toimub ekraani ja sisemise tabeli vahel silmuste piires. Kui sisemine tabel täidetakse, kasutage juhtelementide koguarvu salvestamiseks DESCRIBE TABLE LINES -ridu. saab kasutada andmeedastuse juhtimiseks
. Üksikute lahtrite atribuutide muutmiseks muutke ajutiselt PBO tabelit SCREEN. Te saate muuta lause CONTROLS loodud struktuuri atribuute

 -fixed_cols jne on juhtelemendi atribuudid -cols-index jne on veergude atribuudid. -cols-screen-invisible jne on iga veeru ekraaniatribuudid.