care este diferența dintre tabelul intern și zona de lucru și cum funcționează acestea?
tabelul intern este o structură temporară de memorie bidimensională similară tabelului bazei de date. Putem stoca mai multe înregistrări în internaltable și,de asemenea, folosind indicii de înregistrare putem face activități precum citirea, adăugarea, ștergerea, modificarea etc.
în timp ce zona de lucru este o variabilă declarată cu tipul unui tabel intern sau al unui tabel de baze de date. Poate stoca o singură înregistrarela un moment dat. Este ca o declarație de structură în C. putețise referă la coloane individuale din zona de lucru cu numele.
dacă declarați un tabel intern cu clauza „cu linie de antet”, tabelul intern în sine acționează ca o zonă de lucru. De exemplu, ITAB este o zonă de lucru și ITAB este tabelul intern.
dacă sunteți familiarizat cu ORACLE PLSQL, zona de lucru este similarto %ROW_TYPE și intern este similar cu tipul de tabel.
mai multe informații despre utilizarea tabelului intern cu și fără antet:
când creați un obiect tabel intern, puteți, de asemenea, să declarați o linie de antet cu același nume. Puteți utiliza linia de antet cao zonă de lucru atunci când procesați tabelul intern. Declarațiile ABAP pe care le utilizați cu tabelele interne au formulare scurte pe care le puteți utiliza dacă tabelul dvs. intern are o linie de antet. Aceste declarații presupun automatlinia antetului ca zonă de lucru implicită. Următorul tabel arată declarațiile pe care trebuie să le utilizați pentru tabelele interne fără o linie de antet și declarațiile echivalente pe care le puteți utiliza pentru tabelele interne cu o linie de antet:
operații fără linie antet
operații cu linie antet
operații pentru toate tipurile de tabele
introduceți< wa >în tabelul<itab >.
INTRODUCEȚI TABELUL ITAB.
se colectează< wa >în<itab >.
colecta < itab >.
citiți tabelul<itab > … În < wa >.
citiți tabelul < itab>…
modificați tabelul<itab > din<wa > …
modificați tabelul < itab >…
modificare<itab > din<wa > …Unde …
modificare < itab >… Unde …
se șterge tabelul<itab > din<wa >.
se șterge tabelul<itab >.
buclă la ITAB în<wa > …
BUCLĂ LA ITAB …
operații pentru tabelele Index
adăugați < wa>la <itab>.
adăugați<itab >.
se introduce<wa > în<itab > …
se introduce < itab >…
modificare<itab > din<wa > …
modificare < itab >…
utilizarea liniei de antet ca zonă de lucru înseamnă că puteți utiliza instrucțiuni mai scurte; cu toate acestea,ele nu sunt neapărat mai ușor de înțeles, deoarece nu puteți recunoaște imediat originea și ținta misiunii.Mai mult, faptul că tabelul și linia sa de antet au același lucrunumele poate provoca confuzie în operațiunile cu tabele interne întregi. Pentru a evita confuzia, ar trebui să utilizați tabele interne cu nume diferitezone de lucru.
următorul exemplu prezintă două programe cu același lucrufuncție. Unul folosește o linie de antet, cealaltă nu.
cu linia antetului:
tipuri: începutul liniei,
COL1 tip I,
COL2 tip I,
sfârșitul liniei.
DATE TIP ITAB TABEL HASH DE LINIE CU CHEIE UNICĂ
COL1
CU LINIE ANTET.
FACEȚI DE 4 ORI.
ITAB-COL1 = INDICELE SY .
ITAB-COL2 = INDICELE SY * * 2.
INTRODUCEȚI TABELUL ITAB.
sfârșit.
ITAB-COL1 = 2.
CITIȚI TABELUL ITAB DE LA ITAB.
ITAB-COL2 = 100.
MODIFICAȚI TABELUL ITAB.
ITAB-COL1 = 4.
SE ȘTERGE TABELUL ITAB.
BUCLĂ LA ITAB.
SCRIE: / ITAB-COL1, ITAB-COL2.
ENDLOOP.
fără linie antet:
tipuri: începutul liniei,
COL1 tip I,
COL2 tip I,
sfârșitul liniei.
date: TIP ITAB TABEL HASH DE LINIE CU CHEIE UNICĂ COL1, A FO T CA LINIA ITAB.
FACEȚI DE 4 ORI.
WA-COL1 = INDICELE SY.
WA-COL2 = SY-INDEX * * 2.
INTRODUCEȚI WA ÎN TABELUL ITAB.
sfârșit.
WA-COL1 = 2.
CITIȚI TABELUL ITAB DIN WA ÎN WA.
WA-COL2 = 100.
MODIFICAȚI TABELUL ITAB DIN WA.
WA-COL1 = 4.
ȘTERGEȚI TABELUL ITAB DIN WA.
BUCLĂ LA ITAB ÎN WA.
SCRIE: / WA-COL1, WA-COL2.
ENDLOOP.
lista, în ambele cazuri, apare după cum urmează:
1 1
2 100
3 9
declarațiile din program care nu utilizează o linie de antet sunt mai ușor de înțeles. Ca o măsură suplimentară, ați putea avea o continuarezona de lucru doar pentru a specifica cheia tabelului intern, dar la care nu sunt atribuite alte valori din tabel.
Citește și
Anexemplu al unui program ListBox
Lista de cărți ABAP
ABAP/4 certificare,programare, formulare inteligente, Sapscripts și cărți de programare orientate pe obiecte
formulare inteligente
SAP Smartforms
meniu ABAP:
ABAP Example Hintsand Tips
Return to Index:-
SAP ABAP/4 Programming,Basis Administration, Configuration Hints and Tips