Documente Academic
Documente Profesional
Documente Cultură
10 Tabele VSAB (tabele de contirbutii) – inainte 2002 (total ~40 de milioane de inregistrari)
10 tabele VSAB (tabele de contirbutii) – dupa 2002 (total ~40 de milioane de inregistrari)
Ex:
LOOP at GT_VTKP
- Pe blocuri de 30 de inregistrari: Citire din VSAB in (appending) GT_VSAB FOR ALL ENTRIES IN
GT_VTKP_30
- Procesare blocului de date (~30 de inregistrari)
- Obtinere/afisare rezultat(e) (~30 de inregistrari)
BINARY SEARCH
Avem o tabela interna in care vrem sa citim o linie dupa o anumita cheie
1
7
8
3
9
2
0
Avem o tabela interna cu mai multe chei (mai multe campuri care formeaza cheia tabelei) sortata doar
dupa un camp.
La citirea (READ TABLE) tabelei interne dupa intreaga cheie cu BINARY SEARCH – va citi binary dupa
campul sortat, apoi secvential dupa celelalte campuri din cheie (DE TESTAT!!!)
Field Symbols
- Verificarea daca a fost sau nu assignata zona de memorie cu IS ASSIGNED (si nu IF sy-subrc = 0)
- Verificarea cu IS INITIAL ar putea returna faptul ca adresa la care se refera nu mai este cea
corecta, desi field symbol nu mai este initial.
COLLECT
MATNR
100
100
200
100
Situatii:
1. Wa1 si wa2 sunt de acelasi tip – OK
2. Wa2 contine mai multe campuri (cu acelasi nume si tip) din wa1 dar si alte campuri.
3. Wa1 si wa2 cateva campuri “commune”:
a. unele cu acelasi nume, tipuri diferite
b. Unele campuri cu nume diferite, acelasi tip
c. Campuri cu nume diferite, tipuri diferite
Exemplu:
http://help.sap.com/saphelp_47x200/helpdata/en/fc/eb3260358411d1829f0000e829fbfe/content.htm
http://scn.sap.com/thread/510730
“If both the tables have same fields, With respect to their type and length then you can just use = or MOVE.
MOVE-CORRESPONDING should be used only when you want to move the data based on field names.
The performance of MOVE Is better than MOVE-CORRESPONDING since here you dont compare the field
names but just do a byte/char sequence copy.”
“If you change an include that is used in both structures, everything works without any needs for updating
the code. However, if you remove a field from an include, or a list of selected fields, you don't get any
warnings that you were actually using this field for something.”
ABAP OO
- Composition instead of Inheritance – (includerea in Clasa “de lucru” a unui atribut de tipul clasei
“mostenite”) – Inheritance este o relatie “IS A”, iar Compostion este o relatie “HAS A”
- Defensive programming (pentru definirea metodelor/atributelor cu nivel de visibilitate cel mai
scazut si in functie de cerinte de poate creste nivelul de vizibiltate)