Táblakezelés: Open SQL Internal table. Tarcsi Ádám: Az SAP programozása 1.

Hasonló dokumentumok
ELTE SAP Excellence Center Oktatóanyag 1

Adatbázis rendszerek SQL nyomkövetés

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Az ABAP fejlesztői környezet. Az SAP programozása 1. Tarcsi Ádám

ABAP dictionary objektumok SAP adatmodell Táblák kezelése. Az SAP programozása 1. Tarcsi Ádám

Adatbázis kezelés Delphiben. SQL lekérdezések

Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN

Adatbázis Rendszerek II. 8. Gyakorló környezet

SAP vállalatirányítási rendszer alapjai /6-7

Haladó DBMS ismeretek 1

Adatbázisok* tulajdonságai

Adatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány)

Adatbázis Rendszerek II. 5. PLSQL Csomagok 16/1B IT MAN

Csomag. Adatbázis-objektum Programozási eszközök gyűjteménye Két részből áll. specifikáció törzs (opcionális)

Kalmár György Adatbázis alapú rendszerek

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

SQL/PSM kurzorok rész

Együttes hozzárendelés

Adatbázis-kezelés. Harmadik előadás

Gyakorlás: Hozzunk létre egy Alkalmazottak táblát AZO szám, Részleg szöveg, Munkakör szöveg és BelépésDátuma dátum típussal.

Tranzakciókezelés PL/SQL-ben

A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai

B I T M A N B I v: T M A N

Készítette: Szabóné Nacsa Rozália

A könyv tartalomjegyzéke

SQL PÉLDATÁR. készült a PTE TTK Iskolai informatika III. kurzus teljesítésére

Az SQL adatbázisnyelv: DML

SAP vállalatirányítási rendszer alapjai /3

Adatbázis tartalmának módosítása

OO PDO. Tehát PDO használatával, könnyen átállhatunk egy másik adatbáziskezelőre, anélkül hogy a kódot teljes egészében újraírnánk.

Adatbázis használata PHP-ből

Adatbázis használat I. 5. gyakorlat

Adattípusok. Max. 2GByte

Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv)

Adatbázisok I. Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

Adattípusok. Max. 2GByte

Java és web programozás

B IT MAN 65/1. Adatbázis Rendszerek II. Ellenőrző kérdések APLSQL B IT MAN. v:

ELTE SAP Excellence Center Oktatóanyag 1

Elemi alkalmazások fejlesztése IV.

Tábla létrehozása: CREATE TABLE alma( ID INT( 3 ) NOT NULL PRIMARY KEY, Leiras VARCHAR( 100 ) );

Adatbázisok webalkalmazásokban

ADATBÁZIS RENDSZEREK I BEADANDÓ

Adatbázis-kezelés, információs-rendszerek

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

SQL DDL-2 (aktív elemek) triggerek

BEVEZETÉS Az objektum fogalma

Adatbázisok-1 előadás Előadó: dr. Hajas Csilla

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Adatbázisok elmélete 9. előadás

5. téma XML DB. Az adatkezelés és XML kapcsolata. Miért fontos az XML használata az adatbázis kezelésben?

Bevezetés: az SQL-be

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

Adatbázis-kezelés ODBC driverrel

Adatbázisok. 9. gyakorlat SQL: SELECT október október 26. Adatbázisok 1 / 14

SQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1

SQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások

Kilencedik témakör: Lazarus-Firebird. Készítette: Dr. Kotsis Domokos

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT

Adatbázis Rendszerek II. 2. Gyakorló környezet

ORACLE. SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

ELTE SAP Excellence Center Oktatóanyag 1


Adatbázis Rendszerek II. 2. Ea: Gyakorló környezet

Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK)

SAP vállalatirányítási rendszer alapjai /3-4

PL/SQL (folytatás) Kurzorok, függvények, eljárások

SQL parancsok feldolgozása

Hozzunk ki többet abból amink van. Fehér Lajos

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:

Adatbázisok elmélete 9. előadás

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

Vektoros grafikát tároló adatbázisok. Katona Endre Térképi adatbázisok diasorozata alapján

SQL DDL-1: táblák és megszorítások

SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

Java és web programozás

Adatbázisok elmélete 10. előadás

Vizuális programozás gyakorlat

Összefoglaló. <variable_name> [IN OUT IN OUT] <data_type> [:=<default_value>] ... <label_name>: <statements>... GOTO <label_name>;...

Az Oracle rendszer komponensei

SAP vállalatirányítási rendszer alapjai /8-9

SQL jogosultság-kezelés. Privilégiumok Grant és Revoke Grant Diagrammok

