Az ABAP programozási nyelv Alapvető vezérlési szerkezetek

Slides:



Advertisements
Hasonló előadás
Szerver oldali programozás
Advertisements

Tananyag: konzultáció
Algoritmusok.
Adatbázis gyakorlat 1. Szerző: Varga Zsuzsanna ELTE-IK (2004) Budapest
Hatékonyságvizsgálat, dokumentálás
SZÁMÍTÓGÉP- HÁLÓZAT.
Összefoglalás 1. Pascal program szerkezete 2. Pascal típusai
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
Algoritmus és programozás
3. előadás (2005. március 1.) Utasítások, tömbök
Budapesti Műszaki és Gazdaságtudományi Egyetem Elektronikus Eszközök Tanszéke A programozás alapjai 1. (VIEEA100) 9. előadás.
Visual Basic for Application (VBA)
Programozás alapjai.
Programozás alapjai.
Algoritmusok Az algoritmus fogalma:
Programozás II. 3. Gyakorlat C++ alapok.
A CLIPS keretrendszer CLIPS "C" Language Integration Production System.
C A C nyelv utasításai.
C A C nyelv utasításai. Ismétlés Utasítások csoportosítása.
Készítette: Sárközi Anikó
Programozás I. Horváth Ernő.
Java programozási nyelv 2. rész – Vezérlő szerkezetek
Adatbázis-kezelés ACCESS program:
Utasítások, elágazás- és ciklusszervezés C nyelvi utasítások
SQL92 lehetőségek KL A tábla B tábla C view adatok VIEW működése utasítás: SELECT.. FROM A,B … SELECT.. FROM C Az adatok a hivatkozáskor állítódnak elő.
PHP Webprogramozás alapjai
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Szombathely Dinamikus WEB programozás: PHP és JSP.
Operációs rendszerek gyakorlat sed, awk parancsok.
Vizuális és web programozás II.
ISZAM III.évf. részére Bunkóczi László
WEB Technológiák ISAPI ME Általános Informatikai Tsz. dr. Kovács László.
Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék
Vezérlési szerkezetek: elágazások, ciklusok
Operációs rendszerek gyakorlat 4. Gyakorlat Vakulya Gergely.
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
Az SQL nyelv alapjai.
C nyelv utasításai.
Access XP Kifejezés-szerkesztő Összehasonlító operátorok:
Alprogramok deklarációja, definíciója és meghívása Páll Boglárka.
Klasszikus Programozás a FoxPro-ban
Szintaktikai, szemantikai szabályok
PHP nyelv. PHP Interpreteres nyelv → parancsértelmező szükséges hozzá Rasmus Lerdorf 1995 → személyes felhasználás (internetes önéletrajzának megtekintésének.
Készítette: Csíki Gyula
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Turbo Pascal Indítás: C:\LANGS\Turbo Pascal Turbo Pascal.
Java programozási nyelv Vezérlési szerkezetek
Java programozási nyelv Metódusok
Adatbázis kezelés.
1 Objektum orientált programozás Öröklődés: többszörös öröklődés, konstruktorok, destruktorok, overloading Nagy Szilvia.
Webprogramozó tanfolyam
A Visual Basic nyelvi elemei
HTML ÉS PHP (Nagyon) rövid áttekintés. ADATBÁZISRENDSZEREK MŰKÖDÉSI SÉMÁJA Felh. interakció DB Connector MySQL ? A gyakorlaton:
Fontos tudnivalók A MATLAB egy fajta objektummal dolgozik (Mátrix)
Török Katalin és Marosi Nóra 11/c. Pascal: Az es években megjelent magas szintű programozási nyelv, közel áll az emberi gondolkodáshoz. Nevét.
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
C Programozási alapok.
Algoritmizálás, adatmodellezés
Adatszerkezetek és algoritmusok 2008/ Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században.
Készítette: Rummel Szabolcs Elérhet ő ség: Linux kezelése.
Programstruktúrák. Program A program utasítások olyan sorozata, amely a számítógépen önállóan képes megoldani egy feladatot. A program háttértáron futtatható.
SAP Riportok, táblák, programok. Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék SAP Logon !FRISS! Megnevezés: GUI Applikációs szerver:
Riportok, táblák, programok
Gépészeti informatika (BMEGEMIBXGI)
A CLIPS keretrendszer
Az információ.
Informatikai gyakorlatok 11. évfolyam
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Informatikai gyakorlatok 11. évfolyam
Algoritmus készítés.
Előadás másolata:

Az ABAP programozási nyelv Alapvető vezérlési szerkezetek http://nyelvek.inf.elte.hu/leirasok/ABAP/

Tartalom X.1.VEZÉRLÉS X.1. 1.A vezérlésről röviden X.1.2. Szekvencia X.1.3. Ciklus  X.1.4. Elágazás X.1.5. Egyéb vezérlést befolyásoló utasítások X.2. Beépített adattípusok, absztrakt adattípusok X.2. 1. Adattípusok X.2.2. Adatobjektumok X.2.3. Belső táblák

Tartalom X.3. Operátorok X.3.1. Összehasonlító operátorok X.3.2. Összehasonlító operátorok karaktersorozatokhoz X.3.3. Aritmetikai operátorok X.4. Alprogramok X.4.1. Az utasítás X.4.2. Függvény-könyvtárak X.5. Fájlkezelés

X.1. A vezérlésről röviden Az ABAP/4 megkülönböztet belső és külső vezérlést. A belső vezérlést a programkódunk határozza meg az egyes utasítások egymás utáni leírásával, melyeket az alapvető vezérlési szerkezetekkel módosíthatunk. A külső vezérlést az időbeli események határozzák meg. Ezek származhatnak vagy ABAP/4-programoktól (rendszer-, vagy felhasználói programok), vagy interaktív felhasználóktól (egér esemény stb.).

X.1.2. Szekvencia A programon belül minden szót legalább egy szóköz választ el, az újsort is ennek veszi a rendszer. Utasításokat viszonylag szabadon írhatunk le, az egy utasításba tartozó szavakat több sorba is szétszórhatjuk, vagy több utasítást egy sorba is írhatunk.

X.1.3. Ciklus Kétféle ismétlési utasítást tartalmaz az ABAP/4 programozási nyelv.   DO [<n> TIMES]. <végrehajtási blokk> ENDDO.

X.1.3. Ciklus WHILE <feltétel>. <végrehajtási blokk>   <végrehajtási blokk> ENDWHILE.

X.1.4. Elágazás Két lehetőségünk van: IF <feltétel1>. <végrehajtási blokk> ELSEIF <feltétel2>. ... ELSE. ENDIF.

X.4. Elágazás CASE <mezőnév>. WHEN <érték1>. <végrehajtási blokk> WHEN <érték2>. ... WHEN OTHERS. ENDCASE.

X.1.5. Egyéb vezérlést befolyásoló utasítások EXIT.: A legbelső ciklusból, vagy egy modul egységből lép ki a vezérlés. CONTINUE.: Cikluson belül IF utasítással használva a ciklus elejére adhatjuk a vezérlést.  CHECK <feltétel>.: Ha a feltétel igaz akkor, ciklusban alkalmazva ekvivalens az előzőekben tárgyalt CONTINUE utasítás hatásával, míg modul egységben az EXIT utasítással.

X.2. Beépített adattípusok, absztrakt adattípusok A legfontosabb összetevői az ABAP/4 típuskoncepciójának az adattípusok és az adatobjektumok. Az adattípus (elemi vagy struktúrált) pontos leírással rendelkezik, a program szempontjából nem rendelkezik tárterülettel, leírja az adatobjektumok technikai tulajdonságait, egy attribútuma egy vagy több adatobjektumnak, melyekhez szorosan kapcsolódik

X.2. Beépített adattípusok, absztrakt adattípusok Az adatobjektum (literál, változó, konstans) egy fizikai egység, melyet egy program futásidőben használ, pontosan egy adattípushoz rendelhető hozzá, rendelkezik tárterülettel, feldolgozása függ a típusától.

X.2. Beépített adattípusok, absztrakt adattípusok Láthatóság szempontjából háromféleképpen osztályozhatjuk a adattípusokat és az adatobjektumokat: program független adatok, melyek az ABAP/4 Dictionary-ban definiáltak belső adatok, melyek egy programon belül deklarálhatunk adatok, melyeket egy eljárásban (alrogramban, függvénykönytárban) definiálhatunk.  

X.2. 1. Adattípusok Adattípusokat a struktúrájuk és definíciójuk szerint osztályozhatjuk: elemi (nem sruktúrált) vagy struktúlált előre definiált vagy felhasználó által definiált.

Felhasználó által definiált X.2. 1. Adattípusok   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ő-szimbólumoknál használható Rekord kezeléshez és belső táblákhoz

X.2. 1. Adattípusok Adattípus Leírás Kezdőérték Iniciális hossz P pakolt decimális 8 I integer platform függő F lebegő pontos 0.000... N numerikus szöveg 000... 1 C szöveg (karakter) space D dátum YYYYMMDD 00000000 T idő HHMMSS 000000 6 X hexadecimális X'00'

X.2.2. Adatobjektumok Az adatobjektumoknak több fajtáját különböztetjük meg: A belső adatobjektumok egy programban hozhatjuk létre és csak ezen a programon belül van érvényük. Ilyen objektumok lehetnek literálok, változók és konstansok. A külső adatobjektumok a programunktól függetlenül léteznek, de nem lehet velük közvetlenül dolgozni. Másolatot kell készíteni róluk egy belső objektumba és onnan a megfelelő módosítások után kiírhatjuk. Ezek az objektumok az ABAP/4-Dictionary-ban definiált táblákban találhatóak meg, melyek eléréséhez a TABLES utasításra van szükség.

X.2.2. Adatobjektumok A rendszer által definiált adatobjektumok automatikusan a rendszerben rendelkezésre állnak. Ilyen a SPACE a szóköz, valamint egyes rendszerváltozók, melyek SY-prefixxel kezdődnek. A rendelkezésre álló rendszerváltozók megtekintésére lehetőségünk van az ABAP- editor parancsmezőjében kiadott SHOW SY paranccsal. Néhány ezek közül: SY-UNAME, SY- DATUM, SY-UZEIT. A speciális adatobjektumokat a szelekciós képernyők esetén használhatjuk.

X.2.3. Belső táblák 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.

X.2.3. Belső táblák

X.2.3. Belső táblák Egy belső táblát létrehozhatunk (DATA utasí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.

X.3. Operátorok X.3.1. Összehasonlító operátorok Egyenlőség: EQ vagy = Nem egyenlő: NE vagy <> Nagyobb: GT vagy > Kisebb: LT vagy < Nagyobb vagy egyenlő: GE vagy >= Kisebb vagy egyenlő: LE vagy <=

X.3.2. Összehasonlító operátorok karaktersorozatokhoz CA (Contains Any):  <kif1> CA <kif2> Igaz, ha <kif1> legalább egy karaktert tartalmaz <kif2>-ből.   NA (contains Not Any):  <kif1> NA <kif2> Igaz, ha <kif1> egyetlen karaktert sem tartalmaz <kif2>-ből. 

X.3.2. Összehasonlító operátorok karaktersorozatokhoz CO (Contains Only): <kif1> CO <kif2> Igaz, ha <kif1> csak <kif2>-beli karaktereket tartalmaz.  CN (Contains Not only):  <kif1> CN <kif2> Igaz, ha <kif1> nem csak <kif2>-beli karaktereket tartalmaz. 

X.3.2. Összehasonlító operátorok karaktersorozatokhoz CS (Contains String):  <kif1> CS <kif2> Igaz, ha <kif1> tartalmazza <kif2> stringet. Az összehasonlítás nem kisbetű/nagybetű függő.    NS (contains No String):  <kif1> NS <kif2> Igaz, ha <kif1> nem tartalmazza <kif2> stringet. Az összehasonlítás nem kisbetű/nagybetű függő.

X.3.2. Összehasonlító operátorok karaktersorozatokhoz CP (Contains Pattern): <kif1> CP <kif2> Igaz, ha <kif1> tartalmazza az <kif2> mintát. A minta tartalmazhat joker karaktereket (* és +). Az összehasonlítás nem kisbetű/nagybetű függő. NP (contains No Pattern):  <kif1> NP <kif2> Igaz, ha <kif1> nem tartalmazza az <kif2> mintát.

X.3.3. Aritmetikai operátorok Összeadás: +  Kivonás: -  Szorzás: *  Osztás: /  Egész osztás: DIV  Egész osztás maradéka: MOD  Hatványozás: **

X.4. Alprogramok X.4.1. Az utasítás formája: FORM <form neve> [TABLES <formális paraméterek> ...] [USING <formális paraméterek> ...] [USING VALUE(<formális paraméter>) ...] [CHANGING <formális paraméterek> ...] [CHANGING VALUE(<formális paraméter>) ...]. <végrehajtási blokk> ENDFORM.

X.4.1. Az utasítás Megkülönböztetünk lokális és globális változókat az alábbiak szerint: Láthatóság globális: a program teljes területén hivatkozhatunk rá lokális: csak a formban elérhető   Élettartam statikus: a program futása végéig él temporális: élettartama a form élettartamára korlátozódik

X.4.1. Az utasítás A fentebb definiált formokat az alábbi utasítással hívhatjuk meg:   PERFORM <form neve>[(<melyik programból>)] [TABLES <aktuális paraméterek> ...] [USING <aktuális paraméterek> ...] [CHANGING <aktuális paraméterek> ...] [IF FOUND].

X.4.2. Függvény-könyvtárak CALL FUNCTION <függvény neve> [EXPORTING <formális paraméter>=<aktuális paraméter> ...] [IMPORTING <formális paraméter>=<aktuális paraméter> ...] [CHANGING <formális paraméter>=<aktuális paraméter> ...] [TABLES <formális paraméter>=<aktuális paraméter> ...] [EXCEPTIONS <formális paraméter>=<aktuális paraméter> ... [ERROR_MESSAGE=<aktuális paraméter>] [OTHERS=<aktuális paraméter>]].

X.5. Fájlkezelés A dataset egy az alkalmazás-szerveren megtalálható illetve ott létrejövő szekvenciális fájl. Szerveroldali fájlkezelésre használják az SAP-ban. (Megjegyzés: Amennyiben kliens oldalon található fájlokat kell feltölteni és feldolgozni, illetve letölteni, akkor a GUI_DOWNLOAD és GUI_UPLOAD függvényeket vagy a CL_GUI_FRONTEND_SERVICES osztály megfelelő metódusait kell használni.) 

X.5. Fájlkezelés Műveletek: OPEN DATASET: Megnyit egy szerveroldali fájlt. CLOSE DATASET: Lezár egy szerveroldali fájlt. DELETE DATASET: Töröl egy szerveroldali fájlt. TRANSFER: Kiír adatot egy szerveroldali fájlba. READ DATASET: Adatot olvas egy szerveroldali fájlból.

X.5. Fájlkezelés A következőkben <dsn> a fájl elérési útvonalát adja meg (például <dsn> = ‘/tmp/test.txt’ vagy <dsn> = ‘c:\temp\test.txt’).  OPEN DATASET <dsn> [Egyéb opciók]. : Általános forma.

Köszönöm a figyelmet