A legfontosabb összetevői az ABAP/4 típuskoncepciójának az adattípusok és az adatobjektumok.
Adattípusokat a struktúrájuk és definíciójuk szerint osztályozhatjuk:
| Előre definiált | Felhasználó által definiált | |
|---|---|---|
| Elemi | Az ABAP/4 nyolc előre definiált típussal rendelkezik: C, D, F, I, N, P, T, X | A felhasználó által definiált adattípusok az elemi adattípusokra épülnek | 
| Struktúrált | Táblák: csak a formális paraméterek tipizálásánál és a mezőszinbolumoknál használható | Rekord kezeléshez és belső táblákhoz | 
| Adattípus | Leírás | Kezdőérték | Iniciális hossz | 
|---|---|---|---|
| P | pakolt decimális | 0 | 8 | 
| I | integer | 0 | platform függő | 
| F | lebegő pontos | 0.000... | platform függő | 
| N | numerikus szöveg | 000... | 1 | 
| C | szöveg (karakter) | space | 1 | 
| D | dátum YYYYMMDD | 00000000 | 8 | 
| T | idő HHMMSS | 000000 | 6 | 
| X | hexadecimális | X'00' | 1 | 
Az adatobjektumoknak több fajtáját különböztetjük meg:
Talán ez az egyik legfontosabb és legegyedibb típusa az ABAP/4-nek. Mivel a nyelvet alapvetően
nagytömegű adatok feldolgozására fejlesztették ki, szükséges volt megoldani az adatbázissal történő
kommunikációt anélkül, hogy az túlzottan leterhelné a központi szervert. A lényege az, hogy egyszer,
vagy akár többször, a program futása során az adatbázisszerverről beolvassuk a számunkra fontos adatokat egy
belső táblába, ott feldolgozzuk őket, majd ha szükséges, ugyancsak a belső táblán keresztül visszaírjuk
az adatbázisba a módosításokat. Egy belső táblát létrehozhatunk (DATA utatsítás segítségével) fejléccel
vagy anélkül. Ha fejléccel hozzuk létre, akkor az egyik lehetőség a  fejléc segítségével kommunikálni
a belső táblával, ahol a fejléc neve megegyezik a belső tábla nevével. Ha fejléc nélkül hozzuk létre, akkor
egy un. munkaterület (work area) segítségével történik a belső tábla elérése. A fejléc és a munkaterület
egy olyan struktúra, mely megegyezik a belső tábla definíciójával (tehát a belső tábla egy sorának felel meg).

| Művelet | Leírás | 
|---|---|
| APPEND | Sor(ok) táblához fűzése | 
| COLLECT | Hozzáfűzés kulcsegyezés figyelésével | 
| INSERT | Megadott helyre sor beszúrása | 
| MODIFY | Mezők módosítása (index megadható) | 
| DELETE | Sorok törlése (loop ciklusban vagy index vagy feltétel alapján) | 
| SORT | Rendezés | 
| CLEAR | Visszaállítja a táblát az inicializált értékére (header line esetén azt a sort) | 
| REFRESH | Mindenképp visszaállítja a táblát | 
| LOOP AT | Tábla olvasása (intervallum megadható) | 
| READ TABLE | Olvasás index vagy kulcs alaján | 
Az ABAP-Dictionary-ban lehetőségünk van un. típuscsoportok létrehozásásra (TYPE POOL), melyek típusokat, konstansokat tartalmazhatnak és egyetlen utasítással (TYPE-POOLS) bevonhatunk a programozói munkába.
Egy szeparáló karakter alapján részekre vágja a szövegünket, amelyeket változókba rakhatunk Használat
A SEARCH függvény egy értéket keres meg egy Stringben és az érték pozicióját sy-fdpos nevű rendszerváltozóban tárolja el. Használat
A CONCATENATE függvény segítségével tetszőleges számú szöveget fűzhetünk össze. Használat
A SHIFT függvény elmozgatja a string elemeit (LEFT, RIGHT, CIRCULAR) irányba places paraméterben megadott értékkel. Használat
Translate függvény segítségével kis -, vagy nagybetűssé alakíthatjuk a szövegünket. Használat
A függvény egy szöveg hosszát adja vissza. Használat
A Condense függvény segítségével eltávolíthatjuk a szóközöket a szövegből. Használat
A Replace egy szövegben a megadott értékeket kicseréli. Használat
| Függvény | Leírás | Szintaxis | 
|---|---|---|
| ABS | Visszadja az argumentum abszolut értékét | ABS(n) | 
| CEIL | Visszaadja a következő egész számot ami nagyobb vagy egyenlő az argumentummal | CEIL(n) | 
| FLOAT | Egy szöveget lebegőpontos számmá alakít. | FLOAT(str) | 
| FLOOR | Visszaadja azt az egész számot, ami kisebb vagy egyenlő az argumentumnál. | FLOOR(n) | 
| HEX | Egy hexadecimális szöveget decimális szöveggé konvertál | HEX(str) | 
| INT | Egy szöveget egész számmá alakít | INT(str) | 
| LIMIT | Korlátozza egy számot a megadott tartományon. | LIMIT(lower,n,upper), ha n kissebb, mint lower, akkor a lower értékkel tér vissza, ha n nagyobb, mint upper akkor az upper értékkel egyébként meg n-el | 
| MAX | Megkeresi egy számlista maximumát | MAX(number list) | 
| MIN | Megkeresi egy számlista minimumát | MIN(number list) | 
| NSTR | Egy maszknak megfelelően fogrmázza a számot és szöveggel tér vissza | NSTR(n,mask) a mask értékeit lásd a Maszkok táblázatban | 
| NVAL | Egy szöveg numirikus értékét adja vissza | NVAL(str) | 
| POS | Egy szöveget positive egész számmá konvertál | POS(str) | 
| RND | Visszad egy vélétlen számo, ami nagyobb 0 tól és kissebb a max értéktől | RND(max) | 
| ROUND | Kerekít, visszadja a legközellebbi egész számot (0,5 esetén felfelé kerekít) | ROUND(n) | 
| SIGN | Az ismert előjel függvény (ha a szám negatív -1, pozitív esetén 1 és minden más esetben 0 val tér vissza ) | SIGN(n) | 
| TRUNC | A szám egész részét adja vissza | TRUNC(n) | 
| FRAC | A maradékot adja vissza | FRAC(n) | 
| 
				 Maszk  | 
			
				 Leírás  | 
		
|---|---|
| 
				 +  | 
			
				 + vagy - jelet rak a számok elé.  | 
		
| 
				 -  | 
			
				 a pozitivak elé sapce-t, a negatívak elé - jelet rak .  | 
		
| 
				 Z  | 
			
				 A jelentés nélküli számjegyek nullák. pl('000045')  | 
		
| 
				 P  | 
			
				 A jelentés nélküli számjegyek space-k.pl (' 45')  | 
		
| 
				 B  | 
			
				 A nullákat space-re cseréli.  | 
		
| 
				 C  | 
			
				 Ezres bontásban jeleníti meg a számokat.  | 
		
| 
				 N  | 
			
				 A tizedesponttól ballra hány szém jelenjen meg.  | 
		
| 
				 . M  | 
			
				 A tizedesponntól jobbra hány szám jelenjen meg  | 
		
| 
				 %  | 
			
				 Az adatokat százalékban jeleníti meg.  | 
		
| 
				 [CUR]  | 
			
				 Beszúrja az adott deviza kódot. A valuta kódot szögletes zárójelben kell megadni (például a [USD] vagy az [EUR]) .  | 
		
| 
				 NORMAL  | 
			
				 Szabványos formátum.  | 
		
Néhány példa
Függvény  | 
			Leírás  | 
			Szintaxis  | 
			Példák  | 
		