Webfejlesztés 4. alkalom

Gyakorlatok. Megoldások. Fejezet céljai. Üzleti leírás. Tippek és trükkök. Figyelmeztetések. Gyakorlatok és megoldások szimbólumainak magyarázata:

Bevezetés az SQL-be. Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009

SQL. Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák

Indexek és SQL hangolás

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

Excel ODBC-ADO API. Tevékenységpontok: - DBMS telepítés. - ODBC driver telepítése. - DSN létrehozatala. -Excel-ben ADO bevonása

Adatbázis. AMP! (Apache + MySql + PHP) XAMPP, LAMP, MAMP, WAMP et cetera

Debreceni Egyetem Informatikai Kar TANULÓI NYILVÁNTARTÓ SZOFTVER FIREBIRD ADATBÁZIS ALKALMAZÁSÁVAL

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

Exadata hibrid oszlopos adattömörítés automatizálása; DB 12c partition merge

Adatbázisok tavaszi félév Vizsgatételsor

MDAC - Microsoft Data Access Components

INDEXSTRUKTÚRÁK III.

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE) október október 22. Adatbázisok 1 / 14

AB1 ZH mintafeladatok. 6. Minősítse az állításokat! I-igaz, H-hamis

LBRA6i integrált rendszer

Átírás:

Táblakezelés: Open SQL Internal table Tarcsi Ádám: Az SAP programozása 1.

OPEN SQL Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 2

Open SQL Az Open SQL kulcsszavai: SELECT INSERT UPDATE MODIFY ~ INSERT és UPDATE DELETE OPEN CURSOR FETCH CLOSE CURSOR COMMIT WORK ROLLBACK WORK Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 3

Open SQL SELECT SELECT <* / mezők / aggregátor fv-ek> FROM <tábla> INTO <cél> WHERE <feltétel> GROUP BY <mező csoportosításhoz> HAVING <csoport feltétel> ORDER BY <mező rendezéshez> Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 4

SELECT Több rekord szelektálása: SELECT * FROM customers. ENDSELECT. Egy rekord kiválasztása: SELECT SINGLE * FROM customers WHERE id = 1. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 5

Select Into Table Structure TABLES spfli. SELECT * FROM spfli INTO spfli. WRITE: / spfli-carrid, spfli-connid, spfli-cityfrom, spfli-cityto. ENDSELECT. IF sy-subrc <> 0. WRITE: / Üres a tábla. ENDIF. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 6

Select Into Work Area DATA wa LIKE spfli. SELECT * FROM spfli INTO wa. WRITE: / wa-carrid, wa-connid, wa-cityfrom, wa-cityto. ENDSELECT. IF sy-subrc <> 0. WRITE: / Üres a tábla. ENDIF. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 7

Select Into variable DATA: id like customers-id, name like customers-name, city like customers-city. SELECT id name city INTO (id, name, city) FROM customers. WRITE: / id, name, city. ENDSELECT. IF sy-subrc <> 0. write / Üres a tábla. ENDIF. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 8

Select Into Corresponding fields of TABLES: customers. SELECT id name city INTO CORRESPONDING FIELDS OF customers FROM customers. WRITE: / customers-id, customers-name, customers-city. ENSELECT. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 9

Sorszám, DB TABLES customers. SELECT * FROM customers. WRITE: / sy-dbcnt, customers-id, customers-name. ENDSELECT. IF sy-subrc <> 0. WRITE: / Üres a tábla. ELSE. WRITE: / sy-dbcnt, db rekordot találtam. ENDIF. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 10

Kurzor Egy utasítás végrehajtására lefoglalt memóriaterület. Kurzor készítése: OPEN CURSOR [WITH HOLD] <c> FOR SELECT <result> FROM <source> [WHERE <condition>] [GROUP BY <fields>] [HAVING <cond>] [ORDER BY <fields>]. Olvasás: FETCH NEXT CURSOR <c> INTO <target>. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 11

Kurzor példa DATA: c1 TYPE cursor. DATA: wa1 TYPE spfli. OPEN CURSOR: c1 FOR SELECT carrid connid FROM spfli WHERE carrid = 'LH'. DO. FETCH NEXT CURSOR c1 INTO CORRESPONDING FIELDS OF wa1. IF sy-subrc <> 0. CLOSE CURSOR c1. EXIT. ELSE. WRITE: / wa1-carrid, wa1-connid. ENDIF. ENDDO. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 12

COMMIT, ROLLBACK és SAP DB LUW COMMIT WORK: DB Logical Unit of Work (LUW) lezárása, kommittálás ROLLBACK WORK: DB LUW lezárása, visszagörgetés Az SAP DB LUW élettartalma: Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 13

