Proměnné a konstanty
Rozdíl mezi SET, UPDATE a PROMPT-FOR
- PROMT-FOR: Data will be moved from User to Screen Buffer.
- SET: Data will be moved from User to Screen Buffer and Screen Buffer to Record Buffer.
- UPDATE: Data will be moved from Record Buffer to Screen Buffer and then User to Screen Buffer and Screen Buffer to Record Buffer.
- SET is combination of PROMPT-FOR and ASSIGN.
- UPDATE is combination of SET and DISPLAY.
DEFINE VARIABLE – definice proměnné
define variable lv-variable as character format „x(10)“ initial „výchozí hodnota“ no-undo.
define variable lv-variable like table-columnn label „můj label pro proměnnou“ no-undo.
- as – nastavení datového typu
- like – nastavení vlastnosti podle sloupce tabulky
- format – formát proměnné, například délka řetězce, formát data aj…
- initial – přiřazení výchozí hodnoty
- no-undo – při vrácení (obnovení) transakce bude zachována poslední přiřazená hodnota
- label – nastavení vlastního labelu (popisu) proměnné ve znakovém prostředí pro
ASSIGN … WHEN … – přiřazení hodnoty proměnné na základě splněné podmínky
assign lv-field = „“ when lv-field = ?
EXTENT – definice proměnné typu pole
Definice a zobrazeni velikosti proměnné a s pěti prvky:
DEFINE VARIABLE a AS CHARACTER EXTENT 5 NO-UNDO.
DISPLAY EXTENT(a). /* 5 */
Nastavení hodnot pro jednotlivé prvky:
a[1] = „A“.
a[2] = „B“.
a[3] = „C“.
a[4] = „D“.
a[5] = „E“.
DISPLAY a[5]. /* E */
Index začíná od 1! Maximální velikost je 28000 prvků.
DISPLAY a[0]. /* error 3678 */
Pokud je proměnná definována bez počtu prvků, může se velikost pole definovat později. Ale pouze jednou!
DEFINE VARIABLE b AS CHARACTER EXTENT NO-UNDO.
EXTENT(b) = 10.
EXTENT(b) = 1. /* error 13738 */
Hodnoty prvkům lze přiřadit při definici proměnné:
DEFINE VARIABLE c AS CHARACTER EXTENT 3 INITIAL [„one“,“two“,“three“] NO-UNDO.
DISPLAY c.
Pokud je počet hodnot menší než počet prvků pole, je poslední hodnota přiřazena ostatním prvkům:
DEFINE VARIABLE d AS CHARACTER EXTENT 10 INITIAL [„one“,“two“,“three“] NO-UNDO.
DISPLAY d. /* viz níže */
Výpis pro výše uvedené příklady:
┌────────────────────────────────────────────────────────────────────────────────┐
│ a[5] c[1] c[2] c[3] d[1] d[2] d[3] d[4] d[5] d[6] d[7] d[8] d[9] d[10] │
│ ────────────────────────────────────────────────────────────────────────────── │
│ E one two three one two three three three three three three three three │
└────────────────────────────────────────────────────────────────────────────────┘
Jak používat speciální znaky v textu
Symbolem pro speciální vlastnosti znaku je vlnovka ~.
Sequence Interpreted Comment
~“ “ Use within quoted strings as alternative to („“).
~‘ ‚ Use within quoted strings as alternative to (“).
~~ ~ –
~\ \ –
~{ { –
~nnn One character Where nnn is an octal value between 000 and 377.
~t Tab character Octal 011
~r Carriage return Octal 015
~n New line / Line feed Octal 012
~E Escape Octal 033
~b Backspace Octal 010
~f Form feed Octal 014