|---|---|---|---|
DATE  | 
			Visszaadja a meghatározott időpontig az adott év, hónap, nap értékeket az alapértelmezett formátumban.  | 
			DATE(year,month,day)  | 
			DATE(2005,4,23) Összeállítja az alapértelmezett formátumban a dátumot: 23/4/2005  | 
		
TIME  | 
			Visszaadja a meghatározott időben az adott óra, perc, másodperc értéket az alapértelmezett formátumban.  | 
			TIME(hour,min,sec)  | 
			TIME(14,30,45) == 14:30:45 Összeállítja az aktuális idő szerint az óra, perc és másodperc értékeketet alapértelmezett formátumban. Ebben az esetben, a következő az eredmény: 14:30:45  | 
		
DADD/ TADD  | 
			Növeli / csökkenti a dátum / idő értéket a paraméterben kapott értékkel.  | 
			DADD(dt,n,unit) TADD (t,n,unit)  | 
			TADD(@CREATE_TIME,13,'H') Ebben az esetben 13 órát ad hozzá az értékhez. például ha a CREATE_TIME 10:17:22 akkor az eredmény: 23:17:22 (az alapértelmezett formátum (HH:NN:SS).  | 
		
DGET TGET  | 
			Egy numerikus értéket ad vissza, a lényege hogy lekérdezhetjük egy dátum bármely részét külön-külön  | 
			DGET(dt,part) TGET(t,part) Az első paraméter az idő/dátum, a második pedig, hogy minek a numerikus értékét szeretnénk elkérni óra/hónap  | 
			DGET(@CREATE_DATE,'M') Ha a CREATE_DATE 30.05.2002 és a part paraméter 'M'(Hónap) a visszatérési érték 5 lesz, ha 27.02.2004 akkor 2  | 
		
DSTR/ TSTR  | 
			Ennek a függvénynek a segítségével módosíthatjuk az alapértelmezett dátum formátumot  | 
			DSTR (dt,mask) TSTR (t,mask) A mask paraméter egy speciális string, ami meghatározza a dátu/idő formátumát  | 
			DSTR(@DATE_FIELD,'MON DD, YYYY') Ebben az esetben ha a DATE_FILED 30.05.2002 a következő alakot kapjuk vissza May 30, 2002 DSTR(DADD(@CREATE_DATE,13,'D'),'XML_DATE') A függvények egybeágyazhatóak. Ebben a példában hozzáadunk 13 napot a CREATE_DATE paraméterhez, majd egy másik formátumba konvertáljuk,ha a paraméter 30.05.2002, a visszatéréris érték : 2002-06-12  | 
		
DSUB/ TSUB  | 
			Visszaadja a két dátum/idő közötti értéket a unit paraméternek megfelelő formátumban.  | 
			DSUB(dt1,dt2,unit) TSUB (t1,t2,unit)  | 
			DSUB(NOW(),@CREATE_DATE,'D') A példában napokban akarjuk megkapni a két dátum közötti időszakot. A NOW() függvény az aktuális dátumot adja vissza. ha az aktuálsis dátum 16.09.2007 és a CREATE_DATE 05.8.2007, akkor a visszatérési érték 39  | 
		
DVAL/ TVAL  | 
			Converts a date or a time string representation – usually in a user input field – to a standard date/time value. The date/time input format is defined by the client platform and user locale settings.  | 
			DVAL(str) TVAL(str)  | 
			DVAL(@TIME_FIELD) A függvény az alapértelmezett formátumra konvertálja a dátumunkat. A példában, ha a TIME_FIELD 30.05.06, akkor az alapértelmezett formátummal tér vissza: 30/05/2006  | 
		
NOW/ TNOW  | 
			Visszadja az aktuális dátumot vagy időt.  | 
			NOW() TNOW()  | 
			NOW() Visszadja az aktuális dátumot az alapértelmezettt formátumban TNOW() Visszadja az aktuális időt az alapértelmezett formátumban:08:40:10  |