Natív SQL (vs. Open SQL) Adatbázisfüggő SQL utasítás futtatása. Végrehajtás közvetlenül az adatbázisban történik. Előnyei Nem ABAP Dictionary-ban deklarált táblák is elérhetőek. (pl.: sys vagy system user táblái Oracle adatbázis esetén) Adatbázis-függő jellegzetességek kihasználhatósága Hátránya EXDEC és ENDEXEC között a szintaktikai ellenőrző nem fut le. Adatbázis-függő SQL kódok nem hordozhatóak különböző adatbázis-kezelő rendszerek között. Mandant-függő táblák kezelését a programozónak kell megoldania. Adatbázis-migráció esetén a programot karban kell tartani. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 14

Natív SQL példa 1. DATA: P1 TYPE ZELTE_OSZT_AZON, P2 TYPE ZELTE_OSZT_NEVE, P3 LIKE SY-MANDT. WRITE: sy-dbsys. P3 = SY-MANDT. P1 = 23. EXEC SQL. SELECT OSZT_AZON, OSZT_NEV INTO :P1, :P2 FROM ZELTE_OSZT WHERE MANDT = :P3 AND OSZT_AZON = :P1 ENDEXEC. WRITE: / P1, P2, P3. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 15

Natív SQL példa 2. DATA: F1(3), F2(3), F3(3). EXEC SQL. CREATE TABLE NATIVE_SQL_TST ( CLIENT CHAR(3) NOT NULL, ARG1 CHAR(3) NOT NULL, ARG2 CHAR(3) NOT NULL, FUNCTION CHAR(10) NOT NULL, PRIMARY KEY (CLIENT)) ENDEXEC. EXEC SQL. INSERT INTO NATIVE_SQL_TST VALUES ('800','ar1','ar2','funkció') ENDEXEC. F3 = '800'. EXEC SQL. SELECT CLIENT, ARG1 INTO :F1, :F2 FROM NATIVE_SQL_TST WHERE CLIENT = :F3 ENDEXEC. WRITE: / F1, F2. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 16

INTERNAL TABLE Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 17

Adat objektumok ABAP-ban Változó Struktúra Tábla struktúra Internal Table Internal Table Flight (Internal Table) Carrid Connid Date Price Header Line Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 18

Belső tábla Ideiglenes tábla, mely az alkalmazás szerver memóriájában tárolódik (nem a GUI-t futtató gépen) A program futásakor jön létre, csak akkor használható. Részei: Törzs: A rekordokat tartalmazza. Definíciója: occurs n. Header line: Az éppen visszaadott vagy a táblához adott sort tartalmazza, implicit munkaterület, puffer. Nem minden belső táblához létezik. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 19

Belső tábla létrehozása Data dictonary (SE11) / Adatelem / Táblatípus Más táblára / struktúrára való hivatkozással: DATA <f> <type/like> [OCCURS <n>] [WITH HEADER LINE] Új struktúrával: DATA: BEGIN OF <f> OCCURS <n>, <komponens deklaráció>, END OF <f>. TYPES: BEGIN OF t_ekpo, ebeln TYPE ekpo-ebeln, ebelp TYPE ekpo-ebelp, END OF t_ekpo. DATA: it_ekpo TYPE STANDARD TABLE OF t_ekpo INITIAL SIZE 0, wa_ekpo TYPE t_ekpo. "work area (header line) BEGIN OF: header line-t készít LIKE / TYPE nem készít header line-t, csak WITH HEADER LINE kitétellel! Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 20

Internal table új struktúrával DATA: BEGIN OF tab OCCURS 10, carrid like sflight-carrid, connid like sflight-connid, fldate like sflight-fldate, price like sflight-price, END OF tab. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 21

Internal table ABAP Dictionary struktúrával DATA: BEGIN OF tab OCCURS 0. INCLUDE STRUCTURE sflight, END OF tab. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 22

Internal table like DATA tab LIKE sflight OCCURS 0 WITH HEADER LINE. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 23

Internal table table of DATA tab TYPE TABLE OF customers. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 24

Belső tábla létrehozása OCCURS <n>: Allokálandó memória, (létrejövő sorok száma létrehozáskor). Kiterjeszthető, bővíthető. DATA: wa_itab like itab. " explicit work area itab-hoz (OCCURS nélkül). Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 25

Munka a belső táblákon Munkaterület <wa> - APPEND - COLLECT - INSERT - MODIFY - DELETE Belső tábla <itab> - SORT - CLEAR - REFRESH - LOOP AT - READ TABLE Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 26

Belső táblák feltöltése APPEND [<wa> TO INITIAL LINE TO] <itab>. Header line-nal rendelkező tábla esetén a <wa> TO opció elhagyható. COLLECT [<wa> TO] <itab>. Kulcsegyezés figyelésével. Ha létezik azonos kulccsal bejegyzés, akkor nem történik új sor beszúrása, különben ugyanúgy működik, mint az append INSERT [<wa> TO INITIAL LINE TO] <itab> [INDEX <idx>]. Index megadása kötelező, ha nem LOOP ciklusban dolgozzuk fel a táblát. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 27

Internal tábla feltöltése - APPEND TABLES sflight. DATA flight LIKE sflight OCCURS 0 WITH HEADER LINE. SELECT * FROM sflight. MOVE sflight TO flight. APPEND flight. ENDSELECT. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 28

Rendezés - SORT Sort flight. Sort flight by price fldate. Sort flight by price ascending fldate descending. DATA flight LIKE sflight OCCURS 0 WITH HEADER LINE. SELECT * FROM sflight INTO TABLE tab. SORT tab BY cityfrom. LOOP AT tab. WRITE: / tab-carrid, tab-price. ENDLOOP. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 29

Olvasás - LOOP LOOP AT <itab> [INTO <wa>] [FROM <n1>] [TO <n2>] [WHERE <feltétel>]... ENDLOOP. A FROM opcióval meghatározhatjuk az első olvasandó sornak az indexét. A TO opcióval meghatározhatjuk az utolsó olvasandó sornak az indexét. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 30

Olvasás belső táblából DATA flight LIKE sflight OCCURS 0 WITH HEADER LINE. SELECT * FROM sflight INTO TABLE tab. IF sy-subrc = 0. LOOP AT tab. WRITE: / sy-tabix, tab-carrid, tab-price. ENDLOOP. ELSE. WRITE: / Üres. ENDIF. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 31

Olvasás - READ READ TABLE <itab> [INTO <wa>] INDEX <idx>. Index-edik elem kiolvasása READ TABLE <itab> [INTO <wa>] WITH KEY <key>. Kulcs alapján történő kiolvasás READ TABLE flight WITH KEY carrid = LH Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 32

Sorok módosítása MODIFY <itab> [FROM <wa>] [INDEX <idx>]. TABLES customers. customers-id = 1. customers-name = Teszt.. MODIFY customers. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 33

Sorok törlése - DELETE LOOP ciklusban: DELETE <itab>. Index használatával: DELETE <itab> INDEX <idx>. Feltételtől függően: DELETE <itab> WHERE <feltétel> Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 34

Describe rekordok száma DATA: line_count TYPE i. DATA flight LIKE sflight OCCURS 0 WITH HEADER LINE. SELECT * FROM sflight INTO TABLE tab. DESCRIBE TABLE tab LINES line_count. WRITE: / line_count. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 35

PÉLDÁK Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 36

Belső tábla feltöltése adatbázis táblából * Munkaterület létrehozása adatbázis táblához TABLES CUSTOMERS. * Belső tábla létrehozása header line-al DATA ALL_CUSTOMERS LIKE CUSTOMERS OCCURS 100 WITH HEADER LINE. * Belső tábla feltöltése (korábbi tartalom felülírásával) SELECT * FROM CUSTOMERS INTO TABLE ALL_CUSTOMERS. * Belső tábla feltöltése (korábbi tartalom megtartásával) SELECT * FROM CUSTOMERS APPENDING TABLE ALL_CUSTOMERS. * Eredmény megjelenítése LOOP AT ALL_CUSTOMERS. WRITE / ALL_CUSTOMERS-NAME. ENDLOOP. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 37

Sor / sorok hozzáfűzése belső táblához TABLES CUSTOMERS. * Típus létrehozása a belső táblához TYPES: BEGIN OF T_CUSTOMER_CITY, ID LIKE CUSTOMERS-ID, CITY LIKE CUSTOMERS-CITY, END OF T_CUSTOMER_CITY. * Belső tábla létrehozása DATA CUSTOMER_CITIES TYPE T_CUSTOMER_CITY OCCURS 100 WITH HEADER LINE. * Belső tábla feltöltése SELECT * FROM CUSTOMERS. MOVE-CORRESPONDING CUSTOMERS TO CUSTOMER_CITIES. APPEND CUSTOMER_CITIES. ENDSELECT. * SELECT * INTO CORRESPONDING FIELDS OF TABLE CUSTOMER_CITIES FROM CUSTOMERS. LOOP AT CUSTOMER_CITIES. WRITE / CUSTOMER_CITIES-CITY. ENDLOOP. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 38

Sorok beszúrása adott pozícióba TABLES CUSTOMERS. TYPES: BEGIN OF T_CUSTOMER_CITY, ID LIKE CUSTOMERS-ID, CITY LIKE CUSTOMERS-CITY, END OF T_CUSTOMER_CITY. DATA CUSTOMER_CITIES TYPE T_CUSTOMER_CITY OCCURS 100 WITH HEADER LINE. SELECT * FROM CUSTOMERS. MOVE-CORRESPONDING CUSTOMERS TO CUSTOMER_CITIES. APPEND CUSTOMER_CITIES. ENDSELECT. * Sor beszúrása adott pozícióba CUSTOMER_CITIES-ID = '00000015'. CUSTOMER_CITIES-CITY = 'Szeged'. INSERT CUSTOMER_CITIES INDEX 3. LOOP AT CUSTOMER_CITIES. WRITE / CUSTOMER_CITIES-CITY. ENDLOOP. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 39

Rekord beszúrása adatbázis táblába TABLES CUSTOMERS. * Munkaterület létrehozása DATA VEVOK LIKE CUSTOMERS. * Bejegyzés beillesztése a tábla munkaterületére CUSTOMERS-ID = '12345678'. CUSTOMERS-NAME = 'Kovacs'. INSERT CUSTOMERS. IF SY-SUBRC <> 0. WRITE: / 'A bejegyzés már létezik:', CUSTOMERS-ID. ENDIF. * Beillesztés a munkaterületről VEVOK-ID = '11111111'. VEVOK-NAME = 'Nagy'. INSERT INTO CUSTOMERS VALUES VEVOK. IF SY-SUBRC <> 0. WRITE: / ' A bejegyzés már létezik :', VEVOK-ID. ENDIF. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 40

Rekordok beillesztése adatbázis táblába TABLES CUSTOMERS. DATA UJ_VEVOK LIKE CUSTOMERS OCCURS 100 WITH HEADER LINE. * Belső tábla feltöltése UJ_VEVOK-ID = '12345678'. UJ_VEVOK-NAME = 'Kovács'. APPEND UJ_VEVOK. UJ_VEVOK-ID = '11111111'. UJ_VEVOK-NAME = 'Nagy'. APPEND UJ_VEVOK. UJ_VEVOK-ID = '12121212'. UJ_VEVOK-NAME = 'Kis'. APPEND UJ_VEVOK. * Tábla feltöltése a belső táblában lévő adatokkal INSERT CUSTOMERS FROM TABLE UJ_VEVOK. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 41

Adatbázis tábla módosítása (UPDATE / MODIFY) TABLES CUSTOMERS. * Tábla módosítása (munkaterület alapján) CUSTOMERS-ID = '12345678'. CUSTOMERS-CITY = 'Pécs'. UPDATE CUSTOMERS. * MODIFY CUSTOMERS. IF SY-SUBRC <> 0. WRITE: 'Bejegyzés nem létezik:', CUSTOMERS- ID. ENDIF. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 42

Adatbázis tábla módosítása - több rekord TABLES CUSTOMERS. * Belső tábla a módosításhoz DATA MOD_CUSTOMERS LIKE CUSTOMERS OCCURS 50 WITH HEADER LINE. SELECT * FROM CUSTOMERS INTO TABLE MOD_CUSTOMERS WHERE CITY = SPACE. LOOP AT MOD_CUSTOMERS. MOD_CUSTOMERS-CITY = 'Ismeretlen'. MODIFY MOD_CUSTOMERS. ENDLOOP. * Adatbázis-tábla módosítása UPDATE CUSTOMERS FROM TABLE MOD_CUSTOMERS. * Adatbázis-tábla módosítása WHERE klauzúrával UPDATE CUSTOMERS SET CITY = 'Ismeretlen' WHERE CITY = SPACE. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 43

Törlés adatbázis táblából TABLES CUSTOMERS. * Egy rekord törlése CUSTOMERS-ID = '12345678'. DELETE CUSTOMERS. * Belső tábla a törléshez DATA TOROLT_VEVOK LIKE CUSTOMERS OCCURS 50 WITH HEADER LINE. * Belső tábla feltöltése SELECT * FROM CUSTOMERS INTO TABLE TOROLT_VEVOK WHERE CITY = SPACE. * Törlés adatbázis táblából belső tábla alapján DELETE CUSTOMERS FROM TABLE TOROLT_VEVOK. * Törlés adatbázis táblából WHERE feltétel használatával. DELETE FROM CUSTOMERS WHERE ID LIKE '1%'. Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 44