SAP ABAP tabulas vadība ar piemēriem

Anonim

Tabulas vadīklas un pakāpienu cilpas ir ekrāna tabulas attēlošanas objekti, kurus pievienojat ekrāna gleznotāja ekrānam.
No programmēšanas viedokļa tabulas vadīklas un soli ir gandrīz vienādi. Tabulu vadīklas ir vienkārši uzlabotas darbību cilpas, kas parāda datus ar izskatu un sajūtu, kas saistīta ar darbvirsmas lietojumprogrammu tabulām.
Izmantojot tabulas vadīklas, lietotājs var:

  • Ritiniet tabulu vertikāli un horizontāli
  • Mainiet kolonnas platuma lielumu
  • Ritināt laukā (ja lauka saturs ir plašāks par lauku)
  • Atlasiet tabulas rindas vai kolonnas
  • Pārkārtojiet kolonnu secību
  • Saglabājiet pašreizējos displeja iestatījumus turpmākai izmantošanai

Tabulu vadīklas piedāvā arī īpašas formatēšanas funkcijas (dažas automātiskas, citas izvēles), kas atvieglo tabulu apskati un lietošanu. Galda vadība nodrošina -

  • automātiska tabulas izmēru maiņa (vertikāla un horizontāla), kad lietotājs maina loga lielumu
  • separatora līnijas starp rindām un kolonnām (vertikāli un horizontāli)
  • kolonnu galvenes lauki visām kolonnām

Viena pakāpienu cilpas iezīme ir tā, ka to tabulas rindas ekrānā var ietvert vairāk nekā vienu līniju. Savukārt tabulas vadības rindai vienmēr jābūt vienā rindā (lai gan ritināšana ir iespējama).
Parasti daudzas no tabulas vadības funkcijām lokāli apstrādā jūsu sistēmas SAPgui priekšgals, tāpēc jums nav nepieciešams tās pašiem ieprogrammēt. Vienīgais ievērojamais izņēmums ir vertikālā ritināšana .
Piemērs (darījums TZ60)


Sintakse
Lai apstrādātu tabulas vadīklas ABAP programmās, katras tabulas vadīklas programmas deklarācijas daļā ir jādeklarē vadīkla, izmantojot šādu paziņojumu:

KONTROLE  TIPA TABULASKATS, IZMANTOJOT EKRĀNU 

kur ir tabulas vadīklas nosaukums ABAP programmas ekrānā. Vadīkla ļauj ABAP programmai nolasīt tabulas vadības atribūtus un ietekmēt vadību. Šeit ir ekrāna numurs, kurā tiek ielādētas tabulas sākotnējās vērtības.
Kursora pozīciju tabulas vadībai var iestatīt šādos veidos:
Vietnē PBO varat iestatīt kursoru noteiktā tabulas vadīklas rindas noteiktā laukā.

IESTATĪT KURŠA LAUKU  LINE 
 [OFFSET ]

Izmantojot izvēles papildinājumu OFFSET, laukā varat ievadīt kursora nobīdi, kā aprakstīts sadaļā Kursora pozīcijas iestatīšana.
PAI jūs varat nolasīt pašreizējo kursora atrašanās vietu.

IEGŪT KURSU LAUKU  LINE 
 ... 

Papildus informācijai, kas sniegta sadaļā Kursora atrašanās vietas noteikšana, laukā ir informācija par to, kurā tabulas vadības rindā kursors pašlaik atrodas. Jūs varat arī izmantot

IEGŪT KURŠU LĪNIJU 
.

lai noteiktu tabulas vadības rindu. SY-SUBRC ļauj pārbaudīt, vai kursors ir ievietots tabulas vadības rindā.
Lai iegūtu atbilstošo iekšējās tabulas rindiņu:

IEGŪT kursora līniju 
.ind =  -top_line + 
 - 1.Lasīt tabulu  indeksa ind.

Sistēmas mainīgais stepl - satur pašreizējo tabulas rindas indeksu ciklā… endloop. Loopc - satur tabulā redzamo līniju skaitu.
Lai izveidotu
tabulas vadību, 1. Pievienojiet ekrānam tabulas vadības elementu. 2.
Piešķiriet nosaukumu tabulas vadībai. Programmā ABAP deklarējiet struktūru ar tādu pašu (CONTROLS type TABLEVIEW USING SCREEN )
3. Lai izveidotu laukus, dodieties uz lauku Dict./Program.

  • Ievadiet tās struktūras nosaukumu, kuras laukus vēlaties. (Ja vēlaties, lai to izvēlas no jūsu programmas vārdnīcas, noklikšķiniet uz attiecīgā puhbutton).
  • Lauku sarakstā izvēlieties vajadzīgos laukus un izvēlieties Labi.
  • Noklikšķiniet tabulas vadības apgabalā

Ja vēlaties atlases kolonnu, atribūtos atzīmējiet atbilstošo izvēles rūtiņu un piešķiriet tai nosaukumu. Izveidojiet lauku ABAP programmā.
PBO jums vajadzētu būt paziņojumam

LOOP at  LIETOŠANA CONTROL .BEIGT.

PAI jums vajadzētu būt.

LOOP pie .BEIGT.

Datu pārsūtīšana starp ekrānu un iekšējo tabulu notiek cilpās. Kad aizpildāt iekšējo tabulu, izmantojiet DESCRIBE TABLE LĪNIJAS -rindas, lai kontrolē saglabātu kopējo rindu skaitu. var izmantot, lai kontrolētu datu pārsūtīšanu.
Lai mainītu atsevišķu šūnu atribūtus, uz laiku mainiet tabulu SCREEN PBO. Varat mainīt priekšrakstu CONTROLS izveidotās struktūras atribūtus

 -fixed_cols utt. ir vadības atribūti -cols-index utt. ir kolonnu atribūti. -cols-screen-invisible utt. ir katras kolonnas ekrāna atribūti.