18.OBRAZOVKOVÝ REŽIM Zpracování dat v obrazovkovém režimu lze v MX COBOL provádět buď pomocí speciálních formátů příkazů ACCEPT a DISPLAY, kterými lze číst nebo zobrazovat hodnoty položek na určené pozici na obrazovce a nebo pomocí sady speciálních uživatelských podprogramů. Jedná se o podprogramy ICGOTOXY, ICBEEP, ICCLRSCR, ICGSIZE, ICKHBIT, ICSCRIO, ICFUNKY, ICSCTRL, ICGETCH a ICPUTCH. V této kapitole popíšeme obě možnosti zpracování společně s ostatními prostředky, které umožňují práci v daném režimu. Pro práci s obrazovkou je v MX COBOL vedle speciálních formátů příkazů ACCEPT a DISPLAY k dispozici jedna sekce v DATA DIVISION zvaná SCREEN SECTION a dále to jsou klauzule CURSOR a CRT-STATUS příslušející do SPECIAL-NAMES. Obrazovkový režim práce popisovaný v této kapitole je možné používat pouze v operačním systému MS-DOS, ale nikoliv v operačních systémech typu UNIX. 18.1. SCREEN SECTION SCREEN SECTION obsahuje popisy položek, které mohou představovat jednotlivá pole na obrazovce. Položky ze SCREEN SECTION nejsou regulérní cobolské položky, protože jejich popisy představují pouze jakousi mapu obrazovky. Tyto položky nelze používat v běžných cobolských příkazech, je možné je použít pouze ve speciálních obrazovkových formátech příkazů ACCEPT a DISPLAY. Formát: SCREEN SECTION. [ popisy obrazovkových položek ]... Pravidla: 1) SCREEN SECTION musí být uvedena jako poslední sekce v DATA DIVISION. 2) SCREEN SECTION obsahuje popisy obrazovkových položek, které lze uvádět pouze v obrazovkových formátech příkazů ACCEPT nebo DISPLAY. Popis obrazovkové položky určuje polohu, typ, délku, vlastnosti a obsah položky resp. pole umístěného na obrazovce nebo může obsahovat takové klauzule, které ovlivní zobrazení celé obrazovky. Formát: číslo-úrovně [ jméno-obrazovkové-položky ] [ BLANK {SCREEN | LINE} ] [ {BELL | BEEP}] [ BLINK ] [ HIGHLIGHT ] [ GRID ] [ LEFTLINE ] [ OVERLINE ] [ REVERSE-VIDEO ] [ UNDERLINE ] [ SIZE IS {položka-1 | celé-číslo-1}] [ LINE [NUMBER IS [{PLUS | + | - }] {položka-2|celé-číslo-2}]] [ {COLUMN | COL} [NUMBER IS [{PLUS | + | -}] {položka-3 | celé-číslo-3}]] [ {FOREGROUND-COLOR | FOREGROUND-COLOUR} IS celé-číslo-4 ] [ {BACKGROUND-COLOR | BACKGROUND-COLOUR} IS celé-číslo-5 ] [ VALUE IS literál-1] [ {PIC | PICTURE} IS řetězec {[FROM {položka-4 | literál-2}] [TO položka-5] | USING položka-6 } ] [ BLANK WHEN ZERO ] [ {JUSTIFIED | JUST} RIGHT ] [ [SIGN IS] {LEADING | TRAILING} [SEPARATE CHARACTER] ] [ {AUTO | AUTO-SKIP} ] [ {SECURE | NO-ECHO} ] [ {REQUIRED | EMPTY-CHECK} ] [ PROMPT [CHARACTER IS {položka-7 | literál-3}] ] [ OCCURS celé-číslo-6 TIMES ] [ {FULL | LENGHT-CHECK} ] [ ZERO-FILL ]. Pravidla: 1) Číslo úrovně obrazovkové položky musí být z intervalu 01 až 49. 2) Každá obrazovková položka s číslem úrovně 01 musí mít uvedeno jméno. 3) Obrazovková položka může být uvedena pouze ve speciálním obrazovkovém formátu příkazů ACCEPT nebo DISPLAY. 4) Obrazovková položka se nazývá elementární, obsahuje-li její popis alespoň jednu z klauzulí BELL, BLANK, COLUMN, LINE, PICTURE nebo VALUE. 5) Obrazovková položka, jejíž popis obsahuje klauzuli TO, určuje na obrazovce tzv. vstupní pole. Položka, jejíž popis obsahuje klauzuli FROM, určuje výstupní pole. Položka, jejíž popis obsahuje klauzuli USING, určuje opravné pole. Položka, jejíž popis obsahuje klauzuli VALUE, určuje konstantní pole. 6) Příkaz ACCEPT lze provést se skupinovou položkou, která obsahuje obrazovkové položky s klauzulemi FROM nebo VALUE, jestliže tato skupinová položka také obsahuje obrazovkové položky s klauzulemi TO nebo USING. 7) Klauzule mohou být v popisu obrazovkové položky uvedeny v libovolném pořadí. 8) Význam klauzulí uvedených v popisu skupinové obrazovkové položky se přenáší do všech jejích elementárních položek, pokud jsou v nich tyto klauzule povoleny. 9) Slovo FILLER není v popisu obrazovkové položky povoleno. Jméno obrazovkové položky může být vynecháno, pokud nejde o položku s číslem úrovně 01. 10) Pokud je nějaká klauzule pro nějakou položku uvedena více než jednou, uplatní se ten výskyt klauzule, který je uveden na nižší hierarchické úrovni. 11) Je-li zobrazována obrazovková položka, pak se její hodnota přebírá z položek uvedených v klauzuli FROM nebo USING. Položky, které mají pouze klauzuli TO, jsou zobrazeny tak, jakoby bylo uvedeno FROM SPACE nebo FROM ZERO v závislosti na typu položky. 12) Je-li načtena obrazovková položka, pak je vstupní hodnota přesunuta z obrazovkové položky do položky uvedené v klauzuli TO nebo USING. Podle typu položky se při přesunu provede požadovaná konverze. 13) Příkaz ACCEPT provedený se skupinovou obrazovkovou položkou představuje načtení těch elementárních podřízených položek, které jsou vstupní nebo opravná pole. Tyto položky jsou zpracovávány v pořadí jejich popisů ve SCREEN SECTION. Není-li specifikována klauzule CURSOR, pak je na začátku příkazu ACCEPT kurzor nastaven na začátek první podřízené položky. 14) Příkaz DISPLAY provedený se skupinovou obrazovkovou položkou představuje zobrazení těch elementárních podřízených položek, které jsou výstupní, opravná nebo konstantní pole. Tyto položky jsou zobrazovány jednotlivě na pozicích určených jejich popisem. 15) Pokud obrazovková položka přesahuje přes řádek, pokračuje na řádku následujícím s výjimkou posledního řádku, kdy může dojít ke ztrátě informace. 18.1.1. Klauzule AUTO Klauzule není v MX COBOL implementována. 18.1.2. Klauzule BACKGROUND-COLOR Klauzule určuje barvu pozadí obrazovkové položky. Formát: {BACKGROUND-COLOR | BACKGROUND-COLOUR} IS celé-číslo-1 Pravidla: 1) Klauzuli lze uvést v popisu libovolné obrazovkové položky. 2) Je-li klauzule uvedena v popisu skupinové položky, promítne se její význam do všech podřízených elementárních položek. 3) Celé-číslo-1, které musí být z intervalu 0 až 7, určuje barvu podle následující tabulky. 0 černá 1 modrá 2 zelená 3 tyrkysová 4 červená 5 fialová 6 hnědá 7 světle šedá 4) Pokud klauzule není uvedena, implicitní barva pozadí je černá. 5) Pokud popis položky obsahuje klauzuli BLANK SCREEN a klauzuli BACKGROUND-COLOR, pak po zobrazení této položky příkazem DISPLAY se specifikovaná barva stává implicitní barvou pozadí. Zůstává implicitní barvou pozadí do té doby, dokud není příkazem DISPLAY zobrazena nějaká další obrazovková položka s těmito dvěma klauzulemi (buď ve stejném příkazu DISPLAY nebo v jiném), nebo dokud není proveden příkaz DISPLAY formátu 5 s těmito klauzulemi. 18.1.3. Klauzule BELL Klauzule způsobí vydání zvukového signálu pokaždé, když je příkazem ACCEPT nebo DISPLAY zpracovávána položka obsahující klauzuli BELL. Formát: { BELL | BEEP } Pravidla: 1) BELL a BEEP jsou synonyma. 2) Klauzuli lze uvést pouze v popisu elementární obrazovkové položky. 18.1.4. Klauzule BLANK Klauzule se uplatní vždy při zobrazení obrazovkové položky. BLANK LINE vymaže úsek řádku na obrazovce počínaje aktuální pozicí kurzoru do konce řádku. BLANK SCREEN vymaže celou obrazovku a nastaví kurzor na 1.řádek a 1.sloupec. Formát: BLANK {LINE | SCREEN} Pravidla: 1) Klauzuli lze uvést pouze v popisu elementární položky. 2) Klauzule nemá žádný význam při provádění příkazu ACCEPT. 3) Příslušný výmaz je proveden před zobrazením obrazovkové položky příkazem DISPLAY, přičemž se použije momentálně platná implicitní barva pozadí. 4) Ve spojení s klauzulí BACKGROUND-COLOR nebo s klauzulí FOREGROUND-COLOR určuje klauzule BLANK navíc nové implicitní barvy pozadí a popředí (viz popis těchto klauzulí). 18.1.5. Klauzule BLANK WHEN ZERO Klauzule má pro obrazovkovou položku stejný význam jako pro položku, jejíž popis je uveden v ostatních sekcích DATA DIVISION. Formát: BLANK WHEN ZERO Pravidla: 1) Klauzuli lze uvést pouze v popisu numerické nebo numerické editované položky, která určuje vstupní, výstupní nebo opravné pole. 18.1.6. Klauzule BLINK Klauzule způsobí, že obrazovková položka bude zobrazena jako blikající, vždy když se její hodnota objeví na obrazovce. Formát: BLINK Pravidla: 1) Klauzuli lze uvést v popisu libovolné obrazovkové položky. 2) Je-li klauzule uvedena v popisu skupinové položky, promítne se její význam do všech podřízených elementárních položek. 18.1.7. Klauzule COLUMN Klauzule určuje sloupec obrazovky, ve kterém začíná zobrazení dané položky provedené příkazem ACCEPT nebo DISPLAY. Formát: {COLUMN | COL} [ NUMBER IS [{ PLUS | + | - }] {položka-1 | celé-číslo-1} ] Pravidla: 1) Klauzule může být uvedena v popisu libovolné elementární obrazovkové položky. 2) Položka-1 musí být numerická celočíselná položka s hodnotou větší než 0 a menší než 256, která nesmí být indexována. 3) Celé-číslo-1 musí být větší než 0 a menší než 256. 4) PLUS a '+' jsou synonyma. 5) Pokud klauzule neobsahuje část NUMBER, předpokládá se tvar COLUMN PLUS 1. 6) Pokud popis obrazovkové položky neobsahuje klauzuli COLUMN, ale obsahuje klauzuli LINE, předpokládá se tvar COLUMN 1. 7) Jestliže klauzule COLUMN obsahuje položku-1 nebo celé-číslo-1, ale neobsahuje PLUS, '+' nebo '-', pak klauzule určuje absolutní číslo sloupce. COLUMN 1 je číslo sloupce určené v klauzuli AT v příkazech ACCEPT nebo DISPLAY. Pokud klauzule AT není v příkazech uvedena, pak COLUMN 1 je první sloupec na obrazovce. 8) Je-li v klauzuli COLUMN uvedeno PLUS, '+' nebo '-', pak číslo sloupce je relativní vzhledem k tomu sloupci, ve kterém předcházející obrazovková položka končí, bez ohledu na to, zda tato položka již byla zobrazena. Určení relativního sloupce závisí tedy na délce aktuálního zobrazení předchozí položky v průběhu výpočtu. Tato délka se určuje z klauzulí PICTURE, VALUE a SIZE. Počítání čísel sloupců začíná u položky s číslem úrovně 01 sloupcem číslo 1. 9) Pokud popis obrazovkové položky neobsahuje klauzuli LINE ani klauzuli COLUMN a číslo úrovně položky není 01, předpokládá se COLUMN PLUS 1. Položka pak bezprostředně následuje za předchozí popsanou položkou. 10) Je-li číslo sloupce určeno tak, že je mimo obrazovku, provede se přepočet modulo délka řádku obrazovky. 18.1.8. Klauzule FOREGROUND-COLOR Klauzule určuje barvu popředí obrazovkové položky. Formát: {FOREGROUND-COLOR | FOREGROUND-COLOUR} IS celé-číslo-1 Pravidla: 1) Klauzuli lze uvést v popisu libovolné obrazovkové položky. 2) Je-li klauzule uvedena v popisu skupinové položky, promítne se její význam do všech podřízených elementárních položek. 3) Celé-číslo-1, které musí být z intervalu 0 až 7, určuje barvu podle následující tabulky. 0 černá 1 modrá 2 zelená 3 tyrkysová 4 červená 5 fialová 6 hnědá 7 světle šedá 4) Pokud klauzule není uvedena, implicitní barva popředí je bílá. 5) Pokud popis položky obsahuje klauzuli BLANK SCREEN a klauzuli FOREGROUND-COLOR, pak po zobrazení této položky příkazem DISPLAY se specifikovaná barva stává implicitní barvou popředí. Zůstává implicitní barvou popředí do té doby, dokud není příkazem DISPLAY zobrazena nějaká další obrazovková položka s těmito dvěma klauzulemi (buď ve stejném příkazu DISPLAY nebo v jiném), nebo dokud není proveden příkaz DISPLAY formátu 5 s těmito klauzulemi. 6) Obsahuje-li popis položky i klauzuli HIGHLIGHT, pak barvy popředí budou světlejší (svítivější). Například černá se změní na šedou, hnědá se změní na žlutou. 18.1.9. Klauzule FULL Klauzule není v MX COBOL implementována. 18.1.10. Klauzule GRID Klauzule není v MX COBOL implementována. 18.1.11. Klauzule HIGHLIGHT Klauzule způsobí, že barva popředí bude u obrazovkové položky zobrazena vyšší intenzitou, tj. bude svítivější a jasnější, například černá barva popředí se změní na šedou, hnědá se změní na žlutou. Formát: HIGHLIGHT Pravidla: 1) Klauzuli lze uvést v popisu obrazovkové položky, která určuje vstupní, výstupní, opravné nebo konstantní pole. 2) Je-li klauzule uvedena v popisu skupinové položky, promítne se její význam do všech podřízených elementárních položek. 3) Změny barev základní sady, která byla uvedena v klauzulích BACKGROUND-COLOR a FOREGROUND-COLOR jsou dány následující tabulkou. sada základních barev sada intenzivních barev černá ----> šedá modrá světle modrá zelená světle zelená tyrkysová světle tyrkysová červená světle červená fialová světle fialová hnědá žlutá světle šedá ----> bílá 18.1.12. Klauzule JUSTIFIED Klauzule určuje nestandardní umístění dat v obrazovkové položce při přesunech do této položky nebo z této položky. Obecná pravidla použití klauzule JUSTIFIED jsou uvedena v popisu této klauzule v kapitole 4 a jsou použitelná i v případě, je-li klauzule použita v popisu obrazovkové položky. Formát: {JUSTIFIED | JUST} RIGHT Pravidla: 1) Klauzuli lze uvést pouze v popisu položky, která určuje vstupní, výstupní nebo opravné pole. 2) Je-li obrazovková položka výstupní nebo opravné pole, a je-li do ní přesunována hodnota vysílající položky, pak se tento přesun provádí podle pravidel příkazu MOVE. 3) Je-li obrazovková položka vstupní nebo opravné pole, a je-li ukončen vstup dat do tohoto pole v rámci příkazu ACCEPT, provede se zarovnání hodnoty pole doprava, přičemž levá část pole bude vyplněna mezerami. Po ukončení příkazu ACCEPT se pak provede přesun hodnoty obrazovkové položky do příjmové položky. 4) Je-li v popisu obrazovkové položky uvedena klauzule SECURE, efekt klauzule JUSTIFIED zůstává stejný pouze s tím rozdílem, že se nijak neprojeví na obrazovce. 18.1.13. Klauzule LEFTLINE Klauzule není v MX COBOL implementována. 18.1.14. Klauzule LINE Klauzule určuje řádek obrazovky, na kterém začíná zobrazení dané položky provedené příkazem ACCEPT nebo DISPLAY. Formát: LINE [ NUMBER IS [{ PLUS | + | - }] {položka-1 | celé-číslo-1} ] Pravidla: 1) Klauzule může být uvedena v popisu libovolné elementární obrazovkové položky. 2) Položka-1 musí být numerická celočíselná položka s hodnotou větší než 0 a menší než 256, která nesmí být indexována. 3) Celé-číslo-1 musí být větší než 0 a menší než 256. 4) PLUS a '+' jsou synonyma. 5) Pokud klauzule neobsahuje část NUMBER, předpokládá se tvar LINE PLUS 1. 6) Pokud popis obrazovkové položky neobsahuje klauzuli LINE, předpokládá se aktuální číslo řádku. 7) Jestliže klauzule LINE obsahuje položku-1 nebo celé-číslo-1, ale neobsahuje PLUS, '+' nebo '-', pak klauzule určuje absolutní číslo řádku. LINE 1 je číslo řádku určené v klauzuli AT v příkazech ACCEPT nebo DISPLAY. Pokud klauzule AT není v příkazech uvedena, pak LINE 1 je první řádek na obrazovce. 8) Je-li v klauzuli LINE uvedeno PLUS, '+' nebo '-', pak číslo řádku je relativní vzhledem k tomu řádku, ve kterém předcházející obrazovková položka končí, bez ohledu na to, zda tato položka již byla zobrazena. Určení relativního řádku závisí tedy na délce aktuálního zobrazení předchozí položky v průběhu výpočtu. Tato délka se určuje z klauzulí PICTURE, VALUE a SIZE. Počítání čísel řádků začíná u položky s číslem úrovně 01 řádkem číslo 1. 9) Pokud popis obrazovkové položky neobsahuje klauzuli LINE ani klauzuli COLUMN a číslo úrovně položky není 01, předpokládá se COLUMN PLUS 1. Položka pak bezprostředně následuje za předchozí popsanou položkou. 10) Je-li číslo řádku určeno tak, že je mimo obrazovku, příkazy ACCEPT a DISPLAY jsou násilně ukončeny. 18.1.15. Klauzule OCCURS Klauzule umožňuje popsat opakované výskyty obrazovkové položky a poskytuje informace pro její indexování. Obecná pravidla použití klauzule OCCURS jsou uvedena v popisu této klauzule v kapitole 4 a jsou použitelná i v případě, je-li klauzule použita v popisu obrazovkové položky. Formát: OCCURS celé-číslo-1 TIMES Pravidla: 1) Klauzuli lze uvést pouze v popisu položky, která určuje vstupní, výstupní nebo opravné pole nebo v popisu skupinové položky. 2) Patří-li obrazovková položka do působnosti jistých klauzulí OCCURS, pak její příjmová položka musí patřit do působnosti analogických klauzulí OCCURS (tzn. že počet klauzulí OCCURS musí být stejný a musí si vzájemně odpovídat počty opakování). Tyto klauzule OCCURS nesmí obsahovat klauzuli DEPENDING. 3) Patří-li obrazovková položka do působnosti jistých klauzulí OCCURS, pak její vysílající položka musí buď patřit do působnosti analogických klauzulí OCCURS (tzn. že počet klauzulí OCCURS musí být stejný a musí si vzájemně odpovídat počty opakování) nebo nesmí patřit do působnosti žádné klauzule OCCURS. Tyto klauzule OCCURS nesmí obsahovat klauzuli DEPENDING. 4) Patří-li obrazovková položka do působnosti klauzule OCCURS, pak se její klauzule LINE a COLUMN aplikují na každý výskyt této položky. Klauzule by měly být uvedeny v relativním tvaru, protože pokud by určovaly absolutní pozici, pak se každý výskyt obrazovkové položky objeví na stejném místě určeném touto pozicí. 5) Určuje-li obrazovková položka výstupní pole, a jestliže její vysílající položka nepatří do působnosti žádné klauzule OCCURS, pak se v příkazu DISPLAY přesune obsah vysílající položky do každého výskytu obrazovkové položky. 6) Určuje-li obrazovková položka opravné nebo výstupní pole, jehož vysílající položka patří do působnosti některé klauzule OCCURS, pak se v příkazu DISPLAY přesunou obsahy jednotlivých výskytů vysílající položky do odpovídajících výskytů obrazovkové položky. 7) Určuje-li obrazovková položka opravné nebo vstupní pole, pak se v příkazu ACCEPT přesunou obsahy jednotlivých výskytů obrazovkové položky do odpovídajících výskytů příjmové položky. 18.1.16. Klauzule OVERLINE Klauzule není v MX COBOL implementována. 18.1.17. Klauzule PICTURE Klauzule PICTURE popisuje typ, délku a ediční úpravy obrazovkové položky. Její podklauzule FROM, USING a TO pak určují vysílající a příjmové položky pro zobrazení a vstup údajů v příkazech DISPLAY a ACCEPT. Obecná pravidla použití klauzule PICTURE jsou uvedena v popisu této klauzule v kapitole 4 a jsou použitelná i v případě, je-li klauzule použita v popisu obrazovkové položky. Formát: { PICTURE | PIC } IS řetězec { [FROM {položka-1 | literál-1}] [TO položka-2] | USING položka-3 } Pravidla: 1) Každá klauzule PICTURE musí obsahovat buď klauzule FROM a TO nebo klauzuli USING. Klauzule FROM určuje pro obrazovkovou položku její vysílající položku, klauzule TO určuje příjmovou položku a konečně klauzule USING určuje jak vysílající tak i příjmovou položku. 2) Klauzule USING je ekvivalentní klauzulím FROM a TO, ve kterých je uvedena stejná položka. 3) Klauzuli lze uvést pouze v popisu elementární obrazovkové položky. 4) Položka-1, položka-2 a položka-3 musí být definovány ve FILE, WORKING-STORAGE nebo LINKAGE sekci a mohou být indexovány, i když obrazovková položka sama nepatří do působnosti žádné klauzule OCCURS. 5) Klauzule PICTURE v popisu obrazovkové položky nemusí být stejná jako klauzule PICTURE v popisu vysílající nebo příjmové položky, ale musí být taková, aby bylo možné provést přesun mezi těmito položkami podle pravidel příkazu MOVE. 6) Příkaz DISPLAY provedený pro obrazovkovou položku, jejíž popis obsahuje klauzuli FROM nebo USING, přesune nejprve obsah vysílající položky do obrazovkové položky a pak ji zobrazí na obrazovce. 7) Příkaz ACCEPT provedený pro obrazovkovou položku, jejíž popis obsahuje klauzuli TO nebo USING, nejprve naplní vstupními daty sejmutými z klávesnice obrazovkovou položku a pak její obsah přesune do příjmové položky. 18.1.18. Klauzule PROMPT Klauzule zajistí naplnění prázdných pozic v obrazovkové položce tzv. prompt znakem během provádění příkazu ACCEPT. Formát: PROMPT [ CHARACTER IS {položka-1 | literál-1} ] Pravidla: 1) Klauzuli lze uvést pouze v popisu položky, která určuje vstupní nebo opravné pole nebo v popisu skupinové položky. 2) Je-li klauzule uvedena v popisu skupinové položky, promítne se její význam do všech podřízených elementárních položek. 3) Položka-1 musí být jednoznaková alfanumerická položka, literál-1 musí být jednoznakový nenumerický literál nebo figurativní konstanta. 4) Není-li uvedena část CHARACTER, pak je klauzule PROMPT považována za poznámku. 5) PROMPT klauzule určuje tzv. prompt znak, který se použije k označení prázdných pozic v obrazovkové položce. Podle typu obrazovkové položky se tímto znakem nahrazují pravostranné nebo levostranné mezery. 6) Obsahuje-li popis obrazovkové položky klauzuli SECURE, pak klauzule PROMPT nemá žádný význam. 7) Prompt znaky, které se při zobrazení položky v příkazu ACCEPT objeví na obrazovce, budou po sejmutí vstupních údajů nahrazeny mezerami. 18.1.19. Klauzule REQUIRED Klauzule není v MX COBOL implementována. 18.1.20. Klauzule REVERSE-VIDEO Klauzule zobrazí obrazovkovou položku reverzním způsobem tj. tak, že bude vzájemně zaměněna barva pozadí a popředí. Formát: REVERSE-VIDEO Pravidla: 1) Klauzuli lze uvést v popisu libovolné obrazovkové položky. 2) Je-li klauzule uvedena v popisu skupinové položky, promítne se její význam do všech podřízených elementárních položek. 18.1.21. Klauzule SECURE Klauzule potlačuje zobrazení obsahu obrazovkové položky. Formát: { SECURE | NO-ECHO } Pravidla: 1) Klauzuli lze uvést pouze v popisu položky, která určuje vstupní nebo opravné pole nebo v popisu skupinové položky. 2) Je-li klauzule uvedena v popisu skupinové položky, promítne se její význam do všech podřízených elementárních položek. 3) Je-li v popisu obrazovkové položky uvedena klauzule SECURE, pak se v rámci příkazu ACCEPT pro tuto položku nezobrazuje její počáteční obsah ani snímaná hodnota. Místo toho se zobrazí mezery a provádí se nastavení kurzoru. 18.1.22. Klauzule SIGN Klauzule není v MX COBOL implementována. 18.1.23. Klauzule SIZE Klauzule určuje aktuální délku pole, ve kterém se zobrazuje obsah obrazovkové položky. Formát: SIZE IS { položka-1 | celé-číslo-1 } Pravidla: 1) Klauzule může být uvedena v popisu libovolné elementární obrazovkové položky. 2) Položka-1 musí být numerická celočíselná položka bez znaménka, která nesmí být indexována, celé-číslo-1 musí být nezáporné. 3) Je-li položka-1 nebo celé-číslo-1 rovno 0, pak klauzule nemá žádný význam. 4) Je-li položka s klauzulí SIZE zobrazována příkazem DISPLAY, pak se její obsah zobrazí v délce dané položkou-1 nebo celým-číslem-1. Je-li zadaná délka menší než délka položky, zobrazí se pouze levá část položky v požadované délce, je-li zadaná délka větší než délka položky, bude zobrazená hodnota zprava doplněna mezerami. 5) Klauzule nemá žádný vliv na zobrazení hodnoty položky v příkazu ACCEPT, ve kterém se zadaná délka bere v úvahu pouze pro eventuální umístění dalších položek na obrazovce. Vlastní snímání vstupních dat do položky probíhá v příkazu ACCEPT vždy podle skutečné délky položky. 18.1.24. Klauzule UNDERLINE Klauzule není v MX COBOL implementována. 18.1.25. Klauzule VALUE Klauzule určuje konstantní obsah obrazovkové položky pro zobrazení. Formát: VALUE IS literál-1 Pravidla: 1) Klauzuli lze uvést pouze v popisu elementární obrazovkové položky, která nemá klauzuli PICTURE. 2) Literál-1 musí být pouze alfanumerický. 18.1.26. Klauzule ZERO-FILL Klauzule není v MX COBOL implementována.