SAP ABAP stalo valdymas su pavyzdžiais

Turinys

Lentelių valdikliai ir žingsnių kilpos yra ekrano lentelės rodymo objektai, kuriuos pridedate prie ekrano tapytojo ekrano.
Programavimo požiūriu lentelių valdikliai ir žingsnių kilpos yra beveik visiškai vienodi. Lentelių valdikliai yra tiesiog patobulintos žingsnių kilpos, rodančios duomenis su išvaizda ir jausmu, susietu su lentelėmis darbalaukio programose.
Naudodamas stalo valdiklius, vartotojas gali:

  • Slinkite per lentelę vertikaliai ir horizontaliai
  • Iš naujo nustatykite stulpelio plotį
  • Slinkti lauke (kai lauko turinys yra platesnis nei laukas)
  • Pasirinkite lentelių eilutes ar stulpelius
  • Pertvarkykite stulpelių seką
  • Išsaugokite dabartinius ekrano nustatymus, kad galėtumėte juos naudoti ateityje

Lentelių valdikliai taip pat siūlo specialias formatavimo funkcijas (kai kurios automatinės, kitos neprivalomos), kurios palengvina lentelių peržiūrą ir naudojimą. Stalo valdymas suteikia -

  • automatinis lentelės dydžio keitimas (vertikalus ir horizontalus), kai vartotojas keičia lango dydį
  • skiriamosios linijos tarp eilučių ir tarp stulpelių (vertikalios ir horizontalios)
  • stulpelių antraštės laukai visiems stulpeliams

Viena žingsnių kilpų ypatybė yra ta, kad jų lentelių eilutės gali apimti daugiau nei vieną ekrano liniją. Kita vertus, lentelės valdiklio eilutė visada turi būti vienoje eilutėje (nors slinkti įmanoma).
Apskritai daugelį lentelės valdymo funkcijų valdo jūsų sistemos SAPgui sąsaja, todėl jums nereikia jų programuoti patiems. Vienintelė pastebima išimtis yra vertikalus slinkimas .
Pavyzdys (operacija TZ60)


Sintaksė
Norėdami tvarkyti lentelių valdiklius ABAP programose, kiekvienos lentelės valdiklio programos deklaracijos dalyje turite deklaruoti valdiklį naudodami šį sakinį:

KONTROLĖS  TIPO LENTELĖŽVALGA NAUDOJANT EKRANĄ 

kur yra lentelės valdiklio pavadinimas ABAP programos ekrane. Valdiklis leidžia ABAP programai nuskaityti lentelės valdiklio atributus ir paveikti valdymą. Čia yra ekrano numeris, į kurį įkeliamos pradinės lentelės vertės.
Lentelės valdiklio žymeklio vietą galima nustatyti šiais būdais:
PBO galite nustatyti žymeklį konkrečiame lentelės valdiklio konkrečios eilutės lauke.

NUSTATYTI ŽYMEKLIO LAUKĄ  LINE 
 [OFFSET ]

Naudodami papildomą papildymą OFFSET, galite įvesti žymeklio poslinkį į lauką, kaip aprašyta skyriuje Žymeklio padėties nustatymas.
PAI galite perskaityti dabartinę žymeklio padėtį.

GAUTI žymeklio lauką  LINE 
 ... 

Be informacijos, pateiktos skiltyje Žymeklio padėties nustatymas, lauke pateikiama informacija, kurioje lentelės eilutėje valdomas žymeklis. Taip pat galite naudoti

GAUTI žymeklio liniją 
.

nustatyti lentelės valdymo eilutę. SY-SUBRC leidžia patikrinti, ar žymeklis padėtas lentelės valdymo eilutėje.
Norėdami gauti atitinkamą vidinės lentelės eilutę:

GAUTI žymeklį eilutė 
.ind = 
 -top_line + 
 - 1.Skaityti lentelę  rodyklės ind.

Sistemos kintamasis stepl - esamas lentelės eilutės indeksas yra kilpos… endloop. „Loopc“ - lentelėje matomas eilučių skaičius
Norėdami sukurti lentelės valdiklį 1.
Prie ekrano
pridėkite lentelės valdymo elementą. 2. Suteikite lentelės valdikliui pavadinimą. ABAP programoje deklaruokite struktūrą tuo pačiu („CONTROLS“ tipo „TABLEVIEW USING SCREEN“ ).
3. Norėdami sukurti laukus, eikite į laukų „Dict./Program“ funkciją.

  • Įveskite struktūros, kurios laukus norite, pavadinimą. (Jei norite, kad jis pasirinktų jį iš jūsų programos žodyno, spustelėkite atitinkamą puhbutton).
  • Laukų sąraše pasirinkite norimus laukus ir gerai.
  • Spustelėkite lentelės valdymo srityje

Jei norite pažymėti stulpelį, pažymėkite atitinkamą žymimąjį langelį atributuose ir suteikite jam pavadinimą. Sukurkite lauką ABAP programoje.
PBO turėtumėte turėti pareiškimą

ŽIŪRĖTI  NAUDOJANT VALDYMĄ .PABAIGA.

PAI turėtumėte.

ŽIŪRĖTI .PABAIGA.

Duomenų perdavimas tarp ekrano ir vidinės lentelės vyksta cikle. Kai užpildote vidinę lentelę, naudokite DESCRIBE TABLE LINES - eilutes, kad išsaugotumėte bendrą eilučių skaičių valdiklyje. gali būti naudojamas valdyti, kada įvyksta duomenų perdavimas
Norėdami pakeisti atskirų langelių atributus, laikinai pakeiskite PBO lentelę SCREEN. Galite pakeisti „CONTROLS“ sakiniu sukurtos struktūros atributus

 -fixed_cols ir tt yra valdiklio atributai -cols-index ir tt yra stulpelių atributai. -cols-screen-invisible ir tt yra kiekvieno stulpelio ekrano atributai.

Įdomios straipsniai...