ABAP 13. diel – Výberove obrazovky

V jazyku ABAP existujú dva typy dialogových obrazoviek. Jedna pre výber a jedna pre zoznamy.Výberová obrazovka dodáva reportu vstupné hodnoty na základe dialógu s užívateľom. Doposiaľ ste museli hodnoty priraďovať prostredníctvom premien, teraz ich môžete priradiť pomocou dialógu.

Udalosti sú bloky spracovania, štruktúra sa začína kľúčovým slovom udalostí a končí iba implicitne. Udalosť končí keď začína nová udalosť. To znamená že keď začínate riadiť program pomocou udalostí musíte zvážiť poradie udalostí.

Poradie udalosti

Spôsob toku a vykonávanie programu je dané prostredníctvom behu programu.


– LOAD-OF-PROGRAM
– INITIALIZATION
– AT-SELECTION-SCREEN
– START-OF-SELECTION

Príklad udalostí

Vráťme sa k praktickej udalosti, chceme vložiť nového člena do tabuľky členov, bolo by veľmi užitočné keď nebudeme musieť zisťovať ďalšie voľné číslo člena.

INITIALIZATION
SELECT * FROM zmember03.
mnumber = zmember03-mnumber.
ENDSELECT.
mnumber = mnumber + 1.
new_memb = mnumber.

Overenie prístupu, potrebujeme zabezpečiť aby nové číslo člena bolo rovnaké alebo väčšie než navrhované číslo člena.


AT SELECTION-SCREEN ON new_memb.
* Kontrola čísla nového člena
IF new_memb < mnumber.
ENDIF.

Keď užívateľ skúsi vybrať pre nového člena existujúce číslo, výberová obrazovka zobrazí chybovú správu v stavovom riadku. Toto sa bude opakovať pokiaľ uživateľ nevloží platné číslo.

Poznámka: Keď podmienka nie je splnená, program pokračuje za príkazom ENDIF. Nezabudnite na implicitný koniec udalostí.


Jednoduché výbery

V definičnej časti reportu určujeme, či bude pracovať s výberovou obrazovkou či bez nej. Chcete použiť výberovú obrazovku tak pole nedefinujete príkazom DATA
ale nasledujúce príkazy: PARAMETERS alebo SELECT-OPTIONS.


Príkaz PARAMETERS

ak chcete priradiť hodnotu pre pole potrebujete k tomu príkaz PARAMETERS. S týmto príkazom môžete definovať všetky dátové typy okrem typu f, čo je reálne alebo exponenciálne číslo. Kameň úrazu je ako vždy veľkosť písmen. Zvyčajne sa všetky vstupy zapisujú veľkými písmenami.


Časovač s vstupným polom:

PARAMETERS second TYPE 1.

Interval navrhnutých hodnôt. Pokiaľ by ste pre čítač chceli povoliť len určitý interval hodnôt použite príkaz:

AT SELECTION-SCREEN ON second.
* kontrola hodnoty pola s sekundami
IF second < 5 OR second > 20.
* Príkazový blok pre spracovanie chyb
ENDIF.

V tomto prípade udalosť AT SELECTION-SCREEN obsahuje len vstupné pole SECOND. Keď je vstupná hodnota menšia ako 5 a väčšia ako 20 systém pustí príkazový blok na spracovanie chyb.


Doplnky príkazu PARAMETERS

DEFAULT – defaultná hodnota, napr.

PARAMETERS second TYPE i DEFAULT 10.


Poznámka:

Všimnite si rozdiel medzi PARAMETERS a DATA. Keď by ste chceli k príkazu DATA definovať defaultnú hodnotu použili by ste VALUE, ale príkaz PARAMETERS používa k tomuto účelu dodatok DEFAULT, hodnota je iba návrh ktorý sa môže prepísať alebo vymazať.

OBLIGATORY – z vstupného poľa je možné urobiť povinné pole

LIKE – odkaz do slovníku funguje bez problémov, definícia PARAMETERS odkazuje na pole v slovníku.

PARAMETERS gender LIKE zmember03-mgender.

VALUE CHECK – pokiaľ chcete aby systém akceptoval len uložené hodnoty, budete potrebovať dodatok VALUE CHECH:

PARAMETERS gender LIKE zmember03-mgender
OBLIGATORY VALUE CHECK.

LOWER CASE Rozlišovanie malých a veľkých písmen môže byť problematické záleží na tom kde chcete data použiť. Má systém u vstupného poľa rozlišovať medzi malými a veľkými písmenami, musíte použiť dodatok:

PARAMETERS course LIKE zmember03-zzcoursetitle
DEFAULT ´SAP01´ LOWER CASE.

RADIOBUTTON – daľším spôsobom ako riadiť program je prepínač (radiobutton, obr. 11.6).

PARAMETERS initialv RADIOBUTTON GROUP radl.
non_sap RADIOBUTTON GROUP radl.
leapyear RADIOBUTTON GROUP radl.

Štandartne býva vybraný prvý prepínač skupiny. Ale je možné riadiť program cez štruktúru IF.

IF NOT initialv IS INITIAL.
* príkazový blok 1
ENDIF.
IF NOT non_sap IS INITIAL.
* príkazový blok 2
ENDIF.
IF NOT leapyear IS INITIAL.
* príkazový blok 3
ENDIF.


Zložité výbery

Teraz zistíte čo musíte urobiť keď chcete povoliť interval hodnôt alebo niekoľko samostatných hodnôt pre vstup.

Interná tabuľka v pamäti. Hlavným rozdielom je že data internej tabuľky sú nestále, to znamená že “žijú” a preto sa nazývajú dočasné data.

Príkaz SELECT-OPTIONS Systém dopredu definuje štyri polia pre výberové tabuľky – SIGN, OPTION, LOW, HIGH. Každý nový príkaz definuje novú internú tabuľku. Samozrejme by ste mohli vytvoriť premenu pre dátum narodenia pomocou príkazu PARAMETERS, ale potom na výberovej obrazovke zadáte jedine dátum narodenia.


Vďaka príkazu SELECT-OPTIONS môžete na druhú stranu zadať toľko hodnôt a rozsahu dátumu narodenia koľko uznáte za vhodné.

Ukážeme si to na poli ZMEMBER03-MDOB.

SELECT-OPTIONS dob FOR zmember03-mdob.


Viacnásobné výbery

Systém umožňuje vybrať viac hodnôt alebo niekoľko rozsahov. Výber sa da formulovať pozitívne alebo negatívne. Kliknite na Viacnásobné výbery (Multiple selection). Uvidíte štyri obrazovky s kartami. Podľa úlohy si vyberte požadovanú kartu.

Potvrdenie viacnásobného výberu.

Akonáhle hodnoty potvrdíte, systém vás vráti na výberovú obrazovku. Podľa zeleného zafarbeného tlačítka jednoducho zistíte že ste urobili viacnásobný výber.

Dodatok príkazu SELECT-OPTIONS

Dodatky DEFAULT, OBLIGATORY, LOWER, CASE ktoré už poznáte z príkazu PARAMETERS, môžete použiť aj u príkazu SELECT-OPTIONS.

NO-EXTENSION. V prípade potreby môžete použiť zákaz viacnásobného výberu, napríklad:

SELECT-OPTIONS dob FOR zmember03-mdob
NO-EXTENSION.

Teraz systém dovolí len jednoriadkový vstup na výberovej obrazovke, (tj. jednu hodnotu alebo výberový interval) – iba jeden záznam.


Výberové texty

Špeciálne výberové prvky označené ako výberové texty sa používajú na technické názvy poli u parametrov. Defaultným jazykom je jazyk ktorým sa prihlásil autor programu.

Tvorba výberových textov

Skok -> Textové prvky (Text elements) -> Zmena (Change) (Obrázok 11.12)


Uloženie výberovej obrazovky

V skutočnosti vždy keď pracujete s rovnakými raportami či už denne alebo raz za rok, tak je dôležité kvôli technickým požiadavkám aby výberove obrazovky boli naplnené odpovedajúcim spôsobom.


Vytváranie variant výberu

Po kliknutí na tlačítko zmena sa dostanete na úvodnú obrazovku editácie varianty. Tu môžete zadať názov existujúcej varianty, ale vytvoriť novú – tlačítko Založenie (Create). Môžete si napríklad zobraziť hodnoty tejto varianty, stlačením Hodnoty (Values) a potom kliknúť na Zobrazenie (Display). Obrázok 11.18


Spustenie reportu s variantov

z nástoja ABAP workbench. Existujú najmenej tri spôsoby ako spustiť report s variantov. Tlačítko vykonanie s variantov (Execute with variant) alebo (Shift+F6) zobrazí okno v ktorom môžete voliť varianty (obrázok 11.26). Spustenie reportu s variantou z výberovej obrazovky -> Skor (Goto) – Varianty (Variant) – Vyvolanie (Get).


Vytváranie textových objektov


WRITE: / ´Člen´.

..na miesto toho použite tento príkaz:

WRITE: / text-001.


Poznámka:
Potom ich treba aktivovať -> kliknutím na Aktivácia (Activate).


Vytváranie správ

T100. Slúžia pre spätnú informáciu (Feedback) o priebehu programu, triedy správ zákazníka začínajú “Z”. Editácia správ spustíte cez ABAP editor -> Skok (Goto) – Správy
(Messages).


Formátovanie samostatných riadkov

SELECTION-SCREEN – chcete naformátovať riadok, potrebujete štruktúru definovanú začiatkom a koncom, pre každý nový riadok potrebujete novú štruktúru.

Formátovanie bloku riadku a bloku riadku

BEGIN OF LINE – začiatok štruktúry riadku
END OF LINE – koniec štruktúry riadku

COMMENT – volný text riadku ako komentár -> COMMENT 24(60) tesxt-005.

BEGIN OF BLOCK – začiatok štruktúry bloku

END OF BLOCK – koniec štruktúry bloku

Nabudúce: Interné tabuľky

zdroj: TS FMG.sk

Loading Facebook Comments ...