SAP Kontrola tablice ABAP s primjerima

Kontrole tablice i petlje koraka su objekti za prikaz tablice na ekranu koje dodajete na ekran na ekranu Painter.

Sa stajališta programiranja, tablične kontrole i petlje koraka gotovo su potpuno iste. Kontrole tablice jednostavno su poboljšane petlje koraka koje prikazuju podatke s izgledom i dojmom povezanim s tablicama u aplikacijama za stolna računala.

Značajke kontrole tablice ABAP

Pomoću tabličnih kontrola korisnik može:

  • Pomičite se po tablici okomito i vodoravno
  • Promijenite veličinu širine stupca
  • Pomicanje unutar polja (kada je sadržaj polja širi od polja)
  • Odaberite retke ili stupce tablice
  • Promijenite redoslijed stupaca
  • Spremite trenutne postavke zaslona za buduću upotrebu

Kontrole tablice također nude posebne značajke oblikovanja (neke automatske, neke izborne) koje olakšavaju pregled i korištenje tablica. Table Control pruža –

  • automatsko mijenjanje veličine tablice (okomito i vodoravno) kada korisnik mijenja veličinu prozora
  • razdjelne linije između redaka i između stupaca (okomito i vodoravno)
  • polja zaglavlja stupaca za sve stupce

Jedna značajka step petlji je da njihovi redovi tablice mogu obuhvaćati više od jednog retka na ekranu. Red kontrole tablice, s druge strane, uvijek mora biti sadržan u jednom retku (iako je pomicanje moguće).

Općenito, mnogim značajkama koje pruža kontrola tablice upravlja lokalno vaš sustav SAPgui frontend, tako da ih ne morate sami programirati. Jedina značajna iznimka od ovoga je okomito pomicanje.

Primjer (transakcija TZ60)

SAP Kontrola tablice ABAP

Sintaksa

Za rukovanje tabličnim kontrolama u ABAP programima, morate deklarirati kontrolu u deklaracijskom dijelu programa za svaku tabličnu kontrolu pomoću sljedeće izjave:

CONTROLS <ctrl> TYPE TABLEVIEW USING SCREEN <scr>

gdje je naziv kontrole tablice na ekranu u programu ABAP. Kontrola omogućuje ABAP programu čitanje atributa kontrole tablice i utjecaj na kontrolu. Ovdje, je broj zaslona gdje se učitavaju početne vrijednosti tablice.

Položaj kursora za kontrolu tablice može se postaviti na sljedeće načine:

Na PBO možete postaviti kursor na određeno polje određenog retka kontrole tablice.

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

Koristeći izborni dodatak OFFSET, možete unijeti pomak kursora u polje kao što je opisano pod Postavljanje položaja kursora.

Na PAI-u možete očitati trenutni položaj kursora.

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

Uz informacije dane pod Određivanje položaja kursora, polje sadrži informacije o tome na kojem se retku kontrole tablice trenutno nalazi kursor. Također možete koristiti

GET CURSOR LINE <lin>.

za određivanje reda kontrole tablice. SY-SUBRC vam omogućuje da provjerite je li kursor postavljen u red tablične kontrole.

Za dobivanje odgovarajuće linije interni stol:

GET CURSOR line <lin>.

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

Read table <itab> index ind.

Sistemska varijabla stepl – sadrži trenutni indeks retka tablice u petlji … endloop. Loopc – sadrži broj linija vidljivih u tablici

Za stvaranje kontrole tablice

1. Dodajte kontrolni element tablice na svoj zaslon

2. Dajte ime tabličnoj kontroli. U ABAP programu deklarirajte strukturu s istom ( CONTROLS upišite TABLEVIEW KORIŠĆENJEM ZASLONA )

3. Za stvaranje polja idite na funkciju Dict./Program fields.

  • Unesite naziv strukture čija polja želite. (Ako želite da ga izabere iz rječnika vašeg programa, kliknite odgovarajući gumb).
  • Na popisu polja odaberite polja koja želite i odaberite ok.
  • Pritisnite u kontrolnom području tablice

Ako želite stupac za odabir, označite odgovarajući potvrdni okvir u atributima i dodijelite mu naziv. Stvorite polje u ABAP program.

U PBO biste trebali imati izjavu

LOOP at <itab> USING CONTROL <cntrl_name>.

ENDLOOP.

U PAI-u ste trebali.

LOOP at <itab>.

ENDLOOP.

Prijenos podataka između zaslona i interne tablice odvija se unutar petlji. Kada popunjavate internu tablicu upotrijebite DESCRIBE TABLE LINIJE -lines, za pohranjivanje ukupnog broja redaka u kontroli. Naredba FIELD može se koristiti za kontrolu kada će se dogoditi prijenos podataka

Za promjenu atributa pojedinačnih ćelija privremeno promijenite tablicu SCREEN u PBO. Možete promijeniti atribute strukture stvorene naredbom CONTROLS

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