abap

Jednoduchý projekt v jazyku ABAP II 4/12

V tomto momente už máme programovo a tiež aj vizuálne obrazovku nášho programu pripravenú. Teraz sa zameriame v zápise kódu na definovanie niekoľkých overovacích podmienok (vytvoríme si tak funkčné vetvenie pre program), ktoré potrebujeme nastaviť pre vybrané prvky programu.

Najskôr ale trochu teórie.

Aplikáciu podmienok v zápise zdrojového kódu možno vyjadriť aj ako formu vetvenia funkčnosti programu.

Použitím príkazov jazyka ABAP programátor definuje stav, ktorý sa aktivuje (t.j. bude spustená k danej podmienke priradená časť zdrojového kódu) v momente splnenia niektorej z nastavených logických podmienok.

Jednoduchý príklad zadania:

Používateľ by mal vo vstupnej obrazovke možnosť zadať čísla v rozsahu 1 až 3 a podľa jeho voľby sa potom bude na výstupnej obrazovke zobrazovať nejaká informácia.

V tomto prípade by programátor do programu zapísal podmienku s definíciou:

  • ak bude zadané číslo 1, program vypíše informáciu Zadal si číslo 1
  • ak bude zadané číslo 2, program vypíše informáciu Zadal si číslo 2
  • ak bude zadané číslo 3, program vypíše informáciu Zadal si číslo 3

To je celé, nič komplikované.

V programovacom jazyku ABAP, pre vetvenie programu vo forme logických podmienok, má programátor k dispozícii možnosť použitia príkazu IF alebo tiež aj príkazu CASE, pričom práve príkaz IF sa označuje ako ten jednoduchší spôsob pre vytvorenie funkčného vetvenia v programe.

Dnes sa pozrieme na príkaz IF, priblížime si spôsob jeho zápisu a možnosti použitia.

Príkaz IF

Všeobecný zápis príkazu:

IF a_podm.                   “ význam IF – ak platí podmienka a_podm..
“ .. spusti udalosť č.1
ELSEIF b_podm.          “ význam ELSEIF – ak neplatí podmienka ale_podm a platí podmienka b_podm..
“ .. spusti udalosť č.2
ELSE.                        “ význam ELSE – alebo ak neplatí nič z vyššie uvedených podmienok..
“ .. spusti udalosť č.3
ENDIF.                        “ význam ENDIF – ukončenie zápisu pre IF

Vysvetlenie zápisu:

  • ak bola splnená podmienka a_podm, potom sa spustí udalosť č.1 a spracovanie príkazu IF bude ukončené
  • ak nebola splnená podmienka a_podm, program preverí, či je splnená podmienka b_podm
  • ak bola splnená podmienka b_podm, potom sa spustí udalosť č.2 a spracovanie príkazu IF bude ukončené
  • ak nebola splnená podmienka b_podm a teda ani a_podm, potom sa spustí udalosť č.3 a spracovanie príkazu IF bude ukončené

Vo všeobecnom zápise pre príkaz IF som uviedol slovo udalosť.

Význam tohto slova možno jednoducho popísať ako zapísanie ABAP príkazov v určitej postupnosti, ktoré majú za úlohu vykonať definovanú akciu (napríklad – vypísanie textového reťazca, spočítanie premenných alebo načítanie údajov z tabuliek pre ich ďalšie spracovanie).

Spôsob zápisu príkazu IF môže byť rôzny a bude závisieť od požiadavky, v akom rozsahu je potrebné riešiť vetvenie a množstvo použitých podmienok.

Niekedy sa použije iba zápis IF … ENDIF (ak sa má vykonať len jedna udalosť a to iba pri splnení definovanej podmienky), ďalej je tu možnosť klasického vetvenia v podobe IF … ELSE … ENDIF (ak má byť spustená udalosť č.1 alebo 2 podľa toho, či bola/nebola splnená podmienka), alebo v kompletnom zápise pre rozšírené vetvenie kódu ako IF … ELSEIF … ELSE … ENDIF (tu bude na základe preverenia základnej podmienky, program následne overovať ďalšie podmienky, prípadne sa spustí nastavená udalosť).

V prípade použitia posledného spôsobu s ELSEIF, môže takýto zápis pokračovať aj donekonečna a to až po použitie ELSE, ktorý by vetvenie zastavil po spustení poslednej udalosti, ale z dôvodu prehľadnosti zápisu zdrojového kódu sa toto viacnásobné použitie ELSEIF neodporúča.


Zaujal Vás článok? 

Zvážte možnosť jeho zdieľania na sociálnych sieťach alebo dajte mi vedieť Váš názor resp. pripomienky k tomuto článku a to odoslaním správy cez formulár, alebo priamo na e-mailovú adresu info@saperp.sk.